[Zope] newbie - howto get a local javascript file to become a
object in Zope
J Cameron Cooper
jccooper@jcameroncooper.com
Sat, 29 Mar 2003 15:30:59 -0600
>
>
>I have a javascript file located at my local harddisk and I want it to
>become an object in zope. I have already tried to use manage_addFile,
>but it doesnt seem to find the file. In Zope mangement view its easy
>enough to create a txt-file and get it on working, but when I want to
>do the exact same thing in a Product created with Python, it just
>wont!
>
>
>So far I have also tried to find some other objects that I might use
>instead of manage_addFile, but havent succeded yet.
>
I'm mildly confused as to what you're trying to do here, and I suspect
that's because you are too.
If you want to simply create a single object in your ZODB containing the
text of your javascript file, do it through the web as a File, selecting
your js file for upload. Change the content type to text/plain or
whatever MIME type Javascript might be, and you're done. I do this with
CSS all the time.
To add a File from python code, you must give it a fileish object or a
string containing the contents as the 'file' parameter. That means that
you must find the file via its path and create a Python file-ish object
(usually by way of the built-in open() method) or read its contents into
a string. This you can pass to manage_addFile. It won't deal with a path.
Selecting the file and getting the data in the proper format is done
automatically by your browser for the input type of 'file'. Outside it,
you must do it yourself.
If you're subclassing File (to make, say, a JavascriptFile) you'll have
to write your own 'manage_addWhatever' function to be called from the
web or other Products. It can be almost identical to manage_addFile, but
you must call your new Product's class constructor, and not the File one.
--jcc