* manage levels for 'multiple included lists'
fixes #46343
(cherry picked from commit 80d977bac65768bdd5cd675b9d1794640749431a)
(cherry picked from commit ef6637895301842ff0a62f35ef1a6e517af60e39)
... | ... |
@@ -463,8 +463,8 @@ def flatten(mylist, levels=None): |
463 | 463 |
if levels is None: |
464 | 464 |
ret.extend(flatten(element)) |
465 | 465 |
elif levels >= 1: |
466 |
- levels = int(levels) - 1 |
|
467 |
- ret.extend(flatten(element, levels=levels)) |
|
466 |
+ # decrement as we go down the stack |
|
467 |
+ ret.extend(flatten(element, levels=(int(levels) - 1))) |
|
468 | 468 |
else: |
469 | 469 |
ret.append(element) |
470 | 470 |
else: |