On Wed May 24 2006 07:00, Martijn Faassen wrote: > Ron Bickers wrote: > > I was trying to implement the new annotations factory in > > zope/annotation/README.txt but I'm getting a ForbiddenAttribute > > __annotations__ error when I try to view an editform for the > > annotations. > > > > Before, I had configured a trusted adapter, but since (I think) an > > adapter directive is not needed for this, I don't know how to make it > > trusted or otherwise fix the problem. > > > > Any ideas? > > These annotations still get registered using the adapter statement: > > <adapter > factory=".my.annotationfactory" > trusted="true" > />
I tried this, but I'm still having trouble. Perhaps I'm missing something simple. I have the following: An IItem interface and a class Item implementation that's attribute annotatable. The annotation interface and class are as follows: class IItemMiscInfo(Interface): inStock = Bool( title=u"In Stock", description=u"Is item in stock?", default=True) class ItemMiscInfo(Persistent): implements(IItemMiscInfo) adapts(IItem) def __init__(self): self.inStock = True What am I supposed to use in the adapter directive as the factory? If I put ".item.ItemMiscInfo", I get "TypeError: Missing 'provides' attribute" when starting Zope. If I add provides=".interfaces.IItemMiscInfo", I get the following error when trying to access the editform: File "/usr/lib/zope-3.3.0_beta1/lib/python/zope/security/adapter.py", line 84, in __call__ adapter = self.factory(*args) TypeError: __init__() takes exactly 1 argument (2 given) The README says to do this: zope.component.provideAdapter(zope.annotation.factory(Item)) I can do that in a debug session and it works as expected, I just can't figure out the rest. What am I missing? -- Ron _______________________________________________ Zope3-users mailing list Zope3-users@zope.org http://mail.zope.org/mailman/listinfo/zope3-users