summaryrefslogtreecommitdiff
path: root/lib/python
diff options
context:
space:
mode:
authorErovia <erovia@users.noreply.github.com>2020-01-12 14:56:11 +0100
committerFlorian Didron <fdidron@users.noreply.github.com>2020-02-26 10:15:12 +0900
commit97038602f5868fc851322d1edb9822fe1b652f3f (patch)
treec6cced7b4a08d69c32d3a32b09fd117727c1961f /lib/python
parent6a5afb67fddc570d356c0650773dbbd5da763c59 (diff)
Fix attribute heritance for long commands.
This is needed for inheritance to work with commands that have dashes in their names.
Diffstat (limited to 'lib/python')
-rw-r--r--lib/python/milc.py11
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: