aboutsummaryrefslogtreecommitdiff
path: root/mammoth/lists.py
diff options
context:
space:
mode:
Diffstat (limited to 'mammoth/lists.py')
-rw-r--r--mammoth/lists.py20
1 files changed, 12 insertions, 8 deletions
diff --git a/mammoth/lists.py b/mammoth/lists.py
index 24fa7c4..a1e188e 100644
--- a/mammoth/lists.py
+++ b/mammoth/lists.py
@@ -1,11 +1,15 @@
import sys
-__all__ = ["filter"]
-
-if sys.version_info[0] == 2:
- filter = filter
-else:
- import builtins
- def filter(*args, **kwargs):
- return list(builtins.filter(*args, **kwargs))
+def collect(values):
+ result = []
+ _collect(values, result)
+ return result
+
+
+def _collect(values, result):
+ for value in values:
+ if isinstance(value, list):
+ _collect(value, result)
+ elif value is not None:
+ result.append(value)