[Checkins] SVN: zopyx.smartprintng.client/trunk/zopyx/smartprintng/client/zip_client.py added

Andreas Jung andreas at andreas-jung.com
Tue Jul 7 10:43:19 EDT 2009


Log message for revision 101711:
  added
  

Changed:
  A   zopyx.smartprintng.client/trunk/zopyx/smartprintng/client/zip_client.py

-=-
Added: zopyx.smartprintng.client/trunk/zopyx/smartprintng/client/zip_client.py
===================================================================
--- zopyx.smartprintng.client/trunk/zopyx/smartprintng/client/zip_client.py	                        (rev 0)
+++ zopyx.smartprintng.client/trunk/zopyx/smartprintng/client/zip_client.py	2009-07-07 14:43:19 UTC (rev 101711)
@@ -0,0 +1,39 @@
+import os
+import sys
+import base64
+import xmlrpclib
+import zipfile
+import tempfile
+import zipfile
+
+# XMLRPC server instance
+
+def convertZIP(dirname, converter_name='pdf-prince', host='localhost', port=6543):
+    os.chdir(dirname)
+    server = xmlrpclib.ServerProxy('http://%s:%d/convertZIP' % (host, port))
+    zip_filename = tempfile.mktemp()
+    ZF = zipfile.ZipFile(zip_filename, 'w')
+    for fname in os.listdir('.'):
+        if not os.path.isfile(fname):
+            continue
+        fullname = os.path.join(dirname, fname)
+        ZF.write(fname)
+    ZF.close()
+
+    # send the ZIP archive base64 encoded
+    zip_data = server.convertZIP(base64.encodestring(file(zip_filename, 'rb').read()),
+                                converter_name)
+
+    # and receive the result PDF as base64 encoded ZIP archive
+    zip_temp = tempfile.mktemp()
+    file(zip_temp, 'wb').write(base64.decodestring(zip_data))
+    ZF = zipfile.ZipFile(zip_temp, 'r')
+    names = ZF.namelist()
+    output_filename = names[0]
+    file(output_filename, 'wb').write(ZF.read(output_filename))
+    ZF.close()
+    return output_filename
+
+if __name__ == '__main__':
+    print convertZIP(sys.argv[1])
+



More information about the Checkins mailing list