diff options
Diffstat (limited to 'storage')
-rw-r--r-- | storage/sqlite.py | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/storage/sqlite.py b/storage/sqlite.py index 09e55fc..bfdae42 100644 --- a/storage/sqlite.py +++ b/storage/sqlite.py @@ -6,7 +6,7 @@ from item import item from pysqlite2 import dbapi2 as sqliteBackend class sqlite(storageBase): - dbVersion = '0.2' + dbVersion = '0.3' def __init__(self): self.con = sqliteBackend.connect(self.getConfigDir() + '/data.sqlite') @@ -48,14 +48,20 @@ class sqlite(storageBase): self.con.commit() def update_db(self, updateFrom): - print 'updating todo table...' - if updateFrom == '0.1': + print 'updating todo table from %s...' % updateFrom + if updateFrom == ('0.1',): self.cur.execute('''alter table todo add desc BLOB''') self.con.commit() - updateFrom = '0.2' + updateFrom = ('0.2',) - self.cur.execute("update control set value = ? where setting = 'db-version'", (sqlite.dbVersion,)) + if updateFrom == ('0.2',): + self.cur.execute('''alter table todo + add completed INTEGER(1) DEFAULT (0)''') + self.con.commit() + updateFrom = ('0.3',) + + self.cur.execute("update control set value = ? where setting = 'db-version'", updateFrom) self.con.commit() def __del__(self): @@ -65,17 +71,17 @@ class sqlite(storageBase): items = itemList(self) todos = self.cur.execute('select * from todo').fetchall() for todo in todos: - items += item(row=todo) + items += item(row=list(todo)) return items def notifyChange(self, sender): if sender.getId() >= 0: - self.cur.execute('update todo set title=?, createdAt=?, priority=?, desc=? where id=?', - (sender.getTitle(), sender.getCreatedAt(), sender.getPriority(), sender.getId(), sender.getDescription())) + self.cur.execute('update todo set title=?, createdAt=?, priority=?, desc=?, completed=? where id=?', + (sender.getTitle(), sender.getCreatedAt(), sender.getPriority(), sender.getDescription(), sender.getCompleted(), sender.getId())) self.con.commit() else: - self.cur.execute('insert into todo (title, createdAt, priority, desc) VALUES (?, ?, ?, ?)', - (sender.getTitle(), sender.getCreatedAt(), sender.getPriority(), sender.getDescription())) + self.cur.execute('insert into todo (title, createdAt, priority, desc, completed) VALUES (?, ?, ?, ?, ?)', + (sender.getTitle(), sender.getCreatedAt(), sender.getPriority(), sender.getDescription(), sender.getCompleted())) self.con.commit() sender.setId(self.cur.execute('select last_insert_rowid()').fetchone()[0]) |