Browse Source

2nd Draft

Gautam Aggarwal 2 months ago
parent
commit
7a766c717e
2 changed files with 15 additions and 13 deletions
  1. 10 10
      borgmatic/commands/borgmatic.py
  2. 5 3
      borgmatic/config/schema.yaml

+ 10 - 10
borgmatic/commands/borgmatic.py

@@ -943,19 +943,18 @@ def exit_with_help_link():  # pragma: no cover
     sys.exit(1)
 
 
-def check_and_show_help_on_no_args():
+def check_and_show_help_on_no_args(configs):
     """
     Check if the 'borgmatic' command is run without any arguments. If the configuration option
-    'show_help_on_no_args' is set to True, show the help message. Otherwise, trigger the
+    'default_actions' is set to False, show the help message. Otherwise, trigger the
     default backup behavior.
     """
     if len(sys.argv) == 1:  # No arguments provided
-        show_help_on_no_args = any(
-            config.get('show_help_on_no_args', False)
-            for config in load_configurations(tuple(collect.collect_config_filenames(None)))[0].values()
+        default_actions = any(
+            config.get('default_actions', True) for config in configs.values()
         )
-        if show_help_on_no_args:
-            print(parse_arguments('--help'))
+        if not default_actions:
+            parse_arguments('--help')
             sys.exit(0)
 
 
@@ -987,9 +986,6 @@ def main(extra_summary_logs=[]):  # pragma: no cover
         print(borgmatic.commands.completion.fish.fish_completion())
         sys.exit(0)
 
-    # Use the helper function to check and show help on no arguments
-    check_and_show_help_on_no_args()
-
     validate = bool('validate' in arguments)
     config_filenames = tuple(collect.collect_config_filenames(global_arguments.config_paths))
     configs, config_paths, parse_logs = load_configurations(
@@ -997,6 +993,10 @@ def main(extra_summary_logs=[]):  # pragma: no cover
         global_arguments.overrides,
         resolve_env=global_arguments.resolve_env and not validate,
     )
+
+    # Use the helper function to check and show help on no arguments, passing the preloaded configs
+    check_and_show_help_on_no_args(configs)
+
     configuration_parse_errors = (
         (max(log.levelno for log in parse_logs) >= logging.CRITICAL) if parse_logs else False
     )

+ 5 - 3
borgmatic/config/schema.yaml

@@ -2665,9 +2665,11 @@ properties:
                 example: /usr/local/bin/keepassxc-cli
         description: |
             Configuration for integration with the KeePassXC password manager.
-    show_help_on_no_args:
+    default_actions:
         type: boolean
         description: |
-            If true, running borgmatic without any arguments will display the
-            help message instead of triggering a backup. Defaults to false.
+            Whether to apply default actions (e.g., backup) when no arguments
+            are supplied to the borgmatic command. If set to true, borgmatic
+            will trigger the default actions. If set to false, borgmatic will
+            display the help message instead.
         example: true