mercurial/bundle2.py
changeset 23010 73f394f4affc
parent 23009 90f86ad3d4ff
child 23011 006a81d07e57
equal deleted inserted replaced
23009:90f86ad3d4ff 23010:73f394f4affc
   319         # part key are matched lower case
   319         # part key are matched lower case
   320         key = parttype.lower()
   320         key = parttype.lower()
   321         try:
   321         try:
   322             handler = parthandlermapping.get(key)
   322             handler = parthandlermapping.get(key)
   323             if handler is None:
   323             if handler is None:
   324                 raise error.BundleValueError(parttype=key)
   324                 raise error.UnsupportedPartError(parttype=key)
   325             op.ui.debug('found a handler for part %r\n' % parttype)
   325             op.ui.debug('found a handler for part %r\n' % parttype)
   326             unknownparams = part.mandatorykeys - handler.params
   326             unknownparams = part.mandatorykeys - handler.params
   327             if unknownparams:
   327             if unknownparams:
   328                 unknownparams = list(unknownparams)
   328                 unknownparams = list(unknownparams)
   329                 unknownparams.sort()
   329                 unknownparams.sort()
   330                 raise error.BundleValueError(parttype=key,
   330                 raise error.UnsupportedPartError(parttype=key,
   331                                                params=unknownparams)
   331                                                params=unknownparams)
   332         except error.BundleValueError, exc:
   332         except error.UnsupportedPartError, exc:
   333             if key != parttype: # mandatory parts
   333             if key != parttype: # mandatory parts
   334                 raise
   334                 raise
   335             op.ui.debug('ignoring unsupported advisory part %s\n' % exc)
   335             op.ui.debug('ignoring unsupported advisory part %s\n' % exc)
   336             return # skip to part processing
   336             return # skip to part processing
   337 
   337 
   536         # Some logic will be later added here to try to process the option for
   536         # Some logic will be later added here to try to process the option for
   537         # a dict of known parameter.
   537         # a dict of known parameter.
   538         if name[0].islower():
   538         if name[0].islower():
   539             self.ui.debug("ignoring unknown parameter %r\n" % name)
   539             self.ui.debug("ignoring unknown parameter %r\n" % name)
   540         else:
   540         else:
   541             raise error.BundleValueError(params=(name,))
   541             raise error.UnsupportedPartError(params=(name,))
   542 
   542 
   543 
   543 
   544     def iterparts(self):
   544     def iterparts(self):
   545         """yield all parts contained in the stream"""
   545         """yield all parts contained in the stream"""
   546         # make sure param have been loaded
   546         # make sure param have been loaded
   892         kwargs['parttype'] = parttype
   892         kwargs['parttype'] = parttype
   893     params = inpart.params.get('params')
   893     params = inpart.params.get('params')
   894     if params is not None:
   894     if params is not None:
   895         kwargs['params'] = params.split('\0')
   895         kwargs['params'] = params.split('\0')
   896 
   896 
   897     raise error.BundleValueError(**kwargs)
   897     raise error.UnsupportedPartError(**kwargs)
   898 
   898 
   899 @parthandler('b2x:error:pushraced', ('message',))
   899 @parthandler('b2x:error:pushraced', ('message',))
   900 def handlereplycaps(op, inpart):
   900 def handlereplycaps(op, inpart):
   901     """Used to transmit push race error over the wire"""
   901     """Used to transmit push race error over the wire"""
   902     raise error.ResponseError(_('push failed:'), inpart.params['message'])
   902     raise error.ResponseError(_('push failed:'), inpart.params['message'])