bin/image-server
author Tero Marttila <terom@qmsk.net>
Fri, 03 Oct 2014 23:56:25 +0300
changeset 165 1dc09e81a4e2
parent 153 55f3d3bc95d3
child 168 260aa4a05e82
permissions -rwxr-xr-x
pngtile.tile: handle dir/image requests by redirecting to image_server
#!/usr/bin/env python

"""
    Development server for pngtile.image serving.
"""

import argparse
import pngtile.image
import werkzeug.serving

def main ():
    parser = argparse.ArgumentParser(description=__doc__)
    parser.add_argument('--listen',     metavar='ADDR', default='0.0.0.0',
            help="Listen on address")
    parser.add_argument('--port',       metavar='PORT', type=int, default=8080,
            help="Listen on port")

    parser.add_argument('--reload',     action='store_true',
            help="Reload")
    parser.add_argument('--debugger',   action='store_true',
            help="Debugger")
    
    parser.add_argument('--tile-server',    metavar='URL', required=True,
            help="http://.../ URL to tileserver root")
    parser.add_argument('--static',     metavar='PATH', default='./static',
            help="Path to /static")
    parser.add_argument('image_root',   metavar='PATH',
            help="Path to images")

    args = parser.parse_args()

    application = pngtile.image.ImageApplication(
        image_root  = args.image_root,

        tile_server = args.tile_server,
    )

    werkzeug.serving.run_simple(args.listen, args.port, application,
            use_reloader    = args.reload,
            use_debugger    = args.debugger,
            static_files    = {
                '/static':  args.static,
            },
    )

if __name__ == '__main__':
    main()