comparison mercurial/bundle2.py @ 34277:a48b3db0baba

bundle2: stop using %r to quote part names Valid part names are restricted to [a-zA-Z0-9_:-]+, so I'm not worried about having quoting present in places where we should have predominantly valid part names. This will significantly ease the Python 3 transition, and simultaneously isn't a BC because this is only in error messages that should never be shown.
author Augie Fackler <augie@google.com>
date Mon, 18 Sep 2017 13:35:43 -0400
parents f010097c885c
children ea7588c11c36
comparison
equal deleted inserted replaced
34276:b90bd9a98c8b 34277:a48b3db0baba
468 try: 468 try:
469 handler = parthandlermapping.get(part.type) 469 handler = parthandlermapping.get(part.type)
470 if handler is None: 470 if handler is None:
471 status = 'unsupported-type' 471 status = 'unsupported-type'
472 raise error.BundleUnknownFeatureError(parttype=part.type) 472 raise error.BundleUnknownFeatureError(parttype=part.type)
473 indebug(op.ui, 'found a handler for part %r' % part.type) 473 indebug(op.ui, 'found a handler for part %s' % part.type)
474 unknownparams = part.mandatorykeys - handler.params 474 unknownparams = part.mandatorykeys - handler.params
475 if unknownparams: 475 if unknownparams:
476 unknownparams = list(unknownparams) 476 unknownparams = list(unknownparams)
477 unknownparams.sort() 477 unknownparams.sort()
478 status = 'unsupported-params (%s)' % unknownparams 478 status = 'unsupported-params (%s)' % ', '.join(unknownparams)
479 raise error.BundleUnknownFeatureError(parttype=part.type, 479 raise error.BundleUnknownFeatureError(parttype=part.type,
480 params=unknownparams) 480 params=unknownparams)
481 status = 'supported' 481 status = 'supported'
482 except error.BundleUnknownFeatureError as exc: 482 except error.BundleUnknownFeatureError as exc:
483 if part.mandatory: # mandatory parts 483 if part.mandatory: # mandatory parts
614 def addparam(self, name, value=None): 614 def addparam(self, name, value=None):
615 """add a stream level parameter""" 615 """add a stream level parameter"""
616 if not name: 616 if not name:
617 raise ValueError('empty parameter name') 617 raise ValueError('empty parameter name')
618 if name[0] not in pycompat.bytestr(string.ascii_letters): 618 if name[0] not in pycompat.bytestr(string.ascii_letters):
619 raise ValueError('non letter first character: %r' % name) 619 raise ValueError('non letter first character: %s' % name)
620 self._params.append((name, value)) 620 self._params.append((name, value))
621 621
622 def addpart(self, part): 622 def addpart(self, part):
623 """add a new part to the bundle2 container 623 """add a new part to the bundle2 container
624 624
790 790
791 Note: no option are currently supported. Any input will be either 791 Note: no option are currently supported. Any input will be either
792 ignored or failing. 792 ignored or failing.
793 """ 793 """
794 if not name: 794 if not name:
795 raise ValueError('empty parameter name') 795 raise ValueError(r'empty parameter name')
796 if name[0] not in pycompat.bytestr(string.ascii_letters): 796 if name[0:1] not in pycompat.bytestr(string.ascii_letters):
797 raise ValueError('non letter first character: %r' % name) 797 raise ValueError(r'non letter first character: %s' % name)
798 try: 798 try:
799 handler = b2streamparamsmap[name.lower()] 799 handler = b2streamparamsmap[name.lower()]
800 except KeyError: 800 except KeyError:
801 if name[0].islower(): 801 if name[0:1].islower():
802 indebug(self.ui, "ignoring unknown parameter %r" % name) 802 indebug(self.ui, "ignoring unknown parameter %s" % name)
803 else: 803 else:
804 raise error.BundleUnknownFeatureError(params=(name,)) 804 raise error.BundleUnknownFeatureError(params=(name,))
805 else: 805 else:
806 handler(self, name, value) 806 handler(self, name, value)
807 807