Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@sugarlabs.org>2012-10-04 18:47:24 (GMT)
committer Aleksey Lim <alsroot@sugarlabs.org>2012-10-04 18:47:24 (GMT)
commitb411849fa3e8919a51c43843536614bef6f34b52 (patch)
tree9dbe4a39bbdf4445874114174c19d831acfa9d04
parentc7b890f55410a345134b6ff7dfcea03f5d73868c (diff)
Fix deplist command, return resolved package names
-rw-r--r--sugar_network/resources/volume.py18
1 files changed, 7 insertions, 11 deletions
diff --git a/sugar_network/resources/volume.py b/sugar_network/resources/volume.py
index c849570..a32413f 100644
--- a/sugar_network/resources/volume.py
+++ b/sugar_network/resources/volume.py
@@ -288,19 +288,15 @@ class VolumeCommands(ad.VolumeCommands):
"""
enforce(document == 'context')
+ enforce(repo, 'Argument %r should be set', 'repo')
context = self.volume['context'].get(guid)
- versions, total = self.volume['implementation'].find(
- limit=1, order_by='-version', context=guid, layer=layer)
- enforce(total, ad.NotFound, 'No implementations')
- result = context['dependencies']
+ result = []
- spec = [i for i in versions][0]['spec']
- for dep in spec.get('*-*', {}).get('requires', {}).keys():
- try:
- dep = self.volume['context'].get(dep)
- except Exception:
- continue
- result.extend(dep['packages'].get(repo, {}).get('binary', []))
+ for package in context['dependencies']:
+ dep = self.volume['context'].get(package)
+ enforce(repo in dep['packages'],
+ 'No packages for %r on %r', package, repo)
+ result.extend(dep['packages'][repo].get('binary') or [])
return result