Re: [DICTIONARY] - Copy dictionary entries to attributes
Diez B. Roggisch wrote: Ilias Lazaridis schrieb: remark: not sure if the term dictionary is correct here. I have the following situation: within a setup.cfg, settings are passed this way: settings=project_page=theProjectPage.com myVar=myValue those are accessible later like this: settings['project_page'] / settings['myValue'] - Now my question: is there any standard function to map the settings directly to attributes? something like: dictionary_make_attributes(settings) thus they can be accessed via: settings.project_page / settings.myVar or copy_dictionary_entries_to_attributes(vars, settings) vars.project_page / vars.myVar Either you use __getitem__, or the bunch-recipe: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52308 Diez Looks intresting, but I am a newcomer to python. How would the __getitem__ implementation look like? . -- http://lazaridis.com -- http://mail.python.org/mailman/listinfo/python-list
Re: - Copy dictionary entries to attributes
Ben Wilson wrote: Perhaps: def dictionary_make_attributes(self, settings): for k,v in settings: setattr(self, k, v) this one resulted in an error: ValueError: too many values to unpack it works with this correction: for k,v in settings.items() http://ftp.python.org/doc/lib/built-in-funcs.html#l2h-64 -- http://lazaridis.com -- http://mail.python.org/mailman/listinfo/python-list
Re: - Copy dictionary entries to attributes
Alex Martelli wrote: Ben Wilson [EMAIL PROTECTED] wrote: Perhaps: def dictionary_make_attributes(self, settings): for k,v in settings: setattr(self, k, v) for k,v in settings.items() This is a very general solution and will work for all kinds of objects with settable attributes, even if some of the attributes are properties, slots or weirder descriptors yet. For plain vanilla class instances, though, self.__dict__.update(settings) may be sufficient. Alex this is the construct I was looking for. see it active: http://pudge.lesscode.org/trac/changeset/118 http://pudge.lesscode.org/trac/ticket/16 . -- http://lazaridis.com -- http://mail.python.org/mailman/listinfo/python-list
[DICTIONARY] - Copy dictionary entries to attributes
remark: not sure if the term dictionary is correct here. I have the following situation: within a setup.cfg, settings are passed this way: settings=project_page=theProjectPage.com myVar=myValue those are accessible later like this: settings['project_page'] / settings['myValue'] - Now my question: is there any standard function to map the settings directly to attributes? something like: dictionary_make_attributes(settings) thus they can be accessed via: settings.project_page / settings.myVar or copy_dictionary_entries_to_attributes(vars, settings) vars.project_page / vars.myVar ? . -- http://lazaridis.com -- http://mail.python.org/mailman/listinfo/python-list
Re: [DICTIONARY] - Copy dictionary entries to attributes
Ilias Lazaridis schrieb: remark: not sure if the term dictionary is correct here. I have the following situation: within a setup.cfg, settings are passed this way: settings=project_page=theProjectPage.com myVar=myValue those are accessible later like this: settings['project_page'] / settings['myValue'] - Now my question: is there any standard function to map the settings directly to attributes? something like: dictionary_make_attributes(settings) thus they can be accessed via: settings.project_page / settings.myVar or copy_dictionary_entries_to_attributes(vars, settings) vars.project_page / vars.myVar Either you use __getitem__, or the bunch-recipe: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52308 Diez -- http://mail.python.org/mailman/listinfo/python-list
Re: - Copy dictionary entries to attributes
Perhaps: def dictionary_make_attributes(self, settings): for k,v in settings: setattr(self, k, v) http://ftp.python.org/doc/lib/built-in-funcs.html#l2h-64 -- http://mail.python.org/mailman/listinfo/python-list
Re: - Copy dictionary entries to attributes
Ben Wilson [EMAIL PROTECTED] wrote: Perhaps: def dictionary_make_attributes(self, settings): for k,v in settings: setattr(self, k, v) This is a very general solution and will work for all kinds of objects with settable attributes, even if some of the attributes are properties, slots or weirder descriptors yet. For plain vanilla class instances, though, self.__dict__.update(settings) may be sufficient. Alex -- http://mail.python.org/mailman/listinfo/python-list