# -*- coding: utf-8 -*- class item: readOnly = ['id'] def __init__(self, title=None, created=None, priority=None, description=None, completed=None, row=None): if title != None: self.__dict__['id'] = -1 self.title = title self.created = created self.priority = priority self.description = description self.completed = completed else: id = row[0] row.__delitem__(0) apply(self.__init__, row) self.__dict__['id'] = id def setId(self, id): if self.id == -1: self.__dict__['id'] = id def getId(self): return self.id def getTitle(self): return self.title def getCreatedAt(self): return self.created def getPriority(self): return self.priority def getDescription(self): return self.description def getCompleted(self): return self.completed def __setattr__(self, name, value): if name not in item.readOnly: if name not in self.__dict__ or self.__dict__[name] != value: self.__dict__[name] = value if 'observer' in self.__dict__: self.observer.notifyChange(self)