contract.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import json
  2. class Contract(object):
  3. class Term:
  4. def __init__(self):
  5. self.id = None
  6. self.title = None
  7. self.description = None
  8. self.deadline = None
  9. def set_term(self, title: str, desc: str, deadline: int):
  10. self.title = title
  11. self.description = desc
  12. self.deadline = deadline
  13. self.log(f'Set: {self.title}')
  14. def serialize(self):
  15. obj = {
  16. 'id': self.id,
  17. 'title': self.title,
  18. 'description': self.description,
  19. 'deadline': self.deadline
  20. }
  21. self.log('Serialized')
  22. return obj
  23. def log(self, text):
  24. print(f'[ TERM ] {text}')
  25. def __init__(self):
  26. self.id = None
  27. self.client = None
  28. self.contractor = None
  29. self.deadline = None
  30. self.description = None
  31. self.title = None
  32. self.price = None
  33. self.people = None
  34. self.initiator = None
  35. self.terms = []
  36. def add_term(self, term: Term):
  37. self.log(f'Term added: {term.id} | {term.title}')
  38. self.terms.append(term)
  39. def serialize(self):
  40. # TODO: Add all properties
  41. term_serialize = []
  42. for term in self.terms:
  43. term_serialize.append(term.serialize())
  44. obj = {
  45. 'id': self.id,
  46. 'terms': term_serialize
  47. }
  48. self.log(f'Serialized: {len(term_serialize)} terms')
  49. return obj
  50. def log(self, text):
  51. print(f'[ CONTR ] {text}')