[Zope-dev] Two small convenience suggestions for zope.interface and zope.component
Martin Aspeli
optilude+lists at gmail.com
Wed Apr 1 10:56:30 EDT 2009
Tres Seaver wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Martin Aspeli wrote:
>> Hi,
>>
>> I'd like to add support for the following:
>>
>> 1) Provider decorator:
>>
>> @provider(IFoo)
>> def some_function(context)
>> pass
>>
>> This is an alternative to doing a separate alsoProvides() on the function.
>>
>> 2) An interfaceProvides directive:
>>
>>
>> class IFoo(Interface):
>> interfaceProvides(ISomeMarker)
>>
>> This is alternative to doing alsoProvides() on the interface.
>>
>> The reason for this is that currently, you have to put those
>> alsoProvides() lines after the function or interface. This makes them
>> difficult to find if the bodies of the functions or interfaces are long,
>> and goes against the convention of having the "what is this" information
>> at the top of the entity.
>>
>> I can probably help implement this. Any thoughts?
>
> You should probably add a "class decorator" 'interfaceProvider', as
> well, because the "in-suite" versions are problematic for 2to3
> conversion (IIRC what Lennart said yesterday).
I'm not sure I understand what you mean by that. Can you show an example?
Martin
--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book
More information about the Zope-Dev
mailing list