def _load_rulesets_recursively( self, folder: CREFolder, only_varname: Optional[RulesetName] = None ) -> None: for subfolder in folder.subfolders(): self._load_rulesets_recursively(subfolder, only_varname) self._load_folder_rulesets(folder, only_varname)
def dump_structure(wato_folder: hosts_and_folders.CREFolder, indent=0): indent_space = " " * indent * 6 sys.stdout.write( f"{indent_space + '->' + str(wato_folder):80} {wato_folder.path()}\n" ) sys.stdout.write("\n".join( f"{indent_space} {x}" for x in pprint.pformat(wato_folder.attributes()).split("\n")) + "\n") for subfolder in wato_folder.subfolders(): dump_structure(subfolder, indent + 1)
def _find_usages_of_contact_group_in_hosts_and_folders( name: GroupName, folder: CREFolder ) -> List[Tuple[str, str]]: used_in = [] for subfolder in folder.subfolders(): used_in += _find_usages_of_contact_group_in_hosts_and_folders(name, subfolder) attributes = folder.attributes() if name in attributes.get("contactgroups", {}).get("groups", []): used_in.append((_("Folder: %s") % folder.alias_path(), folder.edit_url())) for host in folder.hosts().values(): attributes = host.attributes() if name in attributes.get("contactgroups", {}).get("groups", []): used_in.append((_("Host: %s") % host.name(), host.edit_url())) return used_in
def _save_rulesets_recursively(self, folder: CREFolder) -> None: for subfolder in folder.subfolders(): self._save_rulesets_recursively(subfolder) self._save_folder(folder)