bin/tile-server
author Tero Marttila <terom@qmsk.net>
Sat, 04 Oct 2014 01:04:45 +0300
changeset 169 b69ffcd1ecc7
parent 165 1dc09e81a4e2
permissions -rwxr-xr-x
bin/tile-server --threaded
135
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     1
#!/usr/bin/env python
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     2
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     3
"""
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     4
    Development server for pngtile.tile serving.
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     5
"""
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     6
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     7
import argparse
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     8
import pngtile.tile
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     9
import werkzeug.serving
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    10
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    11
def main ():
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    12
    parser = argparse.ArgumentParser(description=__doc__)
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    13
    parser.add_argument('--listen',     metavar='ADDR', default='0.0.0.0',
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    14
            help="Listen on address")
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    15
    parser.add_argument('--port',       metavar='PORT', type=int, default=8080,
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    16
            help="Listen on port")
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    17
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    18
    parser.add_argument('--reload',     action='store_true',
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    19
            help="Reload")
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    20
    parser.add_argument('--debugger',   action='store_true',
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    21
            help="Debugger")
169
b69ffcd1ecc7 bin/tile-server --threaded
Tero Marttila <terom@qmsk.net>
parents: 165
diff changeset
    22
    parser.add_argument('--threaded',   action='store_true',
b69ffcd1ecc7 bin/tile-server --threaded
Tero Marttila <terom@qmsk.net>
parents: 165
diff changeset
    23
            help="Use threaded requests")
135
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    24
165
1dc09e81a4e2 pngtile.tile: handle dir/image requests by redirecting to image_server
Tero Marttila <terom@qmsk.net>
parents: 138
diff changeset
    25
    parser.add_argument('--image-server',    metavar='URL', required=True,
1dc09e81a4e2 pngtile.tile: handle dir/image requests by redirecting to image_server
Tero Marttila <terom@qmsk.net>
parents: 138
diff changeset
    26
            help="http://.../ URL to imageserver root")
135
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    27
    parser.add_argument('image_root',   metavar='PATH',
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    28
            help="Path to images")
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    29
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    30
    args = parser.parse_args()
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    31
138
59d61da2b64f pngtile.tile: split off BaseAppliation
Tero Marttila <terom@paivola.fi>
parents: 135
diff changeset
    32
    application = pngtile.tile.TileApplication(
165
1dc09e81a4e2 pngtile.tile: handle dir/image requests by redirecting to image_server
Tero Marttila <terom@qmsk.net>
parents: 138
diff changeset
    33
        image_root      = args.image_root,
1dc09e81a4e2 pngtile.tile: handle dir/image requests by redirecting to image_server
Tero Marttila <terom@qmsk.net>
parents: 138
diff changeset
    34
1dc09e81a4e2 pngtile.tile: handle dir/image requests by redirecting to image_server
Tero Marttila <terom@qmsk.net>
parents: 138
diff changeset
    35
        image_server    = args.image_server,
135
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    36
    )
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    37
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    38
    werkzeug.serving.run_simple(args.listen, args.port, application,
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    39
            use_reloader    = args.reload,
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    40
            use_debugger    = args.debugger,
169
b69ffcd1ecc7 bin/tile-server --threaded
Tero Marttila <terom@qmsk.net>
parents: 165
diff changeset
    41
            threaded        = args.threaded,
135
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    42
    )
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    43
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    44
if __name__ == '__main__':
e99dd75afa15 pngtile.tile: separate Application dedicated to PNG serving
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    45
    main()