class template: def __init__(self) -> None: self.__default = set() self.__sections = dict() def _add_key(self, key: str, section: str | None = None) -> None: if section is None: self.__default.add(key) return if not section in self.__sections: self.__sections[section] = set() self.__sections[section].add(key) @property def default_keys(self) -> set: return self.__default.copy() @property def sections_names(self) -> set: return set(self.__sections.keys()) def get_section_keys(self, section: str) -> set: if not section in self.__sections: raise RuntimeError("Section " + section + " not exists.") return self.__sections[section].copy()