Show More
@@ -113,6 +113,8 b' Binary format is as follow' | |||||
113 |
|
113 | |||
114 | Mandatory parameters comes first, then the advisory ones. |
|
114 | Mandatory parameters comes first, then the advisory ones. | |
115 |
|
115 | |||
|
116 | Each parameter's key MUST be unique within the part. | |||
|
117 | ||||
116 | :payload: |
|
118 | :payload: | |
117 |
|
119 | |||
118 | payload is a series of `<chunksize><chunkdata>`. |
|
120 | payload is a series of `<chunksize><chunkdata>`. | |
@@ -570,6 +572,12 b' class bundlepart(object):' | |||||
570 | self._data = data |
|
572 | self._data = data | |
571 | self._mandatoryparams = list(mandatoryparams) |
|
573 | self._mandatoryparams = list(mandatoryparams) | |
572 | self._advisoryparams = list(advisoryparams) |
|
574 | self._advisoryparams = list(advisoryparams) | |
|
575 | # checking for duplicated entries | |||
|
576 | self._seenparams = set() | |||
|
577 | for pname, __ in self._mandatoryparams + self._advisoryparams: | |||
|
578 | if pname in self._seenparams: | |||
|
579 | raise RuntimeError('duplicated params: %s' % pname) | |||
|
580 | self._seenparams.add(pname) | |||
573 | # status of the part's generation: |
|
581 | # status of the part's generation: | |
574 | # - None: not started, |
|
582 | # - None: not started, | |
575 | # - False: currently generated, |
|
583 | # - False: currently generated, | |
@@ -598,6 +606,9 b' class bundlepart(object):' | |||||
598 | def addparam(self, name, value='', mandatory=True): |
|
606 | def addparam(self, name, value='', mandatory=True): | |
599 | if self._generated is not None: |
|
607 | if self._generated is not None: | |
600 | raise ReadOnlyPartError('part is being generated') |
|
608 | raise ReadOnlyPartError('part is being generated') | |
|
609 | if name in self._seenparams: | |||
|
610 | raise ValueError('duplicated params: %s' % name) | |||
|
611 | self._seenparams.add(name) | |||
601 | params = self._advisoryparams |
|
612 | params = self._advisoryparams | |
602 | if mandatory: |
|
613 | if mandatory: | |
603 | params = self._mandatoryparams |
|
614 | params = self._mandatoryparams |
General Comments 0
You need to be logged in to leave comments.
Login now