From 4054d3417e917c458d36dfc550fdee8cbbe3db67 Mon Sep 17 00:00:00 2001 From: Moritz Date: Tue, 22 Oct 2024 17:24:20 +0200 Subject: [PATCH] fix backup label parsing --- backupbot.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/backupbot.py b/backupbot.py index 801526a..f2cc9f1 100755 --- a/backupbot.py +++ b/backupbot.py @@ -188,6 +188,10 @@ def app_versions_from_tags(tags): else: return {} +def str2bool(value: str) -> bool: + return value.lower() in ("yes", "true", "t", "1") + + def parse_backup_labels(hook_type='backup', selected_container=[]): client = docker.from_env() container_by_service = { @@ -201,7 +205,7 @@ def parse_backup_labels(hook_type='backup', selected_container=[]): container_name = s.name.removeprefix(f"{stack_name}_") version = labels.get(f'coop-cloud.{stack_name}.version') settings = app_settings[stack_name] = app_settings.get(stack_name) or {} - if (backup := labels.get('backupbot.backup')) and bool(backup): + if (backup := labels.get('backupbot.backup')) and str2bool(backup): settings['enabled'] = True if version: settings['version'] = version @@ -302,7 +306,7 @@ def parse_excludes_includes(labels): if label.endswith('path'): relative_paths = tuple(value.split(',')) included_volume_paths.add((volume_name, relative_paths)) - elif bool(value): + elif not str2bool(value): excluded_volumes.add(volume_name) return excluded_volumes, included_volume_paths