diff options
author | Aleksey Lim <alsroot@sugarlabs.org> | 2014-05-08 13:57:03 (GMT) |
---|---|---|
committer | Aleksey Lim <alsroot@sugarlabs.org> | 2014-05-08 14:14:20 (GMT) |
commit | 644f9bc5d7591cb678361709809cefd3931b01fc (patch) | |
tree | feb6bda7185bec94d5df9c82824dcea6b4961bfd | |
parent | 03888767cf46f2e6433c1e89b3cee0320fc5012b (diff) |
Add utility to generate group icons
-rwxr-xr-x | misc/populate-group-icons | 24 | ||||
-rw-r--r-- | sugar_network/model/context.py | 4 | ||||
-rwxr-xr-x | tests/units/node/node_model.py | 2 |
3 files changed, 27 insertions, 3 deletions
diff --git a/misc/populate-group-icons b/misc/populate-group-icons new file mode 100755 index 0000000..cf0669f --- /dev/null +++ b/misc/populate-group-icons @@ -0,0 +1,24 @@ +#!/usr/bin/env python +# sugar-lint: disable + +from optparse import OptionParser + +from sugar_network import node +from sugar_network.node import master, model +from sugar_network.toolkit.router import Request +from sugar_network.toolkit.coroutine import this +from sugar_network.toolkit import Option + + +Option.seek('node', node) +Option.parse_args(OptionParser(), config_files=['~/.config/sugar-network/config']) +this.request = Request() + +this.volume = model.Volume(node.data_root.value, master.RESOURCES) +try: + for doc in this.volume['context']: + if 'group' not in doc['type'] or doc['artefact_icon'] != 'assets/missing.svg': + continue + doc._generate_default_icons(['group'], True) +finally: + this.volume.close() diff --git a/sugar_network/model/context.py b/sugar_network/model/context.py index 457281f..36021c7 100644 --- a/sugar_network/model/context.py +++ b/sugar_network/model/context.py @@ -33,7 +33,7 @@ class Context(db.Resource): self.post('logo', 'assets/package-logo.png') self.post('artefact_icon', 'assets/package.svg') elif 'activity' not in value: - if not self['artefact_icon']: + if self['artefact_icon'] == self.metadata['artefact_icon'].default: self._generate_default_icons(value) return value @@ -119,7 +119,7 @@ class Context(db.Resource): ('icon', model.ICON_SIZE), ('logo', model.LOGO_SIZE), ): - if self[prop]: + if self[prop] != self.metadata[prop].default: continue png = blobs.post(svg_to_png(svg, size), 'image/png').digest self.post(prop, png) diff --git a/tests/units/node/node_model.py b/tests/units/node/node_model.py index ae7e56c..721149e 100755 --- a/tests/units/node/node_model.py +++ b/tests/units/node/node_model.py @@ -2033,7 +2033,7 @@ class NodeModelTest(tests.Test): 'content-type': 'application/pdf', 'content-disposition': 'attachment; filename="NonActivity-2.pdf"', 'content-length': str(len(bundle)), - 'x-seqno': '3', + 'x-seqno': '6', }, blobs.get(blob.digest).meta) self.assertEqual(bundle_id, context) self.assertEqual([[2], 0], release['version']) |