[Zope-it] Chiamare pythonScript da prodotto

Vincenzo Di Somma disommav@interfree.it
Mon, 14 Apr 2003 13:25:30 +0200


ci faresti vedere come sono messi gli oggetti all`interno dell`albero di=20
zope ?
    Vincenzo.

fagati@espia.it wrote:

>Ho prova ma non funziona:
>
>mi ritorna questo errore:
>
>This site encountered an error trying to fulfill your request. The error=
s
>were:
>
>Error Details
>Error Type
>AttributeError
>Error Value
>preStore
>
>
>Il codice del metodo del prodotto TTWType che richiama il pythonScript
>preStore =E8 questo:
>
>
>    def store(self,field,value):
> """ a frontend to set in order to catch FileUploads """
> from ZPublisher.HTTPRequest import FileUpload
> from OFS.Image import File, Image
> from imghdr import what
>
> # this should be configurable at some point
> # to choose which object to create
> if isinstance(value,FileUpload):
>     # test for image type
>     if what(value) in ('gif','jpeg','png'):
>  # create an Image instance
>  value=3DImage(field,field,value)
>     else:
>  # create a File instance
>  value=3DFile(field,field,value)
>
> # now really store it
> print self
> obj =3D getattr(self, self.id)
> obj.aq_parent.preStore(field,value)
> #obj.preStore(field,value)
> self.set(field,value)
> #.postStore(field,value)
>
>
>
>
>----- Original Message -----
>From: "Vincenzo Di Somma" <disommav@interfree.it>
>To: <zope-it@zope.org>
>Sent: Monday, April 14, 2003 11:52 AM
>Subject: Re: [Zope-it] Chiamare pythonScript da prodotto
>
>
> =20
>
>>Di solito funziona. Sei sicuro di essere nel contesto giusto ?
>>Hai provato ad usare self.aq_parent al posto di self, per esempio?
>>    Vincenzo.
>>
>>fagati@espia.it wrote:
>>
>>   =20
>>
>>>Ciao,
>>>
>>>ho un piccolo problema.
>>>Vorrei poter chiamare un oggetto PythonScript, per realizzare un hook,
>>>da un Prodotto di Zope.
>>>solo che quando all'interno del prodotto provo a fare:
>>>    self.NomeScriptPython()
>>>mi da il seguente errore:
>>>    attributeError preStore( <- preStore sarebbe lo script python da
>>>cambiare).
>>>
>>>E' come se il mio prodotto non potesse usare l'acquisizione.
>>>Ho provato anhe usando il seguente codice
>>>
>>> obj =3D getattr(self, self.id)
>>> obj.preStore(field,value)
>>> self.set(field,value)
>>> obj.postStore(field,value)
>>>
>>>dove preStore e postStore sono due oggetti ScriptPython ma mi da lo
>>>stesso errore.
>>>
>>>Potete darmi una mano?
>>>Sto cercando di estendere il TTWType in modo da potergli far gestire
>>>degli hook.
>>>
>>>Francesco Agati
>>>
>>>     =20
>>>
>>
>>
>>_______________________________________________
>>Zope-it maillist  -  Zope-it@zope.org
>>http://mail.zope.org/mailman/listinfo/zope-it
>>
>>   =20
>>
>
>
>_______________________________________________
>Zope-it maillist  -  Zope-it@zope.org
>http://mail.zope.org/mailman/listinfo/zope-it
>
>
> =20
>