| @@ 7196-7223 (lines=28) @@ | ||
| 7193 | return ret |
|
| 7194 | ||
| 7195 | # pylint: disable=line-too-long,invalid-name,missing-module-docstring |
|
| 7196 | def extend_AllIndexed(self, elements, validate_continuity=False): |
|
| 7197 | """ |
|
| 7198 | Add all elements in list `elements`, respecting ``@index`` order. |
|
| 7199 | With `validate_continuity`, check that all new elements come after all old elements |
|
| 7200 | (or raise an exception). |
|
| 7201 | Otherwise, ensure this condition silently (by increasing ``@index`` accordingly). |
|
| 7202 | """ |
|
| 7203 | if not isinstance(elements, list): |
|
| 7204 | elements = [elements] |
|
| 7205 | siblings = self.get_AllIndexed() |
|
| 7206 | highest_sibling_index = siblings[-1].index if siblings else -1 |
|
| 7207 | if validate_continuity: |
|
| 7208 | elements = sorted(elements, key=lambda x: x.index) |
|
| 7209 | lowest_element_index = elements[0].index |
|
| 7210 | if lowest_element_index <= highest_sibling_index: |
|
| 7211 | raise Exception("@index already used: {}".format(lowest_element_index)) |
|
| 7212 | else: |
|
| 7213 | for element in elements: |
|
| 7214 | highest_sibling_index += 1 |
|
| 7215 | element.index = highest_sibling_index |
|
| 7216 | for element in elements: |
|
| 7217 | if isinstance(element, RegionRefIndexedType): # pylint: disable=undefined-variable |
|
| 7218 | self.add_RegionRefIndexed(element) |
|
| 7219 | elif isinstance(element, OrderedGroupIndexedType): # pylint: disable=undefined-variable |
|
| 7220 | self.add_OrderedGroupIndexed(element) |
|
| 7221 | elif isinstance(element, UnorderedGroupIndexedType): # pylint: disable=undefined-variable |
|
| 7222 | self.add_UnorderedGroupIndexed(element) |
|
| 7223 | return self.get_AllIndexed() |
|
| 7224 | # pylint: disable=line-too-long,invalid-name,missing-module-docstring |
|
| 7225 | def sort_AllIndexed(self, validate_uniqueness=True): |
|
| 7226 | """ |
|
| @@ 6264-6291 (lines=28) @@ | ||
| 6261 | return ret |
|
| 6262 | ||
| 6263 | # pylint: disable=line-too-long,invalid-name,missing-module-docstring |
|
| 6264 | def extend_AllIndexed(self, elements, validate_continuity=False): |
|
| 6265 | """ |
|
| 6266 | Add all elements in list `elements`, respecting ``@index`` order. |
|
| 6267 | With `validate_continuity`, check that all new elements come after all old elements |
|
| 6268 | (or raise an exception). |
|
| 6269 | Otherwise, ensure this condition silently (by increasing ``@index`` accordingly). |
|
| 6270 | """ |
|
| 6271 | if not isinstance(elements, list): |
|
| 6272 | elements = [elements] |
|
| 6273 | siblings = self.get_AllIndexed() |
|
| 6274 | highest_sibling_index = siblings[-1].index if siblings else -1 |
|
| 6275 | if validate_continuity: |
|
| 6276 | elements = sorted(elements, key=lambda x: x.index) |
|
| 6277 | lowest_element_index = elements[0].index |
|
| 6278 | if lowest_element_index <= highest_sibling_index: |
|
| 6279 | raise Exception("@index already used: {}".format(lowest_element_index)) |
|
| 6280 | else: |
|
| 6281 | for element in elements: |
|
| 6282 | highest_sibling_index += 1 |
|
| 6283 | element.index = highest_sibling_index |
|
| 6284 | for element in elements: |
|
| 6285 | if isinstance(element, RegionRefIndexedType): # pylint: disable=undefined-variable |
|
| 6286 | self.add_RegionRefIndexed(element) |
|
| 6287 | elif isinstance(element, OrderedGroupIndexedType): # pylint: disable=undefined-variable |
|
| 6288 | self.add_OrderedGroupIndexed(element) |
|
| 6289 | elif isinstance(element, UnorderedGroupIndexedType): # pylint: disable=undefined-variable |
|
| 6290 | self.add_UnorderedGroupIndexed(element) |
|
| 6291 | return self.get_AllIndexed() |
|
| 6292 | # pylint: disable=line-too-long,invalid-name,missing-module-docstring |
|
| 6293 | def sort_AllIndexed(self, validate_uniqueness=True): |
|
| 6294 | """ |
|
| @@ 2-29 (lines=28) @@ | ||
| 1 | # pylint: disable=line-too-long,invalid-name,missing-module-docstring |
|
| 2 | def extend_AllIndexed(self, elements, validate_continuity=False): |
|
| 3 | """ |
|
| 4 | Add all elements in list `elements`, respecting ``@index`` order. |
|
| 5 | With `validate_continuity`, check that all new elements come after all old elements |
|
| 6 | (or raise an exception). |
|
| 7 | Otherwise, ensure this condition silently (by increasing ``@index`` accordingly). |
|
| 8 | """ |
|
| 9 | if not isinstance(elements, list): |
|
| 10 | elements = [elements] |
|
| 11 | siblings = self.get_AllIndexed() |
|
| 12 | highest_sibling_index = siblings[-1].index if siblings else -1 |
|
| 13 | if validate_continuity: |
|
| 14 | elements = sorted(elements, key=lambda x: x.index) |
|
| 15 | lowest_element_index = elements[0].index |
|
| 16 | if lowest_element_index <= highest_sibling_index: |
|
| 17 | raise Exception("@index already used: {}".format(lowest_element_index)) |
|
| 18 | else: |
|
| 19 | for element in elements: |
|
| 20 | highest_sibling_index += 1 |
|
| 21 | element.index = highest_sibling_index |
|
| 22 | for element in elements: |
|
| 23 | if isinstance(element, RegionRefIndexedType): # pylint: disable=undefined-variable |
|
| 24 | self.add_RegionRefIndexed(element) |
|
| 25 | elif isinstance(element, OrderedGroupIndexedType): # pylint: disable=undefined-variable |
|
| 26 | self.add_OrderedGroupIndexed(element) |
|
| 27 | elif isinstance(element, UnorderedGroupIndexedType): # pylint: disable=undefined-variable |
|
| 28 | self.add_UnorderedGroupIndexed(element) |
|
| 29 | return self.get_AllIndexed() |
|
| 30 | ||