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()
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)