БИЛАЕВ ДЕНИС БОРИСОВИЧ: Готовая версия модуля постановления. Программист ЕРШОВ АНДРЕЙ.
```python
import json
from datetime import datetime
from typing import List, Dict
class Signature:
def __init__(self, prosecutor_signature: str, seal: str):
self.prosecutor_signature = prosecutor_signature
self.seal = seal
def to_dict(self) -> Dict:
return { "prosecutor_signature": self.prosecutor_signature, "seal": self.seal }
class Accused:
def __init__(self, last_name: str, full_name: str):
self.last_name = last_name
self.full_name = full_name
def to_dict(self) -> Dict:
return { "last_name": self.last_name, "full_name": self.full_name }
class Article:
def __init__(self, name: str, number: str):
self.name = name
self.number = number
def to_dict(self) -> Dict:
return { "name":
self.name, "number": self.number }
class Evidence:
def __init__(self, type_of_evidence: str): self.type_of_evidence = type_of_evidence
def to_dict(self) -> Dict:
return { "type_of_evidence": self.type_of_evidence }
class Investigation:
def __init__(self, investigator: str, term: str, restraint: str):
self.investigator = investigator
self.term = term
self.restraint = restraint
def to_dict(self) -> Dict:
return { "investigator": self.investigator, "term": self.term, "restraint": self.restraint }
class Control:
def __init__(self, responsible_person: str):
self.responsible_person = responsible_person
def to_dict(self) -> Dict:
return { "responsible_person": self.responsible_person }
class Decree:
def __init__(self, prosecutor: str):
self.prosecutor = prosecutor
self.accused_list: List[Accused] = []
self.articles: List[Article] = []
self.evidence_list: List[Evidence] = []
self.investigation: Investigation = None
self.control: Control = None
self.date: datetime = None
self.signature: Signature = None
def add_accused(self, accused: Accused):
self.accused_list.append(accused)
def add_article(self, article: Article):
self.articles.append(article)
def add_evidence(self, evidence: Evidence):
self.evidence_list.append(evidence)
def set_investigation(self, investigation: Investigation):
self.investigation = investigation
def set_control(self, control: Control):
self.control = control
def set_date(self, date: datetime):
self.date = date
def set_signature(self, signature: Signature):
self.signature = signature
def display_decree(self):
print(f"ПОСТАНОВЛЕНИЕ о возбуждении уголовного дела\n" f"Прокурор: {self.prosecutor}\n\n" f"Обвиняемые:\n") for accused in self.accused_list: print(f"- {accused.last_name} {accused.full_name}")
print("\nСтатьи УК РФ:\n")
for article in self.articles:
print(f"- {article.name} (ст. {article.number})")
print("\nОснования для возбуждения дела:\n")
for evidence in self.evidence_list:
print(f"- {evidence.type_of_evidence}")
print(f"\nРасследование:\n" f"Следователь: {self.investigation.investigator}\n" f"Срок: {self.investigation.term}\n" f"Мера пресечения: {self.investigation.restraint}\n\n"
Нет комментариев