[ZODB-Dev] Re: SVN: ZODB/branches/anguenot-ordering-beforecommitsubscribers/src/transaction/ Implements the ordering of before commit subscribers :

Julien Anguenot ja at nuxeo.com
Mon Aug 8 18:15:39 EDT 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Tim Peters wrote:
> [Julien Anguenot]
> 
>>>+    def beforeCommitHookOrdered(hook, order, *args, **kws):
>>>+
>>>"""Register a hook to call before the transaction is committed. ...
>>>+        Note, a hook __call__() method can't define any 'order' argument
> 
> since
> 
>>>+        this one is reserved by this method
> 
> 
> [Florent Guillaume]
> 
>>If that's a concern, maybe it can be called order__ or something ? What's
>>the pythonic way to do this ?
> 
> 
> It would be more accurate to say that the hook's __call__ method can't be
> invoked with a keyword argument named `order`.  The same is equally true of
> invoking it with a keyword argument named `hook`.  There's no problem if
> __call__ defines arguments named `hook` and/or `order` provided those are
> passed positionally to __call__.
> 
> The problem (such as it is) is really inherited from the older function:
> 
>     def beforeCommitHook(self, hook, *args, **kws):
> 
> The "most Pythonic" way would have been to define that as
> 
>     def beforeCommitHook(self, hook, args=(), kws=None):
>         if kws is None:
>             kws = {}
> 
> much like Python's thread.start_new_thread() and threading.Thread()
> constructor.  Then Julien could have added an optional new `order=0`
> argument to the old function too (instead of creating an additional
> function).
> 
> While not ideal, it's minor, and naming the fixed arguments (in both
> methods), e.g., __hook and __order would remove most of the little ugliness.

I renamed those arguments in both methods.

How can we solve this 2 methods problem ? Deprecation of the old one ?
Or can we live like this ?

	J.
- --
Julien Anguenot | Nuxeo R&D (Paris, France)
CPS Platform : http://www.cps-project.org
Zope3 / ECM   : http://www.z3lab.org
mail: anguenot at nuxeo.com; tel: +33 (0) 6 72 57 57 66
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iD8DBQFC99mKGhoG8MxZ/pIRAuAdAJwLWEcU6PZsmupCZ5FdFecl/7oKlQCfbEgw
knkz+aMA5xQd/8lV4QYMc5U=
=fLAS
-----END PGP SIGNATURE-----


More information about the ZODB-Dev mailing list