1
1

abstract_reference.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import uuid
  2. from abc import ABC
  3. from error_proxy import error_proxy
  4. class abstract_reference(ABC):
  5. __id: uuid.UUID
  6. __name:str = ""
  7. __error: error_proxy = error_proxy()
  8. def __init__(self, name: str = None) -> None:
  9. self.name = name
  10. self.__id = uuid.uuid4()
  11. @property
  12. def error(self):
  13. """
  14. Работа с ошибками
  15. Returns:
  16. _type_: _description_
  17. """
  18. return self.__error
  19. @property
  20. def id(self):
  21. """
  22. Уникальный код
  23. Returns:
  24. _type_: _description_
  25. """
  26. return self.__id
  27. @property
  28. def name(self):
  29. """
  30. Наименование
  31. Returns:
  32. _type_: _description_
  33. """
  34. return self.__name.strip()
  35. @name.setter
  36. def name(self, value: str):
  37. if not isinstance(value, str):
  38. raise Exception("Неверный аргумент!")
  39. if value == "":
  40. raise Exception("Некорректное значение наименование!")
  41. self.__name = value.strip()