Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSayamindu Dasgupta <sayamindu@gmail.com>2010-03-09 22:42:29 (GMT)
committer Sayamindu Dasgupta <sayamindu@gmail.com>2010-03-09 22:42:29 (GMT)
commit05921d74da690a3bf79f9cc4a3c0885aa8f9e15e (patch)
treed622417260b953f3e24d883e40594f9281c86263
parent60e63fa718797f4510c3fe7a32b1e6de0247d18e (diff)
parent5363b33ed684a46e5af0e3af3a7d37c7900c97c7 (diff)
Merge branch 'master' of git.sugarlabs.org:sugar/mainline
-rw-r--r--src/jarabe/model/mimeregistry.py12
1 files changed, 10 insertions, 2 deletions
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)