From 3977457347dcddf8617b6e709bd51663fb18fc96 Mon Sep 17 00:00:00 2001 From: Dmitry Novikov Date: Fri, 21 Dec 2018 19:33:33 +0300 Subject: [PATCH] change writable port --- devapp/base_intr.py | 3 ++- devapp/dev_types.py | 17 +++++++---------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/devapp/base_intr.py b/devapp/base_intr.py index d54691b..fd525b0 100644 --- a/devapp/base_intr.py +++ b/devapp/base_intr.py @@ -89,12 +89,13 @@ class DevBase(object, metaclass=ABCMeta): class BasePort(object, metaclass=ABCMeta): - def __init__(self, num, name, status, mac, speed): + def __init__(self, num, name, status, mac, speed, writable=False): self.num = int(num) self.nm = name self.st = status self._mac = mac self.sp = speed + self.writable = writable @abstractmethod def disable(self): diff --git a/devapp/dev_types.py b/devapp/dev_types.py index 4df380e..952a662 100644 --- a/devapp/dev_types.py +++ b/devapp/dev_types.py @@ -43,7 +43,7 @@ def plain_ip_device_mon_template(device) -> Optional[AnyStr]: class DLinkPort(BasePort): def __init__(self, num, name, status, mac, speed, snmp_worker): - BasePort.__init__(self, num, name, status, mac, speed) + BasePort.__init__(self, num, name, status, mac, speed, writable=True) if not issubclass(snmp_worker.__class__, SNMPBaseWorker): raise TypeError self.snmp_worker = snmp_worker @@ -291,12 +291,11 @@ class OnuDevice(DevBase, SNMPBaseWorker): class EltexPort(BasePort): - def __init__(self, snmp_worker, writable=True, *args, **kwargs): + def __init__(self, snmp_worker, *args, **kwargs): BasePort.__init__(self, *args, **kwargs) if not issubclass(snmp_worker.__class__, SNMPBaseWorker): raise TypeError self.snmp_worker = snmp_worker - self.writable = writable def disable(self): self.snmp_worker.set_int_value( @@ -325,8 +324,7 @@ class EltexSwitch(DLinkDevice): name=self.get_item('.1.3.6.1.2.1.31.1.1.1.18.%d' % n), status=self.get_item('.1.3.6.1.2.1.2.2.1.8.%d' % n), mac=self.get_item('.1.3.6.1.2.1.2.2.1.6.%d' % n), - speed=int(speed or 0), - writable=False, + speed=int(speed or 0) ) def get_device_name(self): @@ -561,9 +559,8 @@ class HuaweiSwitch(EltexSwitch): yield EltexPort( self, num=i+1, - name=self.get_item('.1.3.6.1.2.1.2.2.1.2.%d' % n), # name - status=int(status or 0), # status - mac=self.get_item('.1.3.6.1.2.1.2.2.1.6.%d' % n), # mac - speed=int(speed or 0), # speed - writable=False + name=self.get_item('.1.3.6.1.2.1.2.2.1.2.%d' % n), # name + status=int(status or 0), # status + mac=self.get_item('.1.3.6.1.2.1.2.2.1.6.%d' % n), # mac + speed=int(speed or 0) # speed )