template.py 943 B

12345678910111213141516171819202122232425262728293031323334
  1. class template:
  2. def __init__(self, typename: str) -> None:
  3. self.__default = set()
  4. self.__sections = dict()
  5. self.__typename = typename
  6. def _add_key(self, key: str, section: str | None = None) -> None:
  7. if section is None:
  8. self.__default.add(key)
  9. return
  10. if not section in self.__sections:
  11. self.__sections[section] = set()
  12. self.__sections[section].add(key)
  13. @property
  14. def default_keys(self) -> set:
  15. return self.__default.copy()
  16. @property
  17. def typename(self) -> str:
  18. return self.__typename
  19. @property
  20. def sections_names(self) -> set:
  21. return set(self.__sections.keys())
  22. def get_section_keys(self, section: str) -> set:
  23. if not section in self.__sections:
  24. raise RuntimeError("Section " + section + " not exists.")
  25. return self.__sections[section].copy()