mercurial/bundle2.py
changeset 26541 d40029b4296e
parent 26404 795f02a24b87
child 26542 b87e4638dabf
equal deleted inserted replaced
26540:7469067de2ba 26541:d40029b4296e
   655         paramssize = self._unpack(_fstreamparamsize)[0]
   655         paramssize = self._unpack(_fstreamparamsize)[0]
   656         if paramssize < 0:
   656         if paramssize < 0:
   657             raise error.BundleValueError('negative bundle param size: %i'
   657             raise error.BundleValueError('negative bundle param size: %i'
   658                                          % paramssize)
   658                                          % paramssize)
   659         if paramssize:
   659         if paramssize:
   660             for p in self._readexact(paramssize).split(' '):
   660             params = self._readexact(paramssize)
   661                 p = p.split('=', 1)
   661             params = self._processallparams(params)
   662                 p = [urllib.unquote(i) for i in p]
       
   663                 if len(p) < 2:
       
   664                     p.append(None)
       
   665                 self._processparam(*p)
       
   666                 params[p[0]] = p[1]
       
   667         return params
   662         return params
       
   663 
       
   664     def _processallparams(self, paramsblock):
       
   665         """"""
       
   666         params = {}
       
   667         for p in paramsblock.split(' '):
       
   668             p = p.split('=', 1)
       
   669             p = [urllib.unquote(i) for i in p]
       
   670             if len(p) < 2:
       
   671                 p.append(None)
       
   672             self._processparam(*p)
       
   673             params[p[0]] = p[1]
       
   674         return params
       
   675 
   668 
   676 
   669     def _processparam(self, name, value):
   677     def _processparam(self, name, value):
   670         """process a parameter, applying its effect if needed
   678         """process a parameter, applying its effect if needed
   671 
   679 
   672         Parameter starting with a lower case letter are advisory and will be
   680         Parameter starting with a lower case letter are advisory and will be