I'm setting up a document repository that allows people to upload files (Using Zope) to a LocalFS directory.
Those files then become visible through the Zope management interface. Is there any Zope friendly way to launch external Linux apps to process them once they have been uploaded? I'd like to translate .dvi and Word .doc files into PDF using wvWare and dvipdfm.
I suppose I could use a cron job and a shell script to do the conversion at regular intervals, but I'd rather do it immediately. I guess what I am asking is if Zope's Python can be told to launch apps on the hosting machine.. But that seems like it would be a major security hole, so I understand if its not possible..
You can't access your system with TTW code, but that which resides on the filesystem can do whatever it pleases. There are two approaches: - only do uploads through your own scripts. These would take the file-like object from the request, perform the conversion on it, and then add it to your repository. The script itself could be an External Method, or (better, I think) a Python Script that calls whatever External Methods (or Product methods) it needs to do the conversion. Those external methods can use system programs through whatever os.* call is most appropriate to create and return the converted file. - convert things as above, but overwrite the PUT method on the repository to handle uploads. This will make it a more fundamental change. --jcc