bin/image-server
author Tero Marttila <terom@qmsk.net>
Sat, 04 Oct 2014 03:03:17 +0300
changeset 174 58c9e2de0dd4
parent 168 260aa4a05e82
permissions -rwxr-xr-x
pngtile.cache: set last_modified/cache-control in 304 response as well..
#!/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('--tiles-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,

        tiles_server = args.tiles_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()