From d2e82b72b7aa86d13819bd973c29b9bf4d1179c8 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 27 Jan 2017 16:49:41 +0000 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BA=D1=83=20=D0=BE?= =?UTF-8?q?=D1=88=D0=B8=D0=B1=D0=BA=D0=B8=20=D0=BA=D0=BE=D0=B3=D0=B4=D0=B0?= =?UTF-8?q?=20snmp=20=D0=BD=D0=B5=20=D0=BE=D1=82=D0=B2=D0=B5=D1=87=D0=B0?= =?UTF-8?q?=D0=B5=D1=82=20=D0=BF=D1=80=D0=B8=20=D0=BF=D1=80=D0=BE=D1=81?= =?UTF-8?q?=D0=BC=D0=BE=D1=82=D1=80=D0=B5=20=D1=83=D1=81=D1=82=D1=80=D0=BE?= =?UTF-8?q?=D0=B9=D1=81=D1=82=D0=B2=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- devapp/views.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/devapp/views.py b/devapp/views.py index 72c7fda..ed9e5e9 100644 --- a/devapp/views.py +++ b/devapp/views.py @@ -3,6 +3,7 @@ from django.contrib.auth.decorators import login_required, permission_required from django.core.exceptions import PermissionDenied from django.shortcuts import render, redirect, get_object_or_404 from django.contrib import messages +from easysnmp import EasySNMPTimeoutError from .models import Device from mydefs import pag_mn, res_success, res_error, only_admins, ping @@ -64,15 +65,18 @@ def devview(request, did): ports = None uptime = 0 dev = get_object_or_404(Device, id=did) - if ping(dev.ip_address): - if dev.man_passw: - manager = dev.get_manager_klass()(dev.ip_address, dev.man_passw) - uptime = manager.uptime() - ports = manager.get_ports() + try: + if ping(dev.ip_address): + if dev.man_passw: + manager = dev.get_manager_klass()(dev.ip_address, dev.man_passw) + uptime = manager.uptime() + ports = manager.get_ports() + else: + messages.warning(request, 'Не указан snmp пароль для устройства') else: - messages.warning(request, 'Не указан snmp пароль для устройства') - else: - messages.error(request, 'Эта точка не пингуется') + messages.error(request, 'Эта точка не пингуется') + except EasySNMPTimeoutError: + messages.error(request, 'Время ожидания ответа от SNMP истекло') return render(request, 'devapp/ports.html', { 'dev': dev,