[Zope] Replace files in a specific directory using pythonscri
pt
Ria Marinussen
marinus@cs.utwente.nl
Fri, 8 Nov 2002 16:50:45 +0100
Hi Heimo,
Problem solved.
Thanks for the directions.
(I was looking for a source file named "File.py" not "Image.py". )
For those who are interested in the sollution:
the source tells me:
....
def manage_edit(self, title, content_type, precondition='',
filedata=None, REQUEST=None):
"""
Changes the title and content type attributes of the File or Image.
"""
....
def manage_upload(self,file='',REQUEST=None):
"""
Replaces the current contents of the File or Image object with file.
The file or images contents are replaced with the contents of
'file'.
"""
...
so for my problem I needed "manage_upload".
Using "manage_upload" I could successfully edit the content of the object,
but I couldn't
upload the file-content I wanted.
Untill I looked at my form header-tag and realized I forgot to include
"enctype="multipart/form-data".
Stupid me!
So a simple "context.objectname.manage_upload(file)" (with file being the
name of the file-object to upload, and objectname being the name of the zope
file-object) did the trick.
Ria
> -----Original Message-----
> From: Heimo Laukkanen [mailto:huima@fountainpark.org]
> Sent: donderdag 7 november 2002 20:46
> To: zope@zope.org
> Cc: marinus@cs.utwente.nl
> Subject: [Zope] Replace files in a specific directory using
> pythonscript
>
>
>
> >I know it is possible to upload a new file replacing the file for a
> >certain
> >ID because in the zope management interface this is done
> by editing >the
> >FileObject with the specified ID.
> >I read in the bugcollector that the method "updata_data"
> cannot be >used,
> >instead "manage_upload" should be used.
> ...
> >Can anyone provide me with a sample python script that uses
> (or clues
> >how to
> >use) manage_upload to upload this file to the correct ID?
>
> I don't have a sample script, but some clues to help you on. First of
> all, learn to check and search help from the Zope Books API section
> and/or the help in your Zope server. These files give you some idea
> atleast.
>
> And then the best source for help is the source code. If you see
> something done in the Zope interfaces etc. you can try to
> look for those
> sources too, for some help.
>
> But now for the real help:
>
> With the form - listing all the files in the directory, you can get a
> good idea from the Examples that come with Zope. There is the
> FileLibrary example that shows you a lot.
>
> For File object, the update function is manage_edit. So in
> your script
> you will call this function for the object you want to update.
>
> Below is how it is defined in the source ( lib/python/OFS/Image.py ):
>
> def manage_edit(self, title, content_type, precondition='',
> filedata=None, REQUEST=None):
>
>
> Hope this helps.
>
> -huima
>