import sqlite3 import os class Database: def __init__(self, args): filename = ":memory:" if args.db is None else args.db if not args.keep_db and os.path.exists(filename): os.remove(filename) self.new = not os.path.exists(filename) self.db = sqlite3.connect(filename) self.init("CREATE TABLE StepsDone ( step varchar(32) )") self.commit() def execute(self, *args, **kwargs): return self.db.execute(*args, **kwargs) def init(self, *args, **kwargs): # same as execute, only skipped if not a new database file if self.new: return self.execute(*args, **kwargs) def commit(self): self.db.commit()