[Interface-dev] Re: [Zope3-dev] tagged value handling inconsequent
	for interface methods and attributes and interfaces themself
    Jim Fulton 
    jim at zope.com
       
    Mon Oct 24 16:44:29 EDT 2005
    
    
  
Stephan Richter wrote:
> On Wednesday 19 October 2005 05:51, Grégoire Weber wrote:
> 
>>while modeling the external API of an application I'd like to use the
>>tagged value feature of the interface implementation.
>>
>>It seems to me that handling tagged values is implemented inconsequently.
> 
> 
> I plan to make a proposal that would allow the following:
> 
> import zope.interface
> 
> class IFoo(zope.interface.Interface):
> 
>   attr = zope.interface.Attribute('doc string')
> 
>   def method():
>     """doc string"""
> 
> interfaceTags = zope.interface.interfaces.ITaggedValues(IFoo)
> interfaceTags.someVariable = value
> 
> attributeTags = zope.interface.interfaces.ITaggedValues(IFoo['attr'])
> attributeTags.someVariable = value
> 
> methodTags = zope.interface.interfaces.ITaggedValues(IFoo['method'])
> methodTags.someVariable = value
> 
> Alternatively, I would like to try the following as well:
> 
> from zope.interface.interfaces import ITaggedValue
> 
> class IFoo(zope.interface.Interface):
> 
>   attr = zope.interface.Attribute('doc string')
>   ITaggedValues(attr).someVariable = value
> 
> Any comments before I spend time writing this up?
This won't work for tags whos keys are not python identifiers.
I'd like to encourage people to use ids (dotted names or urls) for
tags.
Jim
-- 
Jim Fulton           mailto:jim at zope.com       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org
    
    
More information about the Zope3-dev
mailing list