[Zope-dev] Dynamically add an external method at startup

Emile van Sebille Emile van Sebille" <emile@fcfw.fenx.com
Mon, 3 Jun 2002 09:13:24 -0700


Emile van Sebille
> Thanks Philipp.  That answers one of the questions.  Can you tell me
how
> to acquire a reference to a folder given that I've got my hands on
> context and can import Zope, etc?
>
I found a post in the archives from Martijn Pieters that put me on the
right track so I've got something that works for me:

from Products.ExternalMethod.ExternalMethod import ExternalMethod

def addExternalMethod(self, id, title, module, function, REQUEST=None):
    """Add an external method to a folder"""
    id=str(id)
    title=str(title)
    module=str(module)
    function=str(function)
    i=ExternalMethod(id,title,module,function)
    self._setObject(id,i)

def initialize(context):
    """Initialize"""
    addExternalMethod(context._ProductContext__app, "id", "title",
"module", "func")

--

Emile van Sebille
emile@fenx.com

---------