Mercurial > public > mercurial-scm > hg
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 |