Ticket #1811: 0001-Do-not-use-not-valid-symbols-for-preferable-activiti.patch

File 0001-Do-not-use-not-valid-symbols-for-preferable-activiti.patch, 1.5 KB (added by alsroot, 14 years ago)
  • src/jarabe/model/mimeregistry.py

    From 871591927d4ddc210b7ba497f2e9a78b610c0a9b Mon Sep 17 00:00:00 2001
    From: Aleksey Lim <alsroot@member.fsf.org>
    Date: Tue, 9 Mar 2010 21:43:27 +0000
    Subject: Do not use not valid symbols for preferable activities gconf keys #1811
    
    
    diff --git a/src/jarabe/model/mimeregistry.py b/src/jarabe/model/mimeregistry.py
    index 53480b2..537f6f3 100644
    a b  
    1414# along with this program; if not, write to the Free Software
    1515# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
    1616
     17import re
     18
    1719import gconf
    1820
    1921
    2022_DEFAULTS_KEY = '/desktop/sugar/journal/defaults'
     23_GCONF_INVALID_CHARS = re.compile('[^a-zA-Z0-9-_/.]')
    2124_instance = None
    2225
    2326
    class MimeRegistry(object): 
    2831        self._gconf = gconf.client_get_default()
    2932
    3033    def get_default_activity(self, mime_type):
    31         return self._gconf.get_string(_DEFAULTS_KEY + '/' + mime_type)
     34        return self._gconf.get_string(_key_name(mime_type))
    3235
    3336    def set_default_activity(self, mime_type, bundle_id):
    34         self._gconf.set_string(_DEFAULTS_KEY + '/' + mime_type, bundle_id)
     37        self._gconf.set_string(_key_name(mime_type), bundle_id)
    3538
    3639
    3740def get_registry():
    def get_registry(): 
    3942    if _instance is None:
    4043        _instance = MimeRegistry()
    4144    return _instance
     45
     46
     47def _key_name(mime_type):
     48    mime_type = _GCONF_INVALID_CHARS.sub('_', mime_type)
     49    return '%s/%s' % (_DEFAULTS_KEY, mime_type)