diff options
-rw-r--r-- | optik_ext.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/optik_ext.py b/optik_ext.py index ffaf1ba..3c6dff9 100644 --- a/optik_ext.py +++ b/optik_ext.py @@ -29,7 +29,7 @@ try: # python >= 2.3 from optparse import OptionParser as BaseParser, Option as BaseOption, \ OptionGroup, OptionValueError, OptionError, Values, HelpFormatter, \ - NO_DEFAULT + NO_DEFAULT, SUPPRESS_HELP except ImportError: # python < 2.3 from optik import OptionParser as BaseParser, Option as BaseOption, \ @@ -153,6 +153,7 @@ class Option(BaseOption): """ TYPES = BaseOption.TYPES + ('regexp', 'csv', 'yn', 'named', 'password', 'multiple_choice', 'file', 'font', 'color') + ATTRS = BaseOption.ATTRS + ['hide'] TYPE_CHECKER = copy(BaseOption.TYPE_CHECKER) TYPE_CHECKER['regexp'] = check_regexp TYPE_CHECKER['csv'] = check_csv @@ -166,6 +167,11 @@ class Option(BaseOption): TYPES += ('date',) TYPE_CHECKER['date'] = check_date + def __init__(self, *opts, **attrs): + BaseOption.__init__(self, *opts, **attrs) + if hasattr(self, "hide") and self.hide: + self.help = SUPPRESS_HELP + def _check_choice(self): """FIXME: need to override this due to optik misdesign""" if self.type in ("choice", "multiple_choice"): |