import sqlite3 import os from datetime import datetime class DataStore: def __init__(self, dbfile): if not os.path.exists(dbfile): self.createdb(dbfile) self.conn = sqlite3.connect(dbfile) def __del__(self): self.conn.close() def createdb(self, dbfile): conn = sqlite3.connect(dbfile) c = conn.cursor() c.execute(''' CREATE TABLE projects ( id INTEGER PRIMARY KEY, name TEXT )''') c.execute(''' CREATE TABLE tasks ( id INTEGER PRIMARY KEY, projectid INTEGER, name TEXT, UNIQUE (projectid, name), FOREIGN KEY (projectid) REFERENCES projects(id) )''') c.execute(''' CREATE TABLE hours ( date TEXT, taskid INTEGER, seconds INTEGER, PRIMARY KEY (date, taskid), FOREIGN KEY (taskid) REFERENCES tasks(id) )''') conn.commit() c.close() conn.close()