summaryrefslogtreecommitdiff
path: root/optik_ext.py
diff options
context:
space:
mode:
Diffstat (limited to 'optik_ext.py')
-rw-r--r--optik_ext.py8
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"):