Blame model/base.py

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)