view castclient.py @ 95:4c1a748091d7

Added tag 1.5 for changeset 2ef34abbad8d
author Bernhard Herzog <bh@intevation.de>
date Fri, 28 Apr 2017 21:04:43 +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)