diff options
author | Erovia <erovia@users.noreply.github.com> | 2020-01-12 14:56:11 +0100 |
---|---|---|
committer | Florian Didron <fdidron@users.noreply.github.com> | 2020-02-26 10:15:12 +0900 |
commit | 97038602f5868fc851322d1edb9822fe1b652f3f (patch) | |
tree | c6cced7b4a08d69c32d3a32b09fd117727c1961f | |
parent | 6a5afb67fddc570d356c0650773dbbd5da763c59 (diff) |
Fix attribute heritance for long commands.
This is needed for inheritance to work with commands that have dashes in
their names.
-rw-r--r-- | lib/python/milc.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/python/milc.py b/lib/python/milc.py index bc08a87b6d..36072ca764 100644 --- a/lib/python/milc.py +++ b/lib/python/milc.py @@ -511,7 +511,10 @@ class MILC(object): if argument not in self.arg_only: # Find the argument's section - if self._entrypoint.__name__ in self.default_arguments and argument in self.default_arguments[self._entrypoint.__name__]: + # Underscores in command's names are converted to dashes during initialization. + # TODO(Erovia) Find a better solution + entrypoint_name = self._entrypoint.__name__.replace("_", "-") + if entrypoint_name in self.default_arguments and argument in self.default_arguments[entrypoint_name]: argument_found = True section = self._entrypoint.__name__ if argument in self.default_arguments['general']: @@ -523,12 +526,12 @@ class MILC(object): exit(1) # Merge this argument into self.config - if argument in self.default_arguments[section]: + if argument in self.default_arguments['general'] or argument in self.default_arguments[entrypoint_name]: arg_value = getattr(self.args, argument) - if arg_value: + if arg_value is not None: self.config[section][argument] = arg_value else: - if argument not in self.config[section]: + if argument not in self.config[entrypoint_name]: # Check if the argument exist for this section arg = getattr(self.args, argument) if arg is not None: |