Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #48729

Re: decorator to fetch arguments from global objects

From Terry Reedy <tjreedy@udel.edu>
Subject Re: decorator to fetch arguments from global objects
Date 2013-06-19 12:44 -0400
References <CAF_E5JYg39VdwmLFnyXNOMPRx1UD8ZNGiBRpqgU=A_9rU_ukpw@mail.gmail.com> <kppv2q$shk$1@ger.gmane.org> <CAF_E5JZ3afve8WxOS_vmL_i9vC863uVYc723fV4NPAS=xod7vQ@mail.gmail.com> <loom.20130619T090208-281@post.gmane.org> <loom.20130619T095541-456@post.gmane.org>
Newsgroups comp.lang.python
Message-ID <mailman.3588.1371660313.3114.python-list@python.org> (permalink)

Show all headers | View raw


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

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: decorator to fetch arguments from global objects Terry Reedy <tjreedy@udel.edu> - 2013-06-19 12:44 -0400

csiph-web