diff --git a/devapp/base_intr.py b/devapp/base_intr.py index 5157232..bc080b9 100644 --- a/devapp/base_intr.py +++ b/devapp/base_intr.py @@ -139,4 +139,6 @@ class SNMPBaseWorker(object, metaclass=ABCMeta): def get_item(self, oid): self.start_ses() - return self.ses.get(oid).value + v = self.ses.get(oid).value + if v != 'NOSUCHINSTANCE': + return v diff --git a/devapp/dev_types.py b/devapp/dev_types.py index e4daec4..73156e5 100644 --- a/devapp/dev_types.py +++ b/devapp/dev_types.py @@ -432,18 +432,26 @@ class ZteOnuDevice(OnuDevice): status = self.get_item('.1.3.6.1.4.1.3902.1012.3.50.12.1.1.1.%s.1' % fiber_addr) signal = self.get_item('.1.3.6.1.4.1.3902.1012.3.50.12.1.1.10.%s.1' % fiber_addr) distance = self.get_item('.1.3.6.1.4.1.3902.1012.3.50.12.1.1.18.%s.1' % fiber_addr) - name = self.get_item('.1.3.6.1.4.1.3902.1012.3.50.11.2.1.1.%s' % fiber_addr) ip_addr = self.get_item('.1.3.6.1.4.1.3902.1012.3.50.16.1.1.10.%s' % fiber_addr) vlans = self.get_item('.1.3.6.1.4.1.3902.1012.3.50.15.100.1.1.7.%s.1.1' % fiber_addr) + int_name = self.get_item('.1.3.6.1.4.1.3902.1012.3.28.1.1.3.%s' % fiber_addr) + onu_type = self.get_item('.1.3.6.1.4.1.3902.1012.3.28.1.1.1.%s' % fiber_addr) + + sn = self.get_item('.1.3.6.1.4.1.3902.1012.3.28.1.1.5.%s' % fiber_addr) + # sn = sn.encode() + sn = ''.join('%.2X' % ord(x) for x in sn[-4:]) + return { 'status': status, 'signal': conv_signal(safe_int(signal)), - 'name': name, - 'distance': int(distance) / 10 if distance != 'NOSUCHINSTANCE' else 0, - 'ip_addr': ip_addr if ip_addr != 'NOSUCHINSTANCE' and ip_addr else None, - 'vlans': vlans if vlans != 'NOSUCHINSTANCE' else None + 'distance': int(distance) / 10, + 'ip_addr': ip_addr if ip_addr else None, + 'vlans': vlans, + 'serial': "ZTEG%s" % ''.join(sn), + 'int_name': int_name, + 'onu_type': onu_type } - except ValueError: + except IndexError: pass def get_template_name(self): diff --git a/devapp/locale/ru/LC_MESSAGES/django.po b/devapp/locale/ru/LC_MESSAGES/django.po index 8719acf..9cfa2d7 100644 --- a/devapp/locale/ru/LC_MESSAGES/django.po +++ b/devapp/locale/ru/LC_MESSAGES/django.po @@ -337,7 +337,6 @@ msgid "ONU error" msgstr "ONU ошибка" #: templates/devapp/custom_dev_page/onu.html:72 -#: templates/devapp/custom_dev_page/onu_for_zte.html:75 msgid "Name on OLT" msgstr "Имя на OLT" @@ -642,20 +641,26 @@ msgstr "Не заполнено поле 'Техническая информа msgid "Fiber" msgstr "Интерфейс" -#~ msgid "Device %(device_name)s is up" -#~ msgstr "%(device_name)s в сети" +msgid "Onu type" +msgstr "Тип onu" -#~ msgid "Device %(device_name)s is down" -#~ msgstr "%(device_name)s не в сети" +msgid "Serial" +msgstr "Серийник" -#~ msgid "Device %(device_name)s is unreachable" -#~ msgstr "%(device_name)s недостижим" +msgid "Device %(device_name)s is up" +msgstr "%(device_name)s в сети" -#~ msgid "Device %(device_name)s getting undefined status code" -#~ msgstr "Устройство %(device_name)s получило не определённый код состояния" +msgid "Device %(device_name)s is down" +msgstr "%(device_name)s не в сети" -#~ msgid "View" -#~ msgstr "Посмотреть" +msgid "Device %(device_name)s is unreachable" +msgstr "%(device_name)s недостижим" -#~ msgid "Enter valid JSON" -#~ msgstr "Введите данные в формате JSON" +msgid "Device %(device_name)s getting undefined status code" +msgstr "Устройство %(device_name)s получило не определённый код состояния" + +msgid "View" +msgstr "Посмотреть" + +msgid "Enter valid JSON" +msgstr "Введите данные в формате JSON" diff --git a/devapp/templates/devapp/custom_dev_page/onu_for_zte.html b/devapp/templates/devapp/custom_dev_page/onu_for_zte.html index fa01ee6..c0729a8 100644 --- a/devapp/templates/devapp/custom_dev_page/onu_for_zte.html +++ b/devapp/templates/devapp/custom_dev_page/onu_for_zte.html @@ -73,15 +73,17 @@