Mercurial > public > mercurial-scm > hg
comparison mercurial/bundle2.py @ 21610:d6056805f8f4
bundle2: introduce a ``params`` dictionary on unbundled parts
This exposes all parameters the part received into a ``part.params`` dictionary.
This should be much easier to use.
This dictionary itself does not expose the mandatory or advisory aspect of
parameters, but no current users of bundle2 actually enforce any of this logic.
Coming changesets will improve this aspect.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Fri, 23 May 2014 17:26:57 -0700 |
parents | 63cc2594ef8a |
children | 71b7b3f79a3c |
comparison
equal
deleted
inserted
replaced
21609:63cc2594ef8a | 21610:d6056805f8f4 |
---|---|
687 # part data | 687 # part data |
688 self.id = None | 688 self.id = None |
689 self.type = None | 689 self.type = None |
690 self.mandatoryparams = None | 690 self.mandatoryparams = None |
691 self.advisoryparams = None | 691 self.advisoryparams = None |
692 self.params = None | |
692 self._payloadstream = None | 693 self._payloadstream = None |
693 self._readheader() | 694 self._readheader() |
694 | 695 |
695 def _fromheader(self, size): | 696 def _fromheader(self, size): |
696 """return the next <size> byte from the header""" | 697 """return the next <size> byte from the header""" |
709 def _initparams(self, mandatoryparams, advisoryparams): | 710 def _initparams(self, mandatoryparams, advisoryparams): |
710 """internal function to setup all logic related parameters""" | 711 """internal function to setup all logic related parameters""" |
711 # make it read only to prevent people touching it by mistake. | 712 # make it read only to prevent people touching it by mistake. |
712 self.mandatoryparams = tuple(mandatoryparams) | 713 self.mandatoryparams = tuple(mandatoryparams) |
713 self.advisoryparams = tuple(advisoryparams) | 714 self.advisoryparams = tuple(advisoryparams) |
715 # user friendly UI | |
716 self.params = dict(self.mandatoryparams) | |
717 self.params.update(dict(self.advisoryparams)) | |
714 | 718 |
715 def _readheader(self): | 719 def _readheader(self): |
716 """read the header and setup the object""" | 720 """read the header and setup the object""" |
717 typesize = self._unpackheader(_fparttypesize)[0] | 721 typesize = self._unpackheader(_fparttypesize)[0] |
718 self.type = self._fromheader(typesize) | 722 self.type = self._fromheader(typesize) |