Mercurial > code > home > repos > light9
annotate bin/homepageConfig @ 2028:feb9a47980bb
chmod a+x bin/*
author | drewp@bigasterisk.com |
---|---|
date | Tue, 05 Apr 2022 23:15:01 -0700 |
parents | ec6ec713c276 |
children | 04ed5d134973 |
rev | line source |
---|---|
1215 | 1 #!bin/python |
2 from run_local import log | |
1866
3c523c71da29
pyflakes cleanups and some refactors
Drew Perttula <drewp@bigasterisk.com>
parents:
1859
diff
changeset
|
3 from light9 import showconfig |
1215 | 4 from light9.namespaces import L9 |
1859
f066d6e874db
2to3 with these fixers: all idioms set_literal
drewp@bigasterisk.com
parents:
1858
diff
changeset
|
5 from urllib.parse import urlparse |
f066d6e874db
2to3 with these fixers: all idioms set_literal
drewp@bigasterisk.com
parents:
1858
diff
changeset
|
6 from urllib.parse import splitport |
1215 | 7 |
1866
3c523c71da29
pyflakes cleanups and some refactors
Drew Perttula <drewp@bigasterisk.com>
parents:
1859
diff
changeset
|
8 log.info('generating config') |
1225
70f42f9d6e04
simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents:
1217
diff
changeset
|
9 graph = showconfig.getGraph() |
1215 | 10 |
1225
70f42f9d6e04
simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents:
1217
diff
changeset
|
11 netHome = graph.value(showconfig.showUri(), L9['networking']) |
1521 | 12 webServer = graph.value(netHome, L9['webServer']) |
13 if not webServer: | |
14 raise ValueError('no %r :webServer' % netHome) | |
1859
f066d6e874db
2to3 with these fixers: all idioms set_literal
drewp@bigasterisk.com
parents:
1858
diff
changeset
|
15 print("listen %s;" % splitport(urlparse(webServer).netloc)[1]) |
1217
e703b3434dbd
websocket and web cleanup
Drew Perttula <drewp@bigasterisk.com>
parents:
1215
diff
changeset
|
16 |
1858 | 17 |
1312
cec677a84142
homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents:
1290
diff
changeset
|
18 def location(path, server): |
1907
ec6ec713c276
output escaping bug in homepage made spectrograms fail
Drew Perttula <drewp@bigasterisk.com>
parents:
1866
diff
changeset
|
19 print(f""" |
ec6ec713c276
output escaping bug in homepage made spectrograms fail
Drew Perttula <drewp@bigasterisk.com>
parents:
1866
diff
changeset
|
20 location /{path}/ {{ |
1217
e703b3434dbd
websocket and web cleanup
Drew Perttula <drewp@bigasterisk.com>
parents:
1215
diff
changeset
|
21 |
1225
70f42f9d6e04
simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents:
1217
diff
changeset
|
22 # for websocket |
70f42f9d6e04
simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents:
1217
diff
changeset
|
23 proxy_http_version 1.1; |
70f42f9d6e04
simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents:
1217
diff
changeset
|
24 proxy_set_header Upgrade $http_upgrade; |
70f42f9d6e04
simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents:
1217
diff
changeset
|
25 proxy_set_header Connection "upgrade"; |
70f42f9d6e04
simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents:
1217
diff
changeset
|
26 proxy_set_header Host $host; |
1215 | 27 |
1907
ec6ec713c276
output escaping bug in homepage made spectrograms fail
Drew Perttula <drewp@bigasterisk.com>
parents:
1866
diff
changeset
|
28 proxy_pass {server}; |
1543
c8cffe82b537
collector gui updates
Drew Perttula <drewp@bigasterisk.com>
parents:
1521
diff
changeset
|
29 proxy_buffering off; |
1225
70f42f9d6e04
simplify homepageConfig. get homepage port from rdf. get rdfdb port from rdf
Drew Perttula <drewp@bigasterisk.com>
parents:
1217
diff
changeset
|
30 rewrite /[^/]+/(.*) /$1 break; |
1907
ec6ec713c276
output escaping bug in homepage made spectrograms fail
Drew Perttula <drewp@bigasterisk.com>
parents:
1866
diff
changeset
|
31 }}""") |
1312
cec677a84142
homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents:
1290
diff
changeset
|
32 |
1858 | 33 |
1312
cec677a84142
homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents:
1290
diff
changeset
|
34 for role, server in sorted(graph.predicate_objects(netHome)): |
cec677a84142
homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents:
1290
diff
changeset
|
35 if not server.startswith('http') or role == L9['webServer']: |
cec677a84142
homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents:
1290
diff
changeset
|
36 continue |
cec677a84142
homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents:
1290
diff
changeset
|
37 path = graph.value(role, L9['urlPath']) |
cec677a84142
homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents:
1290
diff
changeset
|
38 if not path: |
cec677a84142
homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents:
1290
diff
changeset
|
39 continue |
cec677a84142
homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents:
1290
diff
changeset
|
40 server = server.rstrip('/') |
cec677a84142
homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents:
1290
diff
changeset
|
41 location(path, server) |
cec677a84142
homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents:
1290
diff
changeset
|
42 |
cec677a84142
homepage serve show root() dir
Drew Perttula <drewp@bigasterisk.com>
parents:
1290
diff
changeset
|
43 showPath = showconfig.showUri().split('/', 3)[-1] |
1907
ec6ec713c276
output escaping bug in homepage made spectrograms fail
Drew Perttula <drewp@bigasterisk.com>
parents:
1866
diff
changeset
|
44 root = showconfig.root()[:-len(showPath)].decode('ascii') |
ec6ec713c276
output escaping bug in homepage made spectrograms fail
Drew Perttula <drewp@bigasterisk.com>
parents:
1866
diff
changeset
|
45 print(f""" |
ec6ec713c276
output escaping bug in homepage made spectrograms fail
Drew Perttula <drewp@bigasterisk.com>
parents:
1866
diff
changeset
|
46 location /{showPath} {{ |
ec6ec713c276
output escaping bug in homepage made spectrograms fail
Drew Perttula <drewp@bigasterisk.com>
parents:
1866
diff
changeset
|
47 root {root}; |
ec6ec713c276
output escaping bug in homepage made spectrograms fail
Drew Perttula <drewp@bigasterisk.com>
parents:
1866
diff
changeset
|
48 }}""") |