Fixup dedup_files and add some help/usage methods to config.
[pyutils.git] / src / pyutils / config.py
index 6dd10e4355ff6413d5ba0f0fdbab305a2faa6f2e..04e1498ac112e3b77a744ffdb188bcde239eaa66 100644 (file)
@@ -341,18 +341,31 @@ class Config:
         return False
 
     @staticmethod
-    def print_usage() -> None:
-        """Prints the normal help usage message out."""
-        ARGS.print_help()
+    def usage() -> str:
+        """
+        Returns:
+            full program usage help text as a string.
+        """
+        return ARGS.format_help()
 
     @staticmethod
-    def usage() -> str:
+    def short_usage() -> str:
         """
         Returns:
-            program usage help text as a string.
+            program short usage text as a string.
         """
         return ARGS.format_usage()
 
+    @staticmethod
+    def print_usage() -> None:
+        """Prints the full help usage message out."""
+        print(config.usage())
+
+    @staticmethod
+    def print_short_usage() -> None:
+        """Prints a short usage/help message."""
+        print(config.short_usage())
+
     @staticmethod
     def _reorder_arg_action_groups_before_help(entry_module: Optional[str]):
         """Internal.  Used to reorder the arguments before dumping out a
@@ -410,7 +423,7 @@ class Config:
         """
         return in_str.lower() in {"true", "1", "yes", "y", "t", "on"}
 
-    def _process_dynamic_args(self, event):
+    def _process_dynamic_args(self, event) -> None:
         """Invoked as a callback when a zk-based config changed."""
 
         if not self.zk:
@@ -600,7 +613,7 @@ class Config:
         # when the user passes -h or --help, it will be visible on the
         # screen w/o scrolling.  This just makes for a nicer --help screen.
         for arg in sys.argv:
-            if arg in ("--help", "-h"):
+            if arg in {"--help", "-h"}:
                 if entry_module is not None:
                     entry_module = os.path.basename(entry_module)
                 ARGS._action_groups = Config._reorder_arg_action_groups_before_help(
@@ -763,9 +776,21 @@ def print_usage() -> None:
     Config.print_usage()
 
 
+def print_short_usage() -> None:
+    Config.print_short_usage()
+
+
 def usage() -> str:
     """
     Returns:
         program usage help text as a string.
     """
     return Config.usage()
+
+
+def short_usage() -> str:
+    """
+    Returns:
+        program short usage help text as a string.
+    """
+    return Config.short_usage()