template.py 816 B

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