180
180
self._short_name = short_name
182
assert argname is None
183
raise ValueError('argname not valid for booleans')
183
184
elif argname is None:
185
186
self.argname = argname
186
187
if param_name is None:
187
self._param_name = self.name
188
self._param_name = self.name.replace('-', '_')
189
190
self._param_name = param_name
190
191
self.custom_callback = custom_callback
209
210
option_strings.append('-%s' % short_name)
210
211
optargfn = self.type
211
212
if optargfn is None:
212
parser.add_option(action='callback',
213
callback=self._optparse_bool_callback,
213
parser.add_option(action='callback',
214
callback=self._optparse_bool_callback,
214
215
callback_args=(True,),
217
218
negation_strings = ['--%s' % self.get_negation_name()]
218
parser.add_option(action='callback',
219
callback=self._optparse_bool_callback,
219
parser.add_option(action='callback',
220
callback=self._optparse_bool_callback,
220
221
callback_args=(False,),
221
222
help=optparse.SUPPRESS_HELP, *negation_strings)
223
parser.add_option(action='callback',
224
callback=self._optparse_callback,
224
parser.add_option(action='callback',
225
callback=self._optparse_callback,
225
226
type='string', metavar=self.argname.upper(),
227
default=OptionParser.DEFAULT_VALUE,
228
default=OptionParser.DEFAULT_VALUE,
230
231
def _optparse_bool_callback(self, option, opt_str, value, parser, bool_v):
359
360
for name, switch_help in kwargs.iteritems():
360
361
name = name.replace('_', '-')
361
362
reg.register(name, name, help=switch_help)
363
if not value_switches:
364
help = help + ' "' + name + '": ' + switch_help
365
if not help.endswith("."):
362
367
return RegistryOption(name_, help, reg, title=title,
363
368
value_switches=value_switches, enum_switch=enum_switch)