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
141
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     1
#!/usr/bin/env python
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     2
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     3
"""
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     4
    Development server for pngtile.image serving.
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     5
"""
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     6
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     7
import argparse
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     8
import pngtile.image
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     9
import werkzeug.serving
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    10
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    11
def main ():
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    12
    parser = argparse.ArgumentParser(description=__doc__)
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    13
    parser.add_argument('--listen',     metavar='ADDR', default='0.0.0.0',
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    14
            help="Listen on address")
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    15
    parser.add_argument('--port',       metavar='PORT', type=int, default=8080,
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    16
            help="Listen on port")
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    17
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    18
    parser.add_argument('--reload',     action='store_true',
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    19
            help="Reload")
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    20
    parser.add_argument('--debugger',   action='store_true',
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    21
            help="Debugger")
153
55f3d3bc95d3 pngtile.image: use --tile-server as url, fix render_dir href's, support legacy urls
Tero Marttila <terom@qmsk.net>
parents: 141
diff changeset
    22
    
55f3d3bc95d3 pngtile.image: use --tile-server as url, fix render_dir href's, support legacy urls
Tero Marttila <terom@qmsk.net>
parents: 141
diff changeset
    23
    parser.add_argument('--tile-server',    metavar='URL', required=True,
55f3d3bc95d3 pngtile.image: use --tile-server as url, fix render_dir href's, support legacy urls
Tero Marttila <terom@qmsk.net>
parents: 141
diff changeset
    24
            help="http://.../ URL to tileserver root")
141
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    25
    parser.add_argument('--static',     metavar='PATH', default='./static',
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    26
            help="Path to /static")
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    27
    parser.add_argument('image_root',   metavar='PATH',
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    28
            help="Path to images")
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    29
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    30
    args = parser.parse_args()
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    31
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    32
    application = pngtile.image.ImageApplication(
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    33
        image_root  = args.image_root,
153
55f3d3bc95d3 pngtile.image: use --tile-server as url, fix render_dir href's, support legacy urls
Tero Marttila <terom@qmsk.net>
parents: 141
diff changeset
    34
55f3d3bc95d3 pngtile.image: use --tile-server as url, fix render_dir href's, support legacy urls
Tero Marttila <terom@qmsk.net>
parents: 141
diff changeset
    35
        tile_server = args.tile_server,
141
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    36
    )
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    37
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    38
    werkzeug.serving.run_simple(args.listen, args.port, application,
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    39
            use_reloader    = args.reload,
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    40
            use_debugger    = args.debugger,
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    41
            static_files    = {
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    42
                '/static':  args.static,
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    43
            },
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    44
    )
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    45
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    46
if __name__ == '__main__':
19a3ed063d18 pngtile.image: leaflet browser for tiles; coordinates are still wonky..
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    47
    main()