Allowances for getting sphinx docs set up.
authorScott Gasch <[email protected]>
Sat, 28 May 2022 19:58:51 +0000 (12:58 -0700)
committerScott Gasch <[email protected]>
Sat, 28 May 2022 19:58:51 +0000 (12:58 -0700)
argparse_utils.py
config.py

index 83a3aa47be1cd4f632c8960beeb4aefb0d4fc840..6055f1ac0334f15286ee2d5884863e42b5eb7746 100644 (file)
@@ -33,6 +33,8 @@ class ActionNoYes(argparse.Action):
         --enable_the_thing
         --no_enable_the_thing
 
+    These arguments can be used to indicate the inclusion or exclusion of
+    binary exclusive behaviors.
     """
 
     def __init__(self, option_strings, dest, default=None, required=False, help=None):
index bea701837c520ca86d584f9b48cead98ab06e838..599026c8f95ec4379c22261ed025c9f9a7b5e063 100644 (file)
--- a/config.py
+++ b/config.py
@@ -106,6 +106,11 @@ ARGS = argparse.ArgumentParser(
     formatter_class=OptionalRawFormatter,
     fromfile_prefix_chars="@",
     epilog=f'{PROGRAM_NAME} uses config.py ({__file__}) for global, cross-module configuration setup and parsing.',
+    # I don't fully understand why but when loaded by sphinx sometimes
+    # the same module is loaded many times causing any arguments it
+    # registers via module-level code to be redefined.  Work around
+    # this iff the program is 'sphinx-build'
+    conflict_handler='resolve' if PROGRAM_NAME == 'sphinx-build' else 'error',
 )
 
 # Keep track of if we've been called and prevent being called more