We document here attempts to come up with a command-line script that would post a picture or a gem directly from a UNIX machine to a Manila site. Our first victim (after some unpleasant experiences with the mess of modules that is Perl) is Python and the XML-RPC module. Our guiding light is this discussion message and the replies.
After putting the XML-RPC module files in
$HOME/lib/python, the simple example works:
tempest(~)% setenv PYTHONPATH $HOME/lib/python tempest(~)% python >>> from xmlrpclib import Server >>> betty = Server("http://betty.userland.com") >>> print betty.examples.getStateName(43) Texas >>>
We go on to create a class
manila.py following David Detlefsen post mentioned above. All the RPC handlers used in that class seem to be defined in Frontier
manilaSuite.rpcHandlers table. Then the
postjpeg.py script can be used to post JPEG files from GIMP using the command line. But there doesn't seem to be a suitable XML-RPC interface in Manila for posting gems?
As of October 2001, there is an even fuller interface to Manila for Python, called
pyManila. We had to create a slightly modified version to work with the site names we use, and made an updated script to use this module. The advantage over our older module is that pyManila supports news items; a similar news item script posts CVS log entries to a Manila server. It needs to be invoked from
$CVSROOT/CVSROOT/loginfo like this:
pager (echo %s; cat) | postcvslog Pagerwhere
pageris CVS module match string and
Pageris the corresponding news item department name.
There are also other useful Python modules written by Mark Pilgrim, including wrapper to the Google API.
- XML-RPC directory
- XML-RPC specification
- XML-RPC as object model
- How to write and call an XML-RPC handler
- WebServices in Mac OS X from Apple
- WebServices framework for Cocoa from Ranchero
- Mulle framework for Cocoa
- XML-RPC for Python
- XML-RPC for C and C++
- XML-RPC EPI implementation for C
- Building XML-RPC clients in C
- Calling XML-RPC and SOAP on Mac OS X
- SOAP page of the Globus project by Dave Angulo
- Grid Web Services at Indiana