class PDO(Tweak("Database")): def __init__(self): self.PROVIDER = Parameter() self.LOCATION = Parameter() self.USER = Parameter() self.PASSWD = Parameter() self.CONNECT_WITH = Parameter() self.tweak() self.models = [] self.builder = Builder() self.connection = None self.preload() def connect(self): _args = [] for arg in self.CONNECT_WITH: try: _args.append(getattr(self, arg)) except AttributeError as err: raise err print(_args) self.connection = self.PROVIDER.connect(*_args) if self.connection: print("connected") def regiserModel(self, model): model.PDO = self self.models.append(model) def preload(self): QueryCreate.builder = self.builder.create(Names.Create.definition) QueryInsert.builder = self.builder.create(Names.Insert.definition) QuerySelect.builder = self.builder.create(Names.Select.definition) QueryUpdate.builder = self.builder.create(Names.Update.definition) QueryDelete.builder = self.builder.create(Names.Delete.definition) Expression.builder = self.builder.create(Names.Expression.definition) def gosql(self, function): if self.connection: return self.connection.execute(function()) else: raise Exception("No connection") def execute(self, query): if self.connection: return self.connection.execute(query) else: raise Exception("No connection")
class ORM(): def __init__(self, pdo, config): self.builder = Builder() self.models = [] self.pdo = pdo self.preload() def regiserModel(self, model): model.PDO = self.pdo self.models.append(model) def preload(self): QueryCreate.builder = self.builder.create(Names.Create.definition) QueryInsert.builder = self.builder.create(Names.Insert.definition) QuerySelect.builder = self.builder.create(Names.Select.definition) QueryUpdate.builder = self.builder.create(Names.Update.definition) QueryDelete.builder = self.builder.create(Names.Delete.definition) Expression.builder = self.builder.create(Names.Expression.definition)