author | Tero Marttila <terom@paivola.fi> |
Sat, 26 Jan 2013 17:52:40 +0200 | |
changeset 178 | f9f5e669bace |
parent 165 | 60fc0594a201 |
child 226 | 8658d4e09ae2 |
permissions | -rwxr-xr-x |
0 | 1 |
#!/usr/bin/python |
2 |
||
3 |
from werkzeug.serving import run_simple |
|
4 |
||
5 |
from pvl import __version__ |
|
6 |
import pvl.args |
|
165
60fc0594a201
implement pvl.web.args for pvl.verkko-rrd/dhcp
Tero Marttila <terom@paivola.fi>
parents:
151
diff
changeset
|
7 |
import pvl.web.args |
178
f9f5e669bace
pvl.verkko: refactor into dhcp -> hosts -> web+db modules, reworking index page
Tero Marttila <terom@paivola.fi>
parents:
165
diff
changeset
|
8 |
import pvl.verkko |
f9f5e669bace
pvl.verkko: refactor into dhcp -> hosts -> web+db modules, reworking index page
Tero Marttila <terom@paivola.fi>
parents:
165
diff
changeset
|
9 |
import pvl.verkko.dhcp |
0 | 10 |
|
11 |
import optparse |
|
12 |
import logging; log = logging.getLogger('main') |
|
13 |
||
14 |
def parse_argv (argv, doc = __doc__) : |
|
15 |
""" |
|
16 |
Parse command-line argv, returning (options, args). |
|
17 |
""" |
|
18 |
||
19 |
prog = argv.pop(0) |
|
20 |
args = argv |
|
21 |
||
22 |
# optparse |
|
23 |
parser = optparse.OptionParser( |
|
24 |
prog = prog, |
|
25 |
usage = '%prog: [options] [<user> [...]]', |
|
26 |
version = __version__, |
|
27 |
description = doc, |
|
28 |
) |
|
29 |
||
30 |
# common |
|
31 |
parser.add_option_group(pvl.args.parser(parser)) |
|
165
60fc0594a201
implement pvl.web.args for pvl.verkko-rrd/dhcp
Tero Marttila <terom@paivola.fi>
parents:
151
diff
changeset
|
32 |
parser.add_option_group(pvl.web.args.parser(parser)) |
0 | 33 |
|
14
02c21749cb4f
pvl.verkko: re-add last_msg back to db, implement state, seen filtering in web frontend
Tero Marttila <terom@paivola.fi>
parents:
2
diff
changeset
|
34 |
parser.add_option('-d', '--database-read', metavar='URI', default='sqlite:///var/verkko.db', |
2
b0659c867226
fixup pvl.verkko.wsgi.Application + test.py/wsgi to remove default path from pvl.verkko.db
Tero Marttila <terom@paivola.fi>
parents:
0
diff
changeset
|
35 |
help="Database to use (readonly)") |
b0659c867226
fixup pvl.verkko.wsgi.Application + test.py/wsgi to remove default path from pvl.verkko.db
Tero Marttila <terom@paivola.fi>
parents:
0
diff
changeset
|
36 |
|
0 | 37 |
# parse |
38 |
options, args = parser.parse_args(args) |
|
39 |
||
40 |
# apply |
|
41 |
pvl.args.apply(options) |
|
42 |
||
43 |
return options, args |
|
44 |
||
45 |
def main (argv) : |
|
46 |
""" |
|
151
8a9f01036091
split pvl.web from pvl.verkko, rename test.py -> pvl.verkko-dhcp
Tero Marttila <terom@paivola.fi>
parents:
14
diff
changeset
|
47 |
pvl.verkko wsgi development server. |
0 | 48 |
""" |
49 |
||
50 |
# parse cmdline |
|
51 |
options, args = parse_argv(argv, doc=__doc__) |
|
52 |
||
178
f9f5e669bace
pvl.verkko: refactor into dhcp -> hosts -> web+db modules, reworking index page
Tero Marttila <terom@paivola.fi>
parents:
165
diff
changeset
|
53 |
# open |
f9f5e669bace
pvl.verkko: refactor into dhcp -> hosts -> web+db modules, reworking index page
Tero Marttila <terom@paivola.fi>
parents:
165
diff
changeset
|
54 |
database = pvl.verkko.Database(options.database_read) |
f9f5e669bace
pvl.verkko: refactor into dhcp -> hosts -> web+db modules, reworking index page
Tero Marttila <terom@paivola.fi>
parents:
165
diff
changeset
|
55 |
|
0 | 56 |
# app |
178
f9f5e669bace
pvl.verkko: refactor into dhcp -> hosts -> web+db modules, reworking index page
Tero Marttila <terom@paivola.fi>
parents:
165
diff
changeset
|
57 |
application = pvl.web.args.apply(options, pvl.verkko.dhcp.Application, database) |
0 | 58 |
|
59 |
# wsgi wrapper |
|
60 |
run_simple('0.0.0.0', 8080, application, |
|
61 |
#use_reloader = True, |
|
62 |
use_debugger = (options.loglevel == logging.DEBUG), |
|
63 |
static_files = { |
|
64 |
'/static': 'static', |
|
65 |
}, |
|
66 |
) |
|
67 |
||
68 |
if __name__ == '__main__' : |
|
69 |
import sys |
|
70 |
||
71 |
sys.exit(main(sys.argv)) |
|
72 |
||
73 |