summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Simonis <christophe@tinyerp.com>2008-11-20 18:16:29 +0100
committerChristophe Simonis <christophe@tinyerp.com>2008-11-20 18:16:29 +0100
commita101ca492b6015cb06cbeea98ca6e2c6a2aff6f9 (patch)
tree5ae5d966cad5d078bae068b36667646ccfcbd081
parentb54f7619985953805ccdc7a154e6e8e0f862a978 (diff)
[IMP] display the list of unmet dependencies
bzr revid: christophe@tinyerp.com-20081120171629-v30gaho2xopkpwuj
-rw-r--r--bin/addons/__init__.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/bin/addons/__init__.py b/bin/addons/__init__.py
index 332bb6cc490..a5115deccc5 100644
--- a/bin/addons/__init__.py
+++ b/bin/addons/__init__.py
@@ -185,8 +185,9 @@ def create_graph(module_list, force=None):
raise
if info.get('installable', True):
packages.append((module, info.get('depends', []), info))
-
- current,later = Set([p for p, dep, data in packages]), Set()
+
+ dependencies = dict([(p, deps) for p, deps, data in packages])
+ current, later = Set([p for p, dep, data in packages]), Set()
while packages and current > later:
package, deps, datas = packages[0]
@@ -207,9 +208,10 @@ def create_graph(module_list, force=None):
later.add(package)
packages.append((package, deps, datas))
packages.pop(0)
-
+
for package in later:
- logger.notifyChannel('init', netsvc.LOG_ERROR, 'addon:%s:Unmet dependency' % package)
+ unmet_deps = filter(lambda p: p not in graph, dependencies[package])
+ logger.notifyChannel('init', netsvc.LOG_ERROR, 'addon:%s:Unmet dependencies: %s' % (package, ', '.join(unmet_deps)))
return graph