Mercurial > odfcast
view castclient.py @ 78:b7e4f50c75ba
Add six != 1.9 to the requirements.
According to Björn, the version of six in Debigan wheezy is too old and
odfcast needs at least version 1.9.
For some reason it was missing from requirements.txt, so we add it now.
author | Bernhard Herzog <bh@intevation.de> |
---|---|
date | Wed, 25 Feb 2015 18:57:25 +0100 |
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()