Mercurial > odfcast
view castclient.py @ 91:607694092e2e
Extend CheckView to behave more like the actual merge.
Now the merged file is also written to a temporary file in order to make
sure the merge object actually reads all the contents of the input file.
As it turns out, some contents of the input file are only read on demand
and simply appending the file to the merge does not trigger this.
Part of mpuls/issue5709
author | Bernhard Herzog <bh@intevation.de> |
---|---|
date | Thu, 26 May 2016 21:21:18 +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()