[Zope] caling script after PUT (was: getting parent in product)

Christopher N. Deckard cnd@ecn.purdue.edu
Fri, 1 Aug 2003 13:06:32 -0500


Apologies, I forgot to change the subject of the message.

-Chris

On Fri, 1 Aug 2003 13:04:49 -0500, Christopher N. Deckard spoke
forth:

> Hello,
> I've written a ZMI configurable PutFactory Product to allow our
> users to be able to configure what types of objects are created
> when files are PUT using WebDav.  What I would like to add is the
> ability to call a script immediately after the object is created. 
> The script could do things like auto-catalog images in a ZCatalog
> or send out an email every time a file is uploaded.
> 
> Looking at the code in webdav/NullResource.py NullResources.PUT():
> 
>       ob = (factory(name, typ, body) or
>             self._default_PUT_factory(name, typ, body)
>             )
>       # We call _verifyObjectPaste with verify_src=0, to see if
>       the # user can create this type of object (and we don't need
>       to   # check the clipboard.        
>       try:
>           parent._verifyObjectPaste(ob.__of__(parent), 0)
>       except Unauthorized:
>           raise
>       except:
>           raise 'Forbidden', sys.exc_info()[1]
>                                                                 
   
>       # Delegate actual PUT handling to the new object.
>       ob.PUT(REQUEST, RESPONSE)
>       self.__parent__._setObject(name, ob)
>                                                                 
   
>       RESPONSE.setStatus(201)
> 
> it doesn't look like I can do what I'd like to do without
> overriding NullResource.PUT().  Any thoughts on how to accomplish
> this?  
> 
> Thanks,
> -Chris
> 


-- 
--------------------------------------------------------------------
    Christopher N. Deckard      |     Lead Web Systems Developer
      cnd@ecn.purdue.edu        |    Engineering Computer Network
  http://eng.purdue.edu/ECN/    |         Purdue University 
---- zlib.decompress('x\234K\316Kq((-J)M\325KM)\005\000)"\005w') ---