view castclient.py @ 99:349d49bb69f4

Porting on python3
author Magnus Schieder <mschieder@intevation.de>
date Tue, 19 Jun 2018 15:07:56 +0200
parents aee742cdd604
children
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)