diff options
Diffstat (limited to 'util/__init__.py')
-rw-r--r-- | util/__init__.py | 17 |
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 |