Add default config for group_by policies

This commit is contained in:
Orsiris de Jong 2024-11-07 20:16:53 +01:00
parent 9c37240f25
commit b42c037fb2
3 changed files with 16 additions and 14 deletions

View file

@ -78,7 +78,11 @@ def g(self, path, sep=".", default=None, list_ok=False):
Getter for dot notation in an a dict/OrderedDict
print(d.g('my.array.keys'))
"""
return self.mlget(path.split(sep), default=default, list_ok=list_ok)
try:
return self.mlget(path.split(sep), default=default, list_ok=list_ok)
except AssertionError as exc:
logger.debug(f"ERROR {exc} for path={path},sep={sep},default={default},list_ok={list_ok}")
raise AssertionError
def s(self, path, value, sep="."):
@ -203,11 +207,9 @@ empty_config_dict = {
"yearly": 3,
"tags": [],
"keep_within": True,
"group_by": {
"host": True,
"tags": True,
"paths": False
},
"group_by_host": True,
"group_by_tags": True,
"group_by_paths": False,
"ntp_server": None,
},
# "prune_max_unused": None, # TODO

View file

@ -1448,7 +1448,7 @@ class NPBackupRunner:
# Convert group by to list
group_by = []
for entry in ["host", "paths", "tags"]:
if self.repo_config.g(f"repo_opts.retention_policy.group_by.{entry}"):
if self.repo_config.g(f"repo_opts.retention_policy.group_by_{entry}"):
group_by.append(entry)
self.write_logs(

View file

@ -7,7 +7,7 @@ __intname__ = "npbackup.gui.config"
__author__ = "Orsiris de Jong"
__copyright__ = "Copyright (C) 2022-2024 NetInvent"
__license__ = "GPL-3.0-only"
__build__ = "2024072301"
__build__ = "2024110701"
from typing import List, Tuple
@ -1525,33 +1525,33 @@ def config_gui(full_config: dict, config_file: str):
[
sg.Image(
NON_INHERITED_ICON,
key="inherited.repo_opts.retention_policy.group_by.host",
key="inherited.repo_opts.retention_policy.group_by_host",
tooltip=_t("config_gui.group_inherited"),
pad=1,
),
sg.Checkbox(
_t("config_gui.group_by_host"),
key="repo_opts.retention_policy.group_by.host"
key="repo_opts.retention_policy.group_by_host"
),
sg.Image(
NON_INHERITED_ICON,
key="inherited.repo_opts.retention_policy.group_by.paths",
key="inherited.repo_opts.retention_policy.group_by_paths",
tooltip=_t("config_gui.group_inherited"),
pad=1,
),
sg.Checkbox(
_t("config_gui.group_by_paths"),
key="repo_opts.retention_policy.group_by.paths"
key="repo_opts.retention_policy.group_by_paths"
),
sg.Image(
NON_INHERITED_ICON,
key="inherited.repo_opts.retention_policy.group_by.tags",
key="inherited.repo_opts.retention_policy.group_by_tags",
tooltip=_t("config_gui.group_inherited"),
pad=1,
),
sg.Checkbox(
_t("config_gui.group_by_tags"),
key="repo_opts.retention_policy.group_by.tags"
key="repo_opts.retention_policy.group_by_tags"
),
],
[