aboutsummaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
Diffstat (limited to 'util')
-rw-r--r--util/__init__.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/util/__init__.py b/util/__init__.py
index c0d7b5a..e57d4f4 100644
--- a/util/__init__.py
+++ b/util/__init__.py
@@ -19,3 +19,20 @@ class WritableObject:
for part in self.content:
ret = ret + part
return ret
+
+def flatten_deps(deps):
+ """
+ Takes nested deps returned from portage.dep.use_reduce and flattens them to simple list
+
+ @param deps: list of dependencies returned from portage.dep.use_reduce()
+ @type deps: List
+ @rtype: List
+ @return: Flattened list of deps
+ """
+ result = []
+ for el in deps:
+ if hasattr(el, "__iter__") and not isinstance(el, basestring):
+ result.extend(flatten_deps(el))
+ else:
+ result.append(el)
+ return result