~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/commands.py

Merge bzr.dev to resolve news conflict

Show diffs side-by-side

added added

removed removed

Lines of Context:
687
687
 
688
688
        self._setup_outf()
689
689
 
690
 
        return self.run(**all_cmd_args)
 
690
        try:
 
691
            return self.run(**all_cmd_args)
 
692
        finally:
 
693
            # reset it, so that other commands run in the same process won't
 
694
            # inherit state
 
695
            trace.set_verbosity_level(0)
691
696
 
692
697
    def _setup_run(self):
693
698
        """Wrap the defined run method on self with a cleanup.
810
815
    else:
811
816
        args = argv
812
817
 
813
 
    options, args = parser.parse_args(args)
 
818
    # for python 2.5 and later, optparse raises this exception if a non-ascii
 
819
    # option name is given.  See http://bugs.python.org/issue2931
 
820
    try:
 
821
        options, args = parser.parse_args(args)
 
822
    except UnicodeEncodeError,e:
 
823
        raise errors.BzrCommandError('Only ASCII permitted in option names')
 
824
 
814
825
    opts = dict([(k, v) for k, v in options.__dict__.iteritems() if
815
826
                 v is not option.OptionParser.DEFAULT_VALUE])
816
827
    return args, opts