diff options
author | Aleksey Lim <alsroot@sugarlabs.org> | 2012-10-04 18:47:24 (GMT) |
---|---|---|
committer | Aleksey Lim <alsroot@sugarlabs.org> | 2012-10-04 18:47:24 (GMT) |
commit | b411849fa3e8919a51c43843536614bef6f34b52 (patch) | |
tree | 9dbe4a39bbdf4445874114174c19d831acfa9d04 | |
parent | c7b890f55410a345134b6ff7dfcea03f5d73868c (diff) |
Fix deplist command, return resolved package names
-rw-r--r-- | sugar_network/resources/volume.py | 18 |
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 |