Show More
@@ -113,6 +113,8 b' Binary format is as follow' | |||
|
113 | 113 | |
|
114 | 114 | Mandatory parameters comes first, then the advisory ones. |
|
115 | 115 | |
|
116 | Each parameter's key MUST be unique within the part. | |
|
117 | ||
|
116 | 118 | :payload: |
|
117 | 119 | |
|
118 | 120 | payload is a series of `<chunksize><chunkdata>`. |
@@ -570,6 +572,12 b' class bundlepart(object):' | |||
|
570 | 572 | self._data = data |
|
571 | 573 | self._mandatoryparams = list(mandatoryparams) |
|
572 | 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 | 581 | # status of the part's generation: |
|
574 | 582 | # - None: not started, |
|
575 | 583 | # - False: currently generated, |
@@ -598,6 +606,9 b' class bundlepart(object):' | |||
|
598 | 606 | def addparam(self, name, value='', mandatory=True): |
|
599 | 607 | if self._generated is not None: |
|
600 | 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 | 612 | params = self._advisoryparams |
|
602 | 613 | if mandatory: |
|
603 | 614 | params = self._mandatoryparams |
General Comments 0
You need to be logged in to leave comments.
Login now