Simplifies retention granularity ordering check

This commit is contained in:
Hugo Wallenburg 2026-06-06 23:55:00 +02:00
parent 304a2fa5b9
commit d9b35f2eeb
No known key found for this signature in database

View file

@ -309,12 +309,7 @@ class PruneMixIn:
f"useless since every archive matched by {hi_arg} would have already been matched by {lo_arg}."
)
prune_keys = {rule.key for rule in PRUNING_RULES}
interval_args = [
(arg, val)
for arg, val in keep_args.items()
if arg in prune_keys and (isinstance(val, timedelta) or val == -1)
]
interval_args = [(arg, val) for arg, val in keep_args.items() if isinstance(val, timedelta) or val == -1]
for (lo_arg, lo_val), (hi_arg, hi_val) in combinations(interval_args, 2):
if hi_val == -1:
# 'Infinity' is always bigger
@ -323,11 +318,7 @@ class PruneMixIn:
if lo_val == -1 or lo_val >= hi_val:
raise CommandError(lo_hi_mismatch_errmsg(lo_arg, lo_val, hi_arg, hi_val))
int_args = [
(arg, val)
for arg, val in keep_args.items()
if any((arg == r.key for r in PRUNING_RULES)) and isinstance(val, int)
]
int_args = [(arg, val) for arg, val in keep_args.items() if isinstance(val, int)]
for (lo_arg, lo_val), (hi_arg, hi_val) in combinations(int_args, 2):
if lo_val == -1:
raise CommandError(lo_hi_mismatch_errmsg(lo_arg, lo_val, hi_arg, hi_val))