improve further select_experiments: add time range in link
This commit is contained in:
@ -78,15 +78,16 @@ new Settings()
|
||||
.treat("lazyPermission", "wr", to_bool, true);
|
||||
|
||||
|
||||
let args = '';
|
||||
if (window.instrument) {
|
||||
window.clientTags = "&instrument=" + window.instrument;
|
||||
args += "&instrument=" + window.instrument;
|
||||
} else {
|
||||
let args = '';
|
||||
if (window.stream) { args += "&stream=" + window.stream; }
|
||||
if (window.device) { args += "&device=" + window.device; }
|
||||
if (window.hideRightPart) { args += "&history_only=1"; }
|
||||
window.clientTags = args;
|
||||
}
|
||||
if (window.hideRightPart) { args += "&history_only=1"; }
|
||||
window.clientTags = args;
|
||||
|
||||
// console.log('TAGS', window.clientTags);
|
||||
|
||||
|
37
webserver.py
37
webserver.py
@ -115,7 +115,7 @@ class Server:
|
||||
|
||||
app.debug = True
|
||||
|
||||
logging.basicConfig(filename='webserver.log', filemode='w', level=logging.INFO,
|
||||
logging.basicConfig(filename='logifle.log', filemode='w', level=logging.INFO,
|
||||
format='%(asctime)s %(levelname)s %(message)s')
|
||||
|
||||
# srv = gevent.wsgi.WSGIServer(('', port), app, keyfile='key.key', certfile='key.crt')
|
||||
@ -357,13 +357,18 @@ a {
|
||||
''']
|
||||
ONEMONTH = 30 * 24 * 3600
|
||||
|
||||
prevtitle = [None]
|
||||
class prev: # just a namesapce
|
||||
title = None
|
||||
legend = None
|
||||
|
||||
def change_title(text):
|
||||
if text == prevtitle[0]:
|
||||
if text == prev.title:
|
||||
return False
|
||||
prevtitle[0] = text
|
||||
out.append(f'<tr><td colspan=3><h3>{text}</h3></td></tr>')
|
||||
if prev.legend:
|
||||
out.append(f'<tr>{prev.legend}</tr>')
|
||||
prev.legend = None
|
||||
prev.title = text
|
||||
out.append(f'<tr><td colspan=3><br><i>{text}:</i></td></tr>')
|
||||
return True
|
||||
|
||||
# TODO: sort this by (instrument / device) and list dates
|
||||
@ -390,6 +395,9 @@ a {
|
||||
if key[0] == 'instrument':
|
||||
ins = key[1]
|
||||
port = instruments.get(ins)
|
||||
left = ins.upper()
|
||||
else:
|
||||
left = key[1] # shown in left column
|
||||
args = ['='.join(key)]
|
||||
remote = None if port is None else f'http://{ins}.psi.ch:{port}'
|
||||
history_only = bool(remote)
|
||||
@ -398,29 +406,34 @@ a {
|
||||
daterange = f'since {time.strftime("%H:%M", time.localtime(beg))}'
|
||||
else:
|
||||
daterange = f'since {begdate}'
|
||||
if change_title('currently running'):
|
||||
out.append('<tr><th>instrument</th><th>history only</th><td></td></tr>')
|
||||
change_title('currently running')
|
||||
else:
|
||||
args.append(f'time={beg},{end}')
|
||||
history_only = True
|
||||
remote = None
|
||||
daterange = begdate if begdate == enddate else f'{begdate}...{enddate}'
|
||||
if end > now - ONEMONTH:
|
||||
change_title('recently running')
|
||||
change_title('recently running (history graphics only)')
|
||||
else:
|
||||
change_title('older than 30 days')
|
||||
if history_only:
|
||||
args.append('hr=1')
|
||||
link = f'<a href="/?{"&".join(args)}">'
|
||||
|
||||
def link(label):
|
||||
return f'<a href="/?{"&".join(args)}">{label}</a>'
|
||||
|
||||
label = " ".join(devices)
|
||||
if remote:
|
||||
out.append(f'<tr><td><a href="{remote}">{ins.upper()}</a></td><td>{link}{label}</a></td>')
|
||||
prev.legend = '<td></td><td></td><td colspan=2>linse-c*: <i>history graphics only</i></td>'
|
||||
out.append(f'<tr><td><a href="{remote}">{ins.upper()}</a></td>'
|
||||
f'<td>{label}</td><td>{link("linse-c*")}</td>')
|
||||
else:
|
||||
out.append(f'<tr><td colspan=2>{link}{key[1]} {label}</a></td>')
|
||||
out.append(f'<tr><td>{link(left)}</td><td colspan=2>{label}</td>')
|
||||
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.append('</table>')
|
||||
out.append('<h3>direct link to instruments:</h3>')
|
||||
out.append('<br><i>direct link to instruments:</i><br>')
|
||||
out.extend([f'<a href="http://{ins}.psi.ch:{port}/">{ins.upper()}</a> \n'
|
||||
for ins, port in instruments.items()])
|
||||
if server.db.has_local:
|
||||
|
Reference in New Issue
Block a user