Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar_network/model/routes.py
diff options
context:
space:
mode:
Diffstat (limited to 'sugar_network/model/routes.py')
-rw-r--r--sugar_network/model/routes.py27
1 files changed, 11 insertions, 16 deletions
diff --git a/sugar_network/model/routes.py b/sugar_network/model/routes.py
index 628a057..d36e1c8 100644
--- a/sugar_network/model/routes.py
+++ b/sugar_network/model/routes.py
@@ -37,22 +37,17 @@ class VolumeRoutes(db.Routes):
impls, __ = implementations.find(context=context.guid,
not_layer='deleted', **request)
for impl in impls:
- for arch, spec in impl.meta('data')['spec'].items():
- spec['guid'] = impl.guid
- spec['version'] = impl['version']
- spec['arch'] = arch
- spec['stability'] = impl['stability']
- spec['license'] = impl['license']
- if context['dependencies']:
- requires = spec.setdefault('requires', {})
- for i in context['dependencies']:
- requires.setdefault(i, {})
- blob = implementations.get(impl.guid).meta('data')
- if blob:
- for key in ('blob_size', 'unpack_size'):
- if key in blob:
- spec[key] = blob[key]
- versions.append(spec)
+ version = impl.properties(
+ ['guid', 'version', 'stability', 'license'])
+ if context['dependencies']:
+ requires = version.setdefault('requires', {})
+ for i in context['dependencies']:
+ requires.setdefault(i, {})
+ version['data'] = data = impl.meta('data')
+ for key in ('mtime', 'seqno', 'blob'):
+ if key in data:
+ del data[key]
+ versions.append(version)
result = {'implementations': versions}
if distro: