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
|
||||
|
||||
|
||||
instlist = ['AMOR', 'BOA', 'CAMEA', 'DMC', 'EIGER', 'FOCUS', 'HRPT', 'SANS', 'TASP', 'ZEBRA']
|
||||
|
||||
|
||||
def guess_mimetype(filename):
|
||||
if filename.endswith('.js'):
|
||||
mimetype = 'text/javascript'
|
||||
@ -303,28 +306,31 @@ def default():
|
||||
return general_file('SEAWebClient.html')
|
||||
|
||||
|
||||
@app.route('/select_instrument')
|
||||
def select_instrument():
|
||||
out = ['''<html><body><table>
|
||||
<style>
|
||||
th {
|
||||
text-align: left;
|
||||
}
|
||||
</style>
|
||||
<tr><th>instrument</th><th colspan=99>devices</th></tr>''']
|
||||
result = {}
|
||||
for stream, tags in server.db.get_streams().items():
|
||||
ins = tags.get('instrument', '0')
|
||||
result.setdefault(ins, []).append((stream, tags.get('device')))
|
||||
bare_streams = result.pop('0', [])
|
||||
for ins, streams in result.items():
|
||||
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.append('</tr>')
|
||||
for stream, device in bare_streams:
|
||||
out.append(f'<tr><td><a href="/?srv={stream}">{stream}</a></td><td>{device}</td><tr>')
|
||||
out.extend(['</table></body></html>', ''])
|
||||
return '\n'.join(out)
|
||||
#@app.route('/select_instrument')
|
||||
#def select_instrument():
|
||||
# out = ['''<html><body><table>
|
||||
#<style>
|
||||
#th {
|
||||
# text-align: left;
|
||||
#}
|
||||
#</style>
|
||||
#<tr><th>instrument</th><th colspan=99>devices</th></tr>''']
|
||||
# result = {}
|
||||
# for stream, tags in server.db.get_streams().items():
|
||||
# ins = tags.get('instrument', '0')
|
||||
# result.setdefault(ins, []).append((stream, tags.get('device')))
|
||||
# bare_streams = result.pop('0', [])
|
||||
# for ins, streams in result.items():
|
||||
# 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.append('</tr>')
|
||||
# for stream, device in bare_streams:
|
||||
# out.append(f'<tr><td><a href="/?srv={stream}">{stream}</a></td><td>{device}</td><tr>')
|
||||
# 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>', ''])
|
||||
# return '\n'.join(out)
|
||||
|
||||
|
||||
@app.route('/select_experiment')
|
||||
@ -389,7 +395,10 @@ a {
|
||||
out.append(f'<td>{daterange}</td></tr>')
|
||||
if timerange:
|
||||
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:
|
||||
logging.error('%s', traceback.format_exc())
|
||||
circularlog.log()
|
||||
|
Reference in New Issue
Block a user