add links to servers on intruments
This commit is contained in:
55
webserver.py
55
webserver.py
@ -14,6 +14,9 @@ import flask
|
|||||||
import circularlog
|
import circularlog
|
||||||
|
|
||||||
|
|
||||||
|
instlist = ['AMOR', 'BOA', 'CAMEA', 'DMC', 'EIGER', 'FOCUS', 'HRPT', 'SANS', 'TASP', 'ZEBRA']
|
||||||
|
|
||||||
|
|
||||||
def guess_mimetype(filename):
|
def guess_mimetype(filename):
|
||||||
if filename.endswith('.js'):
|
if filename.endswith('.js'):
|
||||||
mimetype = 'text/javascript'
|
mimetype = 'text/javascript'
|
||||||
@ -303,28 +306,31 @@ def default():
|
|||||||
return general_file('SEAWebClient.html')
|
return general_file('SEAWebClient.html')
|
||||||
|
|
||||||
|
|
||||||
@app.route('/select_instrument')
|
#@app.route('/select_instrument')
|
||||||
def select_instrument():
|
#def select_instrument():
|
||||||
out = ['''<html><body><table>
|
# out = ['''<html><body><table>
|
||||||
<style>
|
#<style>
|
||||||
th {
|
#th {
|
||||||
text-align: left;
|
# text-align: left;
|
||||||
}
|
#}
|
||||||
</style>
|
#</style>
|
||||||
<tr><th>instrument</th><th colspan=99>devices</th></tr>''']
|
#<tr><th>instrument</th><th colspan=99>devices</th></tr>''']
|
||||||
result = {}
|
# result = {}
|
||||||
for stream, tags in server.db.get_streams().items():
|
# for stream, tags in server.db.get_streams().items():
|
||||||
ins = tags.get('instrument', '0')
|
# ins = tags.get('instrument', '0')
|
||||||
result.setdefault(ins, []).append((stream, tags.get('device')))
|
# result.setdefault(ins, []).append((stream, tags.get('device')))
|
||||||
bare_streams = result.pop('0', [])
|
# bare_streams = result.pop('0', [])
|
||||||
for ins, streams in result.items():
|
# for ins, streams in result.items():
|
||||||
out.append(f'<tr><td><a href="/?ins={ins}">{ins}</a></td>')
|
# out.append(f'<tr><td><a href="/?ins={ins}">{ins}</a></td>')
|
||||||
out.extend(f'<td>{d or s}</td>' for s, d in streams)
|
# out.extend(f'<td>{d or s}</td>' for s, d in streams)
|
||||||
out.append('</tr>')
|
# out.append('</tr>')
|
||||||
for stream, device in bare_streams:
|
# for stream, device in bare_streams:
|
||||||
out.append(f'<tr><td><a href="/?srv={stream}">{stream}</a></td><td>{device}</td><tr>')
|
# out.append(f'<tr><td><a href="/?srv={stream}">{stream}</a></td><td>{device}</td><tr>')
|
||||||
out.extend(['</table></body></html>', ''])
|
# out.append('</table>')
|
||||||
return '\n'.join(out)
|
# out.append('<h3>servers on the instruments:</h3>')
|
||||||
|
# out.extend([f"<a href='http://{i.lower()}.psi.ch:8642/'>{i}</a> \n" for i in instlist])
|
||||||
|
# out.extend(['</body></html>', ''])
|
||||||
|
# return '\n'.join(out)
|
||||||
|
|
||||||
|
|
||||||
@app.route('/select_experiment')
|
@app.route('/select_experiment')
|
||||||
@ -389,7 +395,10 @@ a {
|
|||||||
out.append(f'<td>{daterange}</td></tr>')
|
out.append(f'<td>{daterange}</td></tr>')
|
||||||
if timerange:
|
if timerange:
|
||||||
out.append(f'<h3><a href="/select_experiment?time=all">earlier dates</a></h3><br>')
|
out.append(f'<h3><a href="/select_experiment?time=all">earlier dates</a></h3><br>')
|
||||||
out.extend(['</table></body></html>', ''])
|
out.append('</table>')
|
||||||
|
out.append('<h3>servers on the instruments:</h3>')
|
||||||
|
out.extend([f"<a href='http://{i.lower()}.psi.ch:8642/'>{i}</a> \n" for i in instlist])
|
||||||
|
out.extend(['</body></html>', ''])
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.error('%s', traceback.format_exc())
|
logging.error('%s', traceback.format_exc())
|
||||||
circularlog.log()
|
circularlog.log()
|
||||||
|
Reference in New Issue
Block a user