HBmonitor/templates/hblink_table.html
2019-08-14 11:56:46 +02:00

92 lines
6.8 KiB
HTML

<fieldset style="margin-left:15px;margin-right:15px;font-size:14px;"><legend><b><font color="brown">&nbsp; HBlink Status Tables &nbsp;</font></b></legend>
<table style="table-layout:fixed;width:100%; font: 10pt arial, sans-serif">
<tr style="font: 10pt arial, sans-serif; background-color:#996633; color:white">
<th style='width: 150px;'>Homebrew Protocol<br>Master Systems</th>
<th style='width: 250px;'>ID/Callsign/Location<br>Port/Time Connected</th>
<th style='width: 100px;'>Frequency</th>
<th style='width: 70px;'>CC<br>LinkedTS</th>
<th style='width: 45px;'>Slot</th>
<th style='width: 20%;'>Call<br>Type</th>
<th style='width: 50%;'>Source<br>Subscriber</th>
<th style='width: 30%;'>Destination</th>
</tr>
{% for _master in _table['MASTERS'] %}
<tr style="background-color:#fffff0;">
<td style="font-weight:bold" rowspan="{{ (_table['MASTERS'][_master]['PEERS']|length * 2) +1 }}"> {{_master}}<br><div style="font: 8pt arial, sans-serif">{{_table['MASTERS'][_master]['REPEAT']}}</div></td>
</tr>
{% for _client, _cdata in _table['MASTERS'][_master]['PEERS'].iteritems() %}
<tr>
<td rowspan="2">{{ _client }}, <b><font color=blue>{{ _cdata['CALLSIGN'] }}</font></b>, {{ _cdata['LOCATION'] }}<br><div style="font: 8pt arial,sans-serif"><span style="font: 9pt arial, sans-serif;font-weight:bold;color:{{ _cdata['SCOLOR'] }};">{{ _cdata['IP'] }}</span> src port: {{ _cdata['PORT'] }} / connected since <b>{{ _cdata['CONNECTED'] }}</b></div></td>
<td rowspan="2">{{ _cdata['RX_FREQ'] }}<br>{{ _cdata['TX_FREQ'] }}</td>
<td rowspan="2">CC: {{ _cdata['COLORCODE'] }}<br>{{ _cdata['SLOTS'] }}</td>
<td style="background-color:#{{ _cdata[1]['BGCOLOR'] }}; color:#{{ _cdata[1]['COLOR'] }}">TS1</td>
<td style="background-color:#{{ _cdata[1]['BGCOLOR'] }}; color:#{{ _cdata[1]['COLOR'] }}">{{ _cdata[1]['TYPE'] }}</td>
<td style="background-color:#{{ _cdata[1]['BGCOLOR'] }}; color:#{{ _cdata[1]['COLOR'] }}">{{ _cdata[1]['SUB'] }}</td>
<td style="background-color:#{{ _cdata[1]['BGCOLOR'] }}; color:#{{ _cdata[1]['COLOR'] }}">{{ _cdata[1]['DEST'] }}</td>
<tr style="background-color:#fffff0;">
<td style="background-color:#{{ _cdata[2]['BGCOLOR'] }}; color:#{{ _cdata[2]['COLOR'] }}">TS2</td>
<td style="background-color:#{{ _cdata[2]['BGCOLOR'] }}; color:#{{ _cdata[2]['COLOR'] }}">{{ _cdata[2]['TYPE'] }}</td>
<td style="background-color:#{{ _cdata[2]['BGCOLOR'] }}; color:#{{ _cdata[2]['COLOR'] }}">{{ _cdata[2]['SUB'] }}</td>
<td style="background-color:#{{ _cdata[2]['BGCOLOR'] }}; color:#{{ _cdata[2]['COLOR'] }}">{{ _cdata[2]['DEST'] }}</td>
</tr>
</tr>
{% endfor %}
{% endfor %}
</table>
<br>
<table style="table-layout:fixed;width:100%; font: 10pt arial, sans-serif">
<tr style="font: 10pt arial, sans-serif; background-color:#C38E63; color:white">
<th style='width: 150px;'>Homebrew Protocol<br>Peer Systems</th>
<th style='width: 250px;'>ID/Callsign/Location<br>Master IP:Port</th>
<th style='width: 100px;'>Connected<br>TX/RX/Lost</th>
<th style='width: 70px;'>LinkedTS</th>
<th style='width: 45px;'>Slot</th>
<th style='width: 20%;'>Call<br>Type</th>
<th style='width: 50%;'>Source<br>Subscriber</th>
<th style='width: 30%;'>Destination</th>
</tr>
{% for _peer, _pdata in _table['PEERS'].iteritems() %}
<tr style="background-color:#fffff0;">
<td style="font-weight:bold" rowspan="2"> {{ _peer}}<br><span style="font-weight:normal; font: 7pt arial, sans-serif;">Mode: {{ _table['PEERS'][_peer]['MODE'] }}</span></td>
<td rowspan="2">{{ _table['PEERS'][_peer]['RADIO_ID'] }}, <b><font color=blue>{{_table['PEERS'][_peer]['CALLSIGN']}}</font></b>, {{_table['PEERS'][_peer]['LOCATION']}}<br><div style="font: 8pt arial, sans-serif">Master: {{ _table['PEERS'][_peer]['MASTER_IP'] }}:{{ _table['PEERS'][_peer]['MASTER_PORT'] }}</div></td>
<td rowspan="2"; style={{ 'background-color:#98FB98' if _table['PEERS'][_peer]['STATS']['CONNECTION'] == 'YES' else ';background-color:#ff704d' }}>{{ _table['PEERS'][_peer]['STATS']['CONNECTED'] }}<br><div style="font: 8pt arial, sans-serif">{{ _table['PEERS'][_peer]['STATS']['PINGS_SENT'] }} / {{ _table['PEERS'][_peer]['STATS']['PINGS_ACKD'] }} / {{ _table['PEERS'][_peer]['STATS']['PINGS_SENT'] - _table['PEERS'][_peer]['STATS']['PINGS_ACKD'] }}</div></td>
<td rowspan="2"> {{ _table['PEERS'][_peer]['SLOTS'] }}</td>
<td style="background-color:#{{ _pdata[1]['BGCOLOR'] }}; color:#{{ _pdata[1]['COLOR'] }}">TS1</td>
<td style="background-color:#{{ _pdata[1]['BGCOLOR'] }}; color:#{{ _pdata[1]['COLOR'] }}">{{ _pdata[1]['TYPE'] }}</td>
<td style="background-color:#{{ _pdata[1]['BGCOLOR'] }}; color:#{{ _pdata[1]['COLOR'] }}">{{ _pdata[1]['SUB'] }}</td>
<td style="background-color:#{{ _pdata[1]['BGCOLOR'] }}; color:#{{ _pdata[1]['COLOR'] }}">{{ _pdata[1]['DEST'] }}</td>
<trstyle="background-color:#fffff0;">
<td style="background-color:#{{ _pdata[2]['BGCOLOR'] }}; color:#{{ _pdata[2]['COLOR'] }}">TS2</td>
<td style="background-color:#{{ _pdata[2]['BGCOLOR'] }}; color:#{{ _pdata[2]['COLOR'] }}">{{ _pdata[2]['TYPE'] }}</td>
<td style="background-color:#{{ _pdata[2]['BGCOLOR'] }}; color:#{{ _pdata[2]['COLOR'] }}">{{ _pdata[2]['SUB'] }}</td>
<td style="background-color:#{{ _pdata[2]['BGCOLOR'] }}; color:#{{ _pdata[2]['COLOR'] }}">{{ _pdata[2]['DEST'] }}</td>
</tr>
</tr>
{% endfor %}
</table>
<br>
<table style="table-layout:fixed;width:100%; font: 10pt arial, sans-serif">
<tr style="width:100%; font: 10pt arial, sans-serif; background-color:#cc6600; color:white">
<th style='width: 150px;'>OpenBridge Systems</th>
<th style='width: 250px;'>Network ID<br>Target Port</th>
<th style='width: 100%;'>Active Calls</th>
</tr>
{% for _openbridge in _table['OPENBRIDGES'] %}
<tr style="background-color:#fffff0;">
<td style="font-weight:bold"> {{ _openbridge}} </td>
<td><div style="margin-top:3px;margin-bottom:3px;">ID: <span style="font-weight:bold;">{{ _table['OPENBRIDGES'][_openbridge]['NETWORK_ID'] }}</span> (span style="font: 8pt arial, sans-serif">Port: {{ _table['OPENBRIDGES'][_openbridge]['TARGET_PORT'] }}</span></div></td>
<td style="background-color:#fffff0; font: 8pt arial, sans-serif; font-weight: 600;color:#{{ _table['OPENBRIDGES'][_openbridge]['COLOR'] }}">{% for entry in _table['OPENBRIDGES'][_openbridge]['STREAMS'] %}({{ _table['OPENBRIDGES'][_openbridge]['STREAMS'][entry][0] }} | {{ _table['OPENBRIDGES'][_openbridge]['STREAMS'][entry][1] }} >> {{ _table['OPENBRIDGES'][_openbridge]['STREAMS'][entry][2] }}) {% endfor %}</td>
</tr>
{% endfor %}
</table>
</fieldset>