~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/commands.py

- more refactoring and tests of commandline

Show diffs side-by-side

added added

removed removed

Lines of Context:
276
276
    lookup table, something about the available options, what optargs
277
277
    they take, and which commands will accept them.
278
278
    """
279
 
    # TODO: chop up this beast
 
279
    # TODO: chop up this beast; make it a method of the Command
280
280
    args = []
281
281
    opts = {}
282
282
 
284
284
    argsover = False
285
285
    while argv:
286
286
        a = argv.pop(0)
287
 
        if not argsover and a[0] == '-':
 
287
        if argsover:
 
288
            args.append(a)
 
289
            continue
 
290
        elif a == '--':
 
291
            # We've received a standalone -- No more flags
 
292
            argsover = True
 
293
            continue
 
294
        if a[0] == '-':
288
295
            # option names must not be unicode
289
296
            a = str(a)
290
297
            optarg = None
291
298
            if a[1] == '-':
292
 
                if a == '--':
293
 
                    # We've received a standalone -- No more flags
294
 
                    argsover = True
295
 
                    continue
296
299
                mutter("  got option %r" % a)
297
300
                if '=' in a:
298
301
                    optname, optarg = a[2:].split('=', 1)