Skip to content
Snippets Groups Projects
Commit 3fa621f6 authored by Erik Reid's avatar Erik Reid
Browse files

prettier html table

parent 77dc3350
Branches
Tags
No related merge requests found
......@@ -1341,19 +1341,6 @@ def gws_direct_config():
'info': ifc.get('info', '')
}
def _to_row(counter, header=False):
_columns = (
'nren', 'isp', 'hostname',
'snmp', 'interface', 'field', 'oid', 'info')
elems = ['<tr>']
for name in _columns:
if header:
elems.append(f'<th>{name}</th>')
else:
elems.append(f'<td>{counter[name]}</td>')
elems.append('</tr>')
return ''.join(elems)
if format == 'json':
if not request.accept_mimetypes.accept_json:
return Response(
......@@ -1369,12 +1356,51 @@ def gws_direct_config():
status=406,
mimetype="text/html")
elems = ['<html>', '<body>', '<table>']
elems.append(_to_row(None, header=True))
elems += map(_to_row, _counters())
elems += ['</table>', '</body>', '</html>']
page = '''<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<title>Hello, world!</title>
</head>
<body>
<table class="table table-striped">
<thead>
{header_row}
</thead>
<tbody>
{data_rows}
</tbody>
</table>
</body>
</html>
'''
def _to_row(counter, header=False):
_columns = (
'nren', 'isp', 'hostname',
'snmp', 'interface', 'field', 'oid', 'info')
elems = ['<tr>']
for name in _columns:
if header:
elems.append(f'<th scope="col">{name}</th>')
else:
elems.append(f'<td scope="row">{counter[name]}</td>')
elems.append('</tr>')
return ''.join(elems)
header_row = _to_row(None, header=True)
data_rows = map(_to_row, _counters())
page = page.format(
header_row=header_row,
data_rows='\n'.join(data_rows))
return Response(
response=''.join(elems),
response=page,
status=200,
mimetype="text/html")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment