Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@sugarlabs.org>2014-05-08 13:57:03 (GMT)
committer Aleksey Lim <alsroot@sugarlabs.org>2014-05-08 14:14:20 (GMT)
commit644f9bc5d7591cb678361709809cefd3931b01fc (patch)
treefeb6bda7185bec94d5df9c82824dcea6b4961bfd
parent03888767cf46f2e6433c1e89b3cee0320fc5012b (diff)
Add utility to generate group icons
-rwxr-xr-xmisc/populate-group-icons24
-rw-r--r--sugar_network/model/context.py4
-rwxr-xr-xtests/units/node/node_model.py2
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'])