~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/option.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2007-10-25 08:29:08 UTC
  • mfrom: (2940.1.2 ianc-integration)
  • Revision ID: pqm@pqm.ubuntu.com-20071025082908-abn3kunrb2ivdvth
renaming of experimental pack formats to include knitpack in their name (Ian Clatworthy)

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
# TODO: For things like --diff-prefix, we want a way to customize the display
18
18
# of the option argument.
19
19
 
20
 
import optparse
21
20
import re
22
21
 
23
22
from bzrlib.lazy_import import lazy_import
24
23
lazy_import(globals(), """
 
24
import optparse
 
25
 
25
26
from bzrlib import (
26
27
    errors,
 
28
    log,
 
29
    registry,
27
30
    revisionspec,
 
31
    symbol_versioning,
28
32
    )
29
33
""")
 
34
from bzrlib.trace import warning
30
35
 
31
 
from bzrlib import (
32
 
    log,
33
 
    registry,
34
 
    )
35
36
 
36
37
def _parse_revision_str(revstr):
37
38
    """This handles a revision string -> revno.
179
180
        self.type = type
180
181
        self._short_name = short_name
181
182
        if type is None:
182
 
            if argname:
183
 
                raise ValueError('argname not valid for booleans')
 
183
            assert argname is None
184
184
        elif argname is None:
185
185
            argname = 'ARG'
186
186
        self.argname = argname
187
187
        if param_name is None:
188
 
            self._param_name = self.name.replace('-', '_')
 
188
            self._param_name = self.name
189
189
        else:
190
190
            self._param_name = param_name
191
191
        self.custom_callback = custom_callback
210
210
            option_strings.append('-%s' % short_name)
211
211
        optargfn = self.type
212
212
        if optargfn is None:
213
 
            parser.add_option(action='callback',
214
 
                              callback=self._optparse_bool_callback,
 
213
            parser.add_option(action='callback', 
 
214
                              callback=self._optparse_bool_callback, 
215
215
                              callback_args=(True,),
216
216
                              help=self.help,
217
217
                              *option_strings)
218
218
            negation_strings = ['--%s' % self.get_negation_name()]
219
 
            parser.add_option(action='callback',
220
 
                              callback=self._optparse_bool_callback,
 
219
            parser.add_option(action='callback', 
 
220
                              callback=self._optparse_bool_callback, 
221
221
                              callback_args=(False,),
222
222
                              help=optparse.SUPPRESS_HELP, *negation_strings)
223
223
        else:
224
 
            parser.add_option(action='callback',
225
 
                              callback=self._optparse_callback,
 
224
            parser.add_option(action='callback', 
 
225
                              callback=self._optparse_callback, 
226
226
                              type='string', metavar=self.argname.upper(),
227
227
                              help=self.help,
228
 
                              default=OptionParser.DEFAULT_VALUE,
 
228
                              default=OptionParser.DEFAULT_VALUE, 
229
229
                              *option_strings)
230
230
 
231
231
    def _optparse_bool_callback(self, option, opt_str, value, parser, bool_v):
345
345
        for name, switch_help in kwargs.iteritems():
346
346
            name = name.replace('_', '-')
347
347
            reg.register(name, name, help=switch_help)
348
 
            if not value_switches:
349
 
                help = help + '  "' + name + '": ' + switch_help
350
 
                if not help.endswith("."):
351
 
                    help = help + "."
352
348
        return RegistryOption(name_, help, reg, title=title,
353
349
            value_switches=value_switches, enum_switch=enum_switch)
354
350
 
478
474
                                   "Merge using external diff3")
479
475
_merge_type_registry.register_lazy('weave', 'bzrlib.merge', 'WeaveMerger',
480
476
                                   "Weave-based merge")
481
 
_merge_type_registry.register_lazy('lca', 'bzrlib.merge', 'LCAMerger',
482
 
                                   "LCA-newness merge")
483
477
 
484
478
# Declare the standard options
485
479
_standard_option('help', short_name='h',