web_kbn upd
This commit is contained in:
parent
d816689f7d
commit
275d138436
@ -282,7 +282,8 @@ async def index(req: web.Request):
|
|||||||
async def modems(req: web.Request):
|
async def modems(req: web.Request):
|
||||||
return await render(req, 'modems',
|
return await render(req, 'modems',
|
||||||
title=lang('modem_statuses'),
|
title=lang('modem_statuses'),
|
||||||
context=dict(modems=ModemsConfig()))
|
context=dict(modems=ModemsConfig(),
|
||||||
|
modems_js_list=[key for key, value in ModemsConfig().items() if value['type'] == 'e3372']))
|
||||||
|
|
||||||
|
|
||||||
@routes.get('/modems_info.ajx')
|
@routes.get('/modems_info.ajx')
|
||||||
@ -293,6 +294,9 @@ async def modems_ajx(req: web.Request):
|
|||||||
raise ValueError('invalid modem id')
|
raise ValueError('invalid modem id')
|
||||||
|
|
||||||
modem_cfg = mc.get(modem)
|
modem_cfg = mc.get(modem)
|
||||||
|
if modem_cfg['type'] != 'e3372':
|
||||||
|
raise ValueError('invalid modem type')
|
||||||
|
|
||||||
loop = asyncio.get_event_loop()
|
loop = asyncio.get_event_loop()
|
||||||
modem_data = await loop.run_in_executor(None, lambda: get_modem_data(modem_cfg))
|
modem_data = await loop.run_in_executor(None, lambda: get_modem_data(modem_cfg))
|
||||||
|
|
||||||
@ -311,6 +315,9 @@ async def modems_verbose(req: web.Request):
|
|||||||
raise ValueError('invalid modem id')
|
raise ValueError('invalid modem id')
|
||||||
|
|
||||||
modem_cfg = ModemsConfig().get(modem)
|
modem_cfg = ModemsConfig().get(modem)
|
||||||
|
if modem_cfg['type'] != 'e3372':
|
||||||
|
raise ValueError('invalid modem type')
|
||||||
|
|
||||||
loop = asyncio.get_event_loop()
|
loop = asyncio.get_event_loop()
|
||||||
signal, status, traffic, device, dialup_conn = await loop.run_in_executor(None, lambda: get_modem_data(modem_cfg, True))
|
signal, status, traffic, device, dialup_conn = await loop.run_in_executor(None, lambda: get_modem_data(modem_cfg, True))
|
||||||
data = [
|
data = [
|
||||||
|
@ -1,5 +1,11 @@
|
|||||||
from ..config import ConfigUnit, Translation
|
from ..config import ConfigUnit, Translation
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
from enum import Enum
|
||||||
|
|
||||||
|
|
||||||
|
class ModemType(Enum):
|
||||||
|
E3372 = 'e3372'
|
||||||
|
GPON = 'gpon'
|
||||||
|
|
||||||
|
|
||||||
class ModemsConfig(ConfigUnit):
|
class ModemsConfig(ConfigUnit):
|
||||||
@ -18,7 +24,8 @@ class ModemsConfig(ConfigUnit):
|
|||||||
'schema': {
|
'schema': {
|
||||||
'ip': cls._addr_schema(required=True, only_ip=True),
|
'ip': cls._addr_schema(required=True, only_ip=True),
|
||||||
'gateway_ip': cls._addr_schema(required=False, only_ip=True),
|
'gateway_ip': cls._addr_schema(required=False, only_ip=True),
|
||||||
'legacy_auth': {'type': 'boolean', 'required': True}
|
'legacy_auth': {'type': 'boolean', 'required': True},
|
||||||
|
'type': {'type': 'string', 'allowed': [t.value for t in ModemType], 'required': True}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,14 +3,16 @@
|
|||||||
{% block content %}
|
{% block content %}
|
||||||
{{ breadcrumbs([{'text': 'modems'|lang}]) }}
|
{{ breadcrumbs([{'text': 'modems'|lang}]) }}
|
||||||
|
|
||||||
{% for modem in modems %}
|
{% for modem, mdata in modems.items() %}
|
||||||
<h6 class="text-primary{% if not loop.first %} mt-4{% endif %}">{{ (modem|lang('modems'))['full'] }}</h6>
|
{% if mdata['type'] == 'e3372' %}
|
||||||
<div id="modem_data_{{ modem }}">
|
<h6 class="text-primary{% if not loop.first %} mt-4{% endif %}">{{ (modem|lang('modems'))['full'] }}</h6>
|
||||||
{% include "loading.j2" %}
|
<div id="modem_data_{{ modem }}">
|
||||||
|
{% include "loading.j2" %}
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block js %}
|
{% block js %}
|
||||||
ModemStatus.init({{ modems.keys()|tojson }});
|
ModemStatus.init({{ modems_js_list|tojson }});
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user