from peewee import SqliteDatabase, OperationalError __all__ = [ 'BaseDatabase', ] class BaseDatabase: """The base database class to be used with Peewee. """ def __init__(self): self.path = None self.db = SqliteDatabase(None) def initialize(self, path): self.path = path self.db.init(path) self._post_initialization() def _post_initialization(self): from papergit.models import PaperDoc, PaperFolder, Sync try: self.db.create_tables([PaperDoc, PaperFolder, Sync]) except OperationalError as e: if "already exists" in str(e): return raise