|
|
b838e2 |
|
|
|
e146e6 |
|
|
|
b838e2 |
class ModelBase:
|
|
|
b838e2 |
def __init__(self, model):
|
|
|
b838e2 |
self.model = model
|
|
|
b838e2 |
self.server = self.model.server
|
|
|
b838e2 |
self.connection = self.model.connection
|
|
|
b838e2 |
self.rights = self.model.internal_rights
|
|
|
b838e2 |
self.translator = self.model.translator
|
|
|
b838e2 |
|
|
|
b838e2 |
def translate(self, text):
|
|
|
b838e2 |
return self.translator.translate(text)
|
|
|
b838e2 |
def t(self, text):
|
|
|
b838e2 |
return self.translate(text)
|
|
|
e146e6 |
|
|
|
e146e6 |
|
|
|
e146e6 |
class ModelItemBase(ModelBase):
|
|
|
e146e6 |
def __init__(self, manager, row):
|
|
|
e146e6 |
self.manager = manager
|
|
|
e146e6 |
super().__init__(self.manager.model)
|
|
|
e146e6 |
assert(self.manager.itemtype() == type(self))
|
|
|
e146e6 |
|
|
|
e146e6 |
self.id = int(row['id'])
|
|
|
e146e6 |
assert(self.id)
|
|
|
e146e6 |
|
|
|
e146e6 |
def reset_cache(self):
|
|
|
e146e6 |
self.manager.cache.reset_row(self.table(), self.id)
|
|
|
e146e6 |
|
|
|
e146e6 |
def table(self):
|
|
|
e146e6 |
return self.manager.table()
|
|
|
e146e6 |
|
|
|
e146e6 |
|
|
|
e146e6 |
class ModelManagerBase(ModelBase):
|
|
|
e146e6 |
def __init__(self, model):
|
|
|
e146e6 |
super().__init__(model)
|
|
|
e146e6 |
|
|
|
e146e6 |
def table(self):
|
|
|
e146e6 |
raise Exception()
|
|
|
e146e6 |
|
|
|
e146e6 |
def itemtype(self):
|
|
|
e146e6 |
raise Exception()
|
|
|
e146e6 |
|
|
|
e146e6 |
def item(self, *args, **kvargs):
|
|
|
e146e6 |
raise self.itemtype()(self, *args, **kvargs)
|
|
|
e146e6 |
|
|
|
e146e6 |
def reset_cache(self, id):
|
|
|
e146e6 |
self.connection.cache.reset_row(self.table(), id)
|