Apply patch from 'SXW', closing LP #237796

This commit is contained in:
Chris Jones 2008-09-04 22:27:13 +01:00
parent bbc17502a8
commit f14b544668
1 changed files with 14 additions and 10 deletions

View File

@ -406,16 +406,20 @@ class TerminatorConfValuestoreGConf (TerminatorConfValuestore):
value = self.client.get ('%s/%s'%(self.profile, key)) value = self.client.get ('%s/%s'%(self.profile, key))
if value: if value:
funcname = "get_" + Defaults[key].__class__.__name__ from types import StringType
dbg (' GConf: picked function: %s'%funcname) if type(value) is StringType:
# Special case for str ret = value
if funcname == "get_str": else:
funcname = "get_string" funcname = "get_" + Defaults[key].__class__.__name__
# Special case for strlist dbg (' GConf: picked function: %s'%funcname)
if funcname == "get_strlist": # Special case for str
funcname = "get_list" if funcname == "get_str":
typefunc = getattr (value, funcname) funcname = "get_string"
ret = typefunc () # Special case for strlist
if funcname == "get_strlist":
funcname = "get_list"
typefunc = getattr (value, funcname)
ret = typefunc ()
self.cache[key] = ret self.cache[key] = ret
return (ret) return (ret)