summaryrefslogtreecommitdiff
path: root/configuration.py
diff options
context:
space:
mode:
authorFabrice Douchant <Fabrice.Douchant@logilab.fr>2008-10-29 10:41:22 +0100
committerFabrice Douchant <Fabrice.Douchant@logilab.fr>2008-10-29 10:41:22 +0100
commitadf3c9846945356098aaa05f893308f5e691a879 (patch)
treeae1e16109f87f9f021424dbfde6a9a53f2e921f2 /configuration.py
parentb1d1d51d55f9a42c19f370a40ef07cea7737c197 (diff)
downloadlogilab-common-adf3c9846945356098aaa05f893308f5e691a879.tar.gz
[#2446] changing yn option in common.configuration : does not take y/n value anymore in sys.args.
Diffstat (limited to 'configuration.py')
-rw-r--r--configuration.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/configuration.py b/configuration.py
index ac27166..6f9d9af 100644
--- a/configuration.py
+++ b/configuration.py
@@ -395,6 +395,13 @@ class OptionsManagerMixIn(object):
use with optik/optparse
"""
opt_dict = copy(opt_dict)
+ # if yn option then create right action depending of default value
+ if "type" in opt_dict and opt_dict['type'] == "yn":
+ if "default" in opt_dict and opt_dict['default']:
+ opt_dict['action'] = "store_false"
+ else:
+ opt_dict['action'] = "store_true"
+ del opt_dict['type']
if 'action' in opt_dict:
self._nocallback_options[provider] = opt_name
else: