~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-08-10 03:29:51 UTC
  • mfrom: (2690.1.1 ianc-integration)
  • Revision ID: pqm@pqm.ubuntu.com-20070810032951-lfyztl72xe81b2uo
(Ian Clatworthy) Registration survey added to README

Show diffs side-by-side

added added

removed removed

Lines of Context:
86
86
    [<RevisionSpec_branch branch:../../branch2>]
87
87
    >>> _parse_revision_str('branch:../../branch2..23')
88
88
    [<RevisionSpec_branch branch:../../branch2>, <RevisionSpec_revno 23>]
89
 
    >>> _parse_revision_str('branch:..\\\\branch2')
90
 
    [<RevisionSpec_branch branch:..\\branch2>]
91
 
    >>> _parse_revision_str('branch:..\\\\..\\\\branch2..23')
92
 
    [<RevisionSpec_branch branch:..\\..\\branch2>, <RevisionSpec_revno 23>]
93
89
    """
94
90
    # TODO: Maybe move this into revisionspec.py
95
91
    revs = []
96
 
    # split on .. that is not followed by a / or \
97
 
    sep = re.compile(r'\.\.(?![\\/])')
 
92
    # split on the first .. that is not followed by a / ?
 
93
    sep = re.compile("\\.\\.(?!/)")
98
94
    for x in sep.split(revstr):
99
95
        revs.append(revisionspec.RevisionSpec.from_string(x or None))
100
96
    return revs
201
197
            argname = argname.upper()
202
198
        yield self.name, self.short_name(), argname, self.help
203
199
 
204
 
    def is_hidden(self, name):
205
 
        return False
206
 
 
207
200
 
208
201
class ListOption(Option):
209
202
    """Option used to provide a list of values.
307
300
        if self.value_switches:
308
301
            for key in self.registry.keys():
309
302
                option_strings = ['--%s' % key]
310
 
                if self.is_hidden(key):
 
303
                if getattr(self.registry.get_info(key), 'hidden', False):
311
304
                    help = optparse.SUPPRESS_HELP
312
305
                else:
313
306
                    help = self.registry.get_help(key)
332
325
            for key in sorted(self.registry.keys()):
333
326
                yield key, None, None, self.registry.get_help(key)
334
327
 
335
 
    def is_hidden(self, name):
336
 
        if name == self.name:
337
 
            return Option.is_hidden(self, name)
338
 
        return getattr(self.registry.get_info(name), 'hidden', False)
339
 
 
340
328
 
341
329
class OptionParser(optparse.OptionParser):
342
330
    """OptionParser that raises exceptions instead of exiting"""