author | Tero Marttila <terom@paivola.fi> |
Mon, 17 Mar 2014 15:51:08 +0200 | |
changeset 381 | 6fe465ce6d52 |
parent 241 | 97a0a66e2211 |
permissions | -rwxr-xr-x |
0 | 1 |
#!/usr/bin/python |
2 |
||
3 |
from werkzeug.serving import run_simple |
|
4 |
||
5 |
import pvl.args |
|
165
60fc0594a201
implement pvl.web.args for pvl.verkko-rrd/dhcp
Tero Marttila <terom@paivola.fi>
parents:
151
diff
changeset
|
6 |
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
|
7 |
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
|
8 |
import pvl.verkko.dhcp |
0 | 9 |
|
226
8658d4e09ae2
setup pvl as namespace package, with __version__ in pvl.verkko
Tero Marttila <terom@paivola.fi>
parents:
178
diff
changeset
|
10 |
from pvl.verkko import __version__ |
0 | 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) |
241
97a0a66e2211
pvl.web.args: main() to run werkzeug dev server
Tero Marttila <terom@paivola.fi>
parents:
226
diff
changeset
|
58 |
pvl.web.args.main(options, application) |
0 | 59 |
|
60 |
if __name__ == '__main__' : |
|
61 |
import sys |
|
62 |
||
63 |
sys.exit(main(sys.argv)) |
|
64 |
||
65 |