diff options
author | Aleksey Lim <alsroot@sugarlabs.org> | 2013-06-02 08:41:16 (GMT) |
---|---|---|
committer | Aleksey Lim <alsroot@sugarlabs.org> | 2013-06-02 08:42:49 (GMT) |
commit | 8b42099731ba3b77fc5f90591fbcf008df2fee16 (patch) | |
tree | 99adf51f7bd3905d5bb784db8a648c54f0fb4421 | |
parent | 3a6e37a954f9d4d04c334c68a791b2c506f2f351 (diff) |
Do not pass context title via 0install to avoid loosing unicode chars
-rw-r--r-- | sugar_network/client/injector.py | 2 | ||||
-rw-r--r-- | sugar_network/client/solver.py | 10 |
2 files changed, 7 insertions, 5 deletions
diff --git a/sugar_network/client/injector.py b/sugar_network/client/injector.py index 2a8f61e..ec1c1e6 100644 --- a/sugar_network/client/injector.py +++ b/sugar_network/client/injector.py @@ -221,7 +221,7 @@ def _activity_env(impl, environ): ]) environ['SUGAR_BUNDLE_PATH'] = impl_path environ['SUGAR_BUNDLE_ID'] = impl['context'] - environ['SUGAR_BUNDLE_NAME'] = impl['name'] + environ['SUGAR_BUNDLE_NAME'] = impl['name'].encode('utf8') environ['SUGAR_BUNDLE_VERSION'] = impl['version'] environ['SUGAR_ACTIVITY_ROOT'] = root environ['PYTHONPATH'] = impl_path + ':' + environ.get('PYTHONPATH', '') diff --git a/sugar_network/client/solver.py b/sugar_network/client/solver.py index 2e59288..eb68c02 100644 --- a/sugar_network/client/solver.py +++ b/sugar_network/client/solver.py @@ -147,7 +147,7 @@ def _impl_new(config, iface, sel): impl = {'id': sel.id, 'context': iface, 'version': sel.version, - 'name': feed.name, + 'name': feed.title, 'stability': sel.impl.upstream_stability.name, } if isabs(sel.id): @@ -176,7 +176,7 @@ def _load_feed(conn, context): host_versin = '.'.join(config.version.split('.', 2)[:2]) for version in SUGAR_API_COMPATIBILITY.get(host_versin) or []: feed.implement_sugar(version) - feed.name = context + feed.name = feed.name = context return feed except ImportError: pass @@ -192,8 +192,9 @@ def _load_feed(conn, context): pipe.trace('No feeds for %s', context) return None - # XXX 0install fails on non-ascii name - feed.name = feed_content['name'].encode('ascii', 'backslashreplace') + # XXX 0install fails on non-ascii `name` values + feed.name = context + feed.title = feed_content['name'] feed.to_resolve = feed_content.get('packages') if not feed.to_resolve: pipe.trace('No compatible packages for %s', context) @@ -218,6 +219,7 @@ class _Feed(model.ZeroInstallFeed): self.last_checked = None self.to_resolve = None self._package_implementations = [] + self.title = None @property def url(self): |