1. ╰─ cat slavicdb/models/violation.py
  2. from peewee import FixedCharField, CharField
  3. from playhouse.apsw_ext import DateTimeField
  4. from slavicdb.models.common import Model
  5.  
  6. class Violation(Model): # pylint: disable=too-few-public-methods
  7. src = FixedCharField(18)
  8. dst = FixedCharField(18)
  9. service = CharField(255)
  10. kpi = CharField(255)
  11. start = DateTimeField()
  12. end = DateTimeField(null=True)
  13.  
  14. def __eq__(self, other):
  15. if self.src == other.src and self.dst == other.dst and self.service == other.service and self.kpi == other.kpi:
  16. return True
  17. return False
  18.  
  19. def __ne__(self, other):
  20. return not self.__eq__(other)
  21.  
  22. def type(self):
  23. return "/".join([self.service, self.kpi])