[Zope] picture as parameter for an external method

Dragos Chirila d.chirila at finsiel.ro
Mon Oct 11 11:19:43 EDT 2004


Hi

I just simulate your situation and it works great.

I attached the picture.zexp file that generates a folder with :
	upload_html - page template
	py_test - python script
	my_external_function - external method

The my_external_function.py from extensions contains just:

def my_external_function(self, picture):
      print type(picture)
      print picture

I tested it on Zope 2.5.1 and 2.6.4.

Hope this will help.

Dragos


VIGNAUX Philippe wrote:
> Thanks for your help Tino,
> 
> 
> 1) For clarity purpose here is the whole page template
> 
> 
> <html>
> <head>
> <title> Titre </title>
> </head>
> <body>
> <form action="py_test" enctype='multipart/form-data' method='post'>
> <input type="file" name="filename">
> <br><br>
> <input type="submit" name="toto">
> </form>
> </body>
> </html>
> 
> 
> 2) here is the python script "py_test"
> 
> request=context.REQUEST
> context.my_external_function( original_id=request['filename'] )
> #context.my_external_function( original_id=request.form.get('filename') )
> #context.my_external_function( request['filename'] )
> 
> !!nb: the 2 commented lines do not change anything to the error message
> ...
> 
> 
> 
> 3) my_external_function
> 
> def my_external_function (self, original_id):
>      pass
> 
> 
> Of course this external method is supposed to do much more.  I hope to be
> able to create thumbnail (as an example seen in the zope book).  But i
> have simplified it as much as possible to see where the problem was
> located.  I'm sure i ll have other problems to create the thumbnails ...
> : - )   but the real problem at this time is to pass a picture to the
> exernal method ...
> 
> 
> Regards
> 
> Ph.
> 
> 
> -----Original Message-----
> From: Tino Wildenhain [mailto:tino at wildenhain.de]
> Sent: lundi 11 octobre 2004 12:53
> To: VIGNAUX Philippe
> Cc: zope at zope.org
> Subject: Re: [Zope] picture as parameter for an external method
> 
> On Mon, 2004-10-11 at 11:58, VIGNAUX Philippe wrote:
> 
>>Hi !
>>
>>
>>
>>Is there a way to pass a picture (extension JPG)  as a parameter of an
>>external method.
>>It seem to be the case as read on the internet but for me it doesnÿt
>>work !
>>My zope config :  Zope 2.6.4 (binary release, python 2.1, win32-x86),
>>python 2.1.3, win32
>>This is the problem :
>>1) Iÿve got a page template where I can choose a picture thru a
>>« file » object :
>><input type="file" name="filename">
> 
> 
> Did you adjust enctype accordingly?
> 
> 
>>2) This page template calls a python scripts
> 
> 
> Calls? The Template is target of the POST request
> too?
> 
> 
>>request=context.REQUEST
>>context.my_external_function( original_id=request['filename'] )
>>#context.my_external_function( request['filename'] )
> 
> 
> if you do it the right way[tm] (see the enctype you can borrow
> from any ZMI HTML source which has a file upload)
> request.form.get('filename') will give you a file object.
> (If you return from form of course)
> 
> 
> 
>>3) my_external_function is defined in an appropiate module in the
>>« Extensions » folder of my zope installation
>>
>>def my_external_function (self, original_id):
>>
>>     pass
>>
> 
> This is all?
> 
> 
>>PROBLEM :   when i run the process i get an error :
>>
>>
>>
>>exceptions.AssertionError
>>
>>Sorry, a site error occurred.
>>
>>Traceback (innermost last):
>>
>>      * Module ZPublisher.Publish, line 150, in publish_module
>>      * Module ZPublisher.Publish, line 106, in publish
>>      * Module Zope.App.startup, line 225, in abort
>>      * Module ZODB.Transaction, line 135, in abort
>>      * Module ZODB.Connection, line 256, in abort
>>
>>When i configure the whole thing to pass a normal parameter (text), it
>>works normally ;  so obviously the problem is when trying to pass a
>>picture.
>>
> 
> This might be related to the enctype. Try it first I'd say.
> What is your external method supposed to do?
> 
> Regards
> Tino
> 
> ###########################################
> 
> This message has been scanned by ICT - Africa Museum
> 
> _______________________________________________
> Zope maillist  -  Zope at zope.org
> http://mail.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists - 
>  http://mail.zope.org/mailman/listinfo/zope-announce
>  http://mail.zope.org/mailman/listinfo/zope-dev )
> 


-- 
Dragos Chirila
Programmer, Finsiel ROMANIA
44A, Ficusului St. - 71544 Bucharest
Tel: +40 21 2320193
Fax: +40 21 2329807
URL: http://www.finsiel.ro
Jabber: dragos at jabber.finsiel.ro
-------------- next part --------------
A non-text attachment was scrubbed...
Name: picture.zexp
Type: application/octet-stream
Size: 3476 bytes
Desc: not available
Url : http://mail.zope.org/pipermail/zope/attachments/20041011/3b5e7b84/picture.obj


More information about the Zope mailing list