Mercurial > odfcast
view mergeclient.py @ 79:bd3e5fdd8398 1.0
Add apache site configuraton file for odfcase as wsgi application.
Put the file apache-site.conf into /etc/apache2/sites-available/.
It assumes that odfcast is installed as
/home/mpuls/odfcast/releases/current and that there's a python
environment with its site-packages in
/home/mpuls/odfcast/env/lib/python2.7/site-packages. This is the setup used on the mpuls staging servers.
author | Bernhard Herzog <bh@intevation.de> |
---|---|
date | Wed, 25 Feb 2015 19:36:21 +0100 |
parents | 4645e50539ff |
children | 349d49bb69f4 |
line wrap: on
line source
#!/usr/bin/env python # -*- coding: utf-8 -*- import optparse import sys import requests def main(): usage = "usage: %prog [options] file1 file2 [ file3, ...]" parser = optparse.OptionParser(usage=usage) parser.add_option("-s", "--host", default="localhost") parser.add_option("-p", "--port", default="5000") parser.add_option("-o", "--out", default="merged.pdf", dest="out") parser.add_option("-i", "--ignore-file-errors", action="store_true", default=False, dest="ignorefileerrors") parser.add_option("-m", "--multi", action="store_true", default=False, dest="multi") (options, args) = parser.parse_args() if len(args) < 2: parser.print_usage() sys.exit(1) service = "merge" url = "http://%s:%s/%s/" % (options.host, options.port, service) if options.ignorefileerrors: url += "?ignore_file_errors=1" files = [] if options.multi: for i, filename in enumerate(args): files.append(("file%s" % i, open(filename, 'rb'))) else: for filename in args: files.append(('files', open(filename, 'rb'))) r = requests.post(url, files=files) if r.status_code == 200: with open(options.out, "wb") as f: f.write(r.content) print "OK" else: print "An error has occured" print r.status_code, r.headers print r.text sys.exit(2) if __name__ == "__main__": main()