zope acquistion

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • John Hunter

    zope acquistion


    I know this post is better on the zope mailing list (in fact I posted
    it there). But for some reason my posts there are being help for days
    before getting through and I'm hopeful the good folks on this list
    will have an answer for me!

    I have a zope containment hierarchy

    base/somefolder/myobj
    base/other

    base, somefolder, myobj, and other are all instances of a MyFolder
    class which is derived from Folder. MyFolder is a simple extension of
    Folder that limits the allowed meta classes.

    I would like to acquire the 'other' folder from a myobj instance using
    the python API. Ie, I have a class method in which I need to be able
    to do

    def somemethod(self , someinstance):
    otherFolder = acquisition_mag ic(someinstance , 'other')

    where I know someinstance is a MyFolder instance which is either base
    itself, is contained in base (possibly deep in the tree). Ie, I would
    like this method to work if someinstance is one of base, somefolder,
    or myobj.

    Since all of these instances derive from Acquisition.Imp licit via
    ObjectManager, I think I should be able to do this.

    I thought

    from Acquisition import aq_get, aq_acquire, aq_parent

    def somemethod(self , someinstance):
    folder = aq_acquire(some instance, 'other')

    would do it for me, but this raises an AttributeError when passed a
    myobj instance.

    Thanks!
    JDH

    zope 2.7

Working...