decorator to fetch arguments from global objects
Terry Reedy
tjreedy at udel.edu
Wed Jun 19 12:44:42 EDT 2013
On 6/19/2013 4:03 AM, Wolfgang Maier wrote:
> Wolfgang Maier <wolfgang.maier <at> biologie.uni-freiburg.de> writes:
>
>>
>> andrea crotti <andrea.crotti.0 <at> gmail.com> writes:
>>
>>> 2013/6/18 Terry Reedy <tjreedy <at> udel.edu>
>>>
>>> Decorators are only worthwhile if used repeatedly. What you specified can
>> easily be written, for instance, as
>>> def save_doc(db=None):
>>> if db is None:
>>> db = fetch_from_global()
>>> if isinstance(db, dbclass):
>>> save_it()
>>> else:
>>> raise ValueError('need dbobject')
>
> Another suggestion, without knowing too much about your code's architecture:
> why not *initialize* your Entity instance with a db_out attribute, so you do
> Terry's db checking only in one central place - Entity's __init__ method?
Your pair of posts pretty much say what I was trying to get at. If
Entity does not prepresent anything, it should not exist, and the
'methods' should be functions with boilerplate factored out. If entity
does represent anything, it should be the parameter common to all
methods, the db. I had not really cognized before that an advantage of
defining a class is to setup and validate the central object just once.
It is still not clear to me why db should ever by bound to None. That
must have something to do with the undisclosed context.
--
Terry Jan Reedy
More information about the Python-list
mailing list