[Zope3-dev] Re: <vocabulary> BBB
Philipp von Weitershausen
philipp at weitershausen.de
Wed May 17 14:32:19 EDT 2006
dev at projekt01.ch 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
More information about the Zope3-dev
mailing list