self.conn.execute("""INSERT INTO field values((SELECT max(id)
FROM field)+1, ?)""", (fname,))
+ def get_field_id_by_name(self, fname):
+ """Returns field id by it name."""
+
+ return self.conn.execute("""SELECT id FROM field WHERE name=?""", \
+ (fname,)).fetchone()[0]
+
+ def get_field_name_by_id(self, _id):
+ """Returns field id by it name."""
+
+ return self.conn.execute("""SELECT name FROM field WHERE id=?""", \
+ (_id,)).fetchone()[0]
+
+ def get_entry_by_id(self, _id):
+ """Returns full entry by it id."""
+
+ sql_res = self.conn.execute("""SELECT id_field, value FROM data
+ WHERE id=?""", (_id,)).fetchall()
+ return dict([(self.get_field_name_by_id(field_id), value) for field_id, \
+ value in sql_res])
+
+ def get_all_entries(self):
+ """Returns list of all entries."""
+
+ ids = set([item[0] for item in self.conn.execute( \
+ """SELECT id FROM data""").fetchall()])
+ return [self.get_entry_by_id(_id) for _id in ids]
+
+
+
if __name__ == "__main__":
- db = SQLite('/tmp/')
- db.update_field('test')
+ db = SQLite('/home/plastun/meabook')
+ #db.update_field('test')
+ #print db.get_field_id_by_name('fax')
+ #print db.get_entry_by_id(1)
+ print db.get_all_entries()
db.close()