Mercurial > odfcast
view castclient.py @ 96:f6d87a17ed84 1.5.1
Require a newer version of py3o.template.
Version 0.9.11 is newest one available at the moment. The issue we were
having with some ODT templates might have been fixed in an earlier
version (e.g. 0.9.9) but I've only tested it with 0.9.11.
author | Bernhard Herzog <bh@intevation.de> |
---|---|
date | Fri, 25 Aug 2017 18:36:44 +0200 |
parents | aee742cdd604 |
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] infile outfile" parser = optparse.OptionParser(usage=usage) parser.add_option("-f", "--format", default="pdf") parser.add_option("-s", "--host", default="localhost") parser.add_option("-p", "--port", default="5000") parser.add_option("--json", dest="json", metavar="FILE") (options, args) = parser.parse_args() if len(args) < 2: parser.print_usage() sys.exit(1) url = "http://%s:%s/convert/" % (options.host, options.port) infilename = args[0] outfilename = args[1] format = options.format files = {'file': open(infilename, 'rb')} data = {'format': format} if options.json: with open(options.json, "r") as f: data["datadict"] = f.read() r = requests.post(url, data=data, files=files) if r.status_code == 200: with open(outfilename, "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()