| author | Tero Marttila <terom@paivola.fi> |
| Tue, 19 Feb 2013 19:27:51 +0200 | |
| changeset 220 | e533260bcefd |
| parent 178 | f9f5e669bace |
| 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 |