[EMAIL PROTECTED] wrote:
>> I'm working on removing BBB warnings of our current app for 3.3.
>> For the <vocabulay> directive it was possible to give the 
>> factory some parameters like this:
>>
>> <vocabulary
>>       name="doctype"
>>       factory="..vocab.ContainerVocabulary"
>>       containerName="doctype" />
>>
>> Now, with the <utility> directive that's not possible.
> 
> Write a own factory like:
> 
> class DocTypeContainerVocabulary(ContainerVocabulary):
> 
>   def __init__(self):
>       super(DocTypeContainerVocabulary, self).__init__()
>       self.containerName = 'doctype'
> 
> and also you have to *patch* your class with :
> 
> classProvides(DocTypeContainerVocabulary, IVocabularyFactory)

This is unnecessarily complicated. Simply do:

class DocTypeContainerVocabulary(ContainerVocabulary):
    containerName = 'doctype'
    zope.interface.classProvides(IVocabularyFactory)

Btw, the "classProvides" thing isn't "patching". Not sure what you mean,
Roger, but it looks like you wanted to give this a negative connotation.

Philipp

_______________________________________________
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com

Reply via email to