Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar_network/resources/volume.py
diff options
context:
space:
mode:
Diffstat (limited to 'sugar_network/resources/volume.py')
-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