def observe(self, domain, key): self.domain = domain self.key = key if self: self.defaults = NSUserDefaults.alloc().initWithSuiteName_( self.domain) self.defaults.addObserver_forKeyPath_options_context_( self, self.key, NSKeyValueObservingOptionNew, None) return self
def main(): prefs_version = "0.1" parser = argparse.ArgumentParser() parser.add_argument("app_id", metavar="APP_ID", help="the app identifier or preference domain") parser.add_argument( "keys", nargs="*", metavar="KEY", help= "preference keys to show. When no key is given all values will be shown" ) parser.add_argument('--version', help='prints the version', action='version', version=prefs_version) parser.add_argument( "-g", "--globals", action="store_true", help="show values from GlobalPreferences files as well") parser.add_argument("-V", "--value", action="store_true", help="show only the value, no other information") parser.add_argument("-p", "--path", action="store_true", help="print path to plist file instead of domain") args = parser.parse_args() app_id = args.app_id showGlobals = args.globals if len(args.keys) == 0: app_defaults = NSUserDefaults.alloc().initWithSuiteName_(app_id) keys = app_defaults.dictionaryRepresentation().keys() else: keys = args.keys # set showGlobals regardless so all keys will be shown showGlobals = True for key in keys: if args.value: print repr(get_pref_value(app_id, key)) else: print_detail(app_id, key, showGlobals, args.path)
def save_user_defaults(prefs): defaults = NSUserDefaults.alloc().initWithSuiteName_( "com.elliotjordan.recipe-robot") for key, value in prefs.iteritems(): defaults.setValue_forKey_(value, key)
def get_user_defaults(): defaults = NSUserDefaults.alloc().initWithSuiteName_( "com.elliotjordan.recipe-robot") default_dict = defaults.dictionaryRepresentation() return default_dict if len(default_dict) else None
def save_user_defaults(prefs): defaults = NSUserDefaults.alloc().initWithSuiteName_('com.elliotjordan.recipe-robot') for key, value in prefs.iteritems(): defaults.setValue_forKey_(value, key)
def get_user_defaults(): defaults = NSUserDefaults.alloc().initWithSuiteName_('com.elliotjordan.recipe-robot') default_dict = defaults.dictionaryRepresentation() return default_dict if len(default_dict) else None