view mergeclient.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 4645e50539ff
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] file1 file2 [ file3, ...]"
    parser = optparse.OptionParser(usage=usage)
    parser.add_option("-s", "--host", default="localhost")
    parser.add_option("-p", "--port", default="5000")
    parser.add_option("-o", "--out", default="merged.pdf", dest="out")
    parser.add_option("-i", "--ignore-file-errors", action="store_true",
                      default=False, dest="ignorefileerrors")
    parser.add_option("-m", "--multi", action="store_true",
                      default=False, dest="multi")
    (options, args) = parser.parse_args()

    if len(args) < 2:
        parser.print_usage()
        sys.exit(1)

    service = "merge"
    url = "http://%s:%s/%s/" % (options.host, options.port, service)

    if options.ignorefileerrors:
        url += "?ignore_file_errors=1"

    files = []

    if options.multi:
        for i, filename in enumerate(args):
            files.append(("file%s" % i, open(filename, 'rb')))
    else:
        for filename in args:
            files.append(('files', open(filename, 'rb')))

    r = requests.post(url, files=files)

    if r.status_code == 200:
        with open(options.out, "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)