def save(data): data = data.copy() try: for k, v in data.iteritems(): if v is None: data[k] = "" elif k == prefs.MOVIES_DIRECTORY.key: if isinstance(v, str): data[k] = filename_type_to_os_filename(v) plist = Conversion.propertyListFromPythonCollection(data) except: print "WARNING!! Error while converting the settings dictionary to a property list:" print data raise else: domain = bundle.getBundleIdentifier() defaults = NSUserDefaults.standardUserDefaults() defaults.setPersistentDomain_forName_(plist, domain) defaults.synchronize()
def load(): domain = bundle.getBundleIdentifier() plist = NSUserDefaults.standardUserDefaults().persistentDomainForName_(domain) try: pydict = Conversion.pythonCollectionFromPropertyList(plist) except: print "WARNING!! Error while converting the preference property list to python dictionary:" print plist # Sanitize the dictionary we just got, some value might be of type which can # cause massive problems when being pickled. if pydict is not None: for k, v in pydict.iteritems(): if type(v) is objc._pythonify.OC_PythonFloat: pydict[k] = float(v) elif type(v) is objc._pythonify.OC_PythonInt: pydict[k] = int(v) elif type(v) is objc._pythonify.OC_PythonLong: pydict[k] = long(v) elif k == prefs.MOVIES_DIRECTORY.key: pydict[k] = os_filename_to_filename_type(v) return pydict
def load(): domain = bundle.getBundleIdentifier() plist = NSUserDefaults.standardUserDefaults().persistentDomainForName_( domain) try: pydict = Conversion.pythonCollectionFromPropertyList(plist) except: print "WARNING!! Error while converting the preference property list to python dictionary:" print plist # Sanitize the dictionary we just got, some value might be of type which can # cause massive problems when being pickled. if pydict is not None: for k, v in pydict.iteritems(): if type(v) is objc._pythonify.OC_PythonFloat: pydict[k] = float(v) elif type(v) is objc._pythonify.OC_PythonInt: pydict[k] = int(v) elif type(v) is objc._pythonify.OC_PythonLong: pydict[k] = long(v) elif k == prefs.MOVIES_DIRECTORY.key: pydict[k] = os_filename_to_filename_type(v) return pydict