From 05921d74da690a3bf79f9cc4a3c0885aa8f9e15e Mon Sep 17 00:00:00 2001 From: Sayamindu Dasgupta Date: Tue, 09 Mar 2010 22:42:29 +0000 Subject: Merge branch 'master' of git.sugarlabs.org:sugar/mainline --- diff --git a/src/jarabe/model/mimeregistry.py b/src/jarabe/model/mimeregistry.py index 53480b2..537f6f3 100644 --- a/src/jarabe/model/mimeregistry.py +++ b/src/jarabe/model/mimeregistry.py @@ -14,10 +14,13 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +import re + import gconf _DEFAULTS_KEY = '/desktop/sugar/journal/defaults' +_GCONF_INVALID_CHARS = re.compile('[^a-zA-Z0-9-_/.]') _instance = None @@ -28,10 +31,10 @@ class MimeRegistry(object): self._gconf = gconf.client_get_default() def get_default_activity(self, mime_type): - return self._gconf.get_string(_DEFAULTS_KEY + '/' + mime_type) + return self._gconf.get_string(_key_name(mime_type)) def set_default_activity(self, mime_type, bundle_id): - self._gconf.set_string(_DEFAULTS_KEY + '/' + mime_type, bundle_id) + self._gconf.set_string(_key_name(mime_type), bundle_id) def get_registry(): @@ -39,3 +42,8 @@ def get_registry(): if _instance is None: _instance = MimeRegistry() return _instance + + +def _key_name(mime_type): + mime_type = _GCONF_INVALID_CHARS.sub('_', mime_type) + return '%s/%s' % (_DEFAULTS_KEY, mime_type) -- cgit v0.9.1