import json class Contract(object): class Term: def __init__(self): self.id = None self.title = None self.description = None self.deadline = None def set_term(self, title: str, desc: str, deadline: int): self.title = title self.description = desc self.deadline = deadline self.log(f'Set: {self.title}') def serialize(self): obj = { 'id': self.id, 'title': self.title, 'description': self.description, 'deadline': self.deadline } self.log('Serialized') return obj def log(self, text): print(f'[ TERM ] {text}') def __init__(self): self.id = None self.client = None self.contractor = None self.deadline = None self.description = None self.title = None self.price = None self.people = None self.initiator = None self.terms = [] def add_term(self, term: Term): self.log(f'Term added: {term.id} | {term.title}') self.terms.append(term) def serialize(self): # TODO: Add all properties term_serialize = [] for term in self.terms: term_serialize.append(term.serialize()) obj = { 'id': self.id, 'terms': term_serialize } self.log(f'Serialized: {len(term_serialize)} terms') return obj def log(self, text): print(f'[ CONTR ] {text}')