From d7c6febf9e65b9a6eaf8e4e8aaf06628902018e9 Mon Sep 17 00:00:00 2001 From: Dmitry Novikov Date: Thu, 23 Aug 2018 14:55:32 +0300 Subject: [PATCH] fix --- nas_app/nas_managers/mod_mikrotik.py | 12 +++++------- nas_app/nas_managers/structs.py | 16 +--------------- 2 files changed, 6 insertions(+), 22 deletions(-) diff --git a/nas_app/nas_managers/mod_mikrotik.py b/nas_app/nas_managers/mod_mikrotik.py index 1ee06c7..90757d9 100644 --- a/nas_app/nas_managers/mod_mikrotik.py +++ b/nas_app/nas_managers/mod_mikrotik.py @@ -168,9 +168,9 @@ class MikrotikTransmitter(BaseTransmitter, ApiRos, metaclass=type('_ABC_Lazy_mcs def __init__(self, login: str, password: str, ip: str, port: int, *args, **kwargs): try: BaseTransmitter.__init__(self, - login=login, password=password, ip=ip, - port=port, *args, **kwargs - ) + login=login, password=password, ip=ip, + port=port, *args, **kwargs + ) ApiRos.__init__(self, ip, port) self.login(username=login, pwd=password) except ConnectionRefusedError: @@ -199,7 +199,6 @@ class MikrotikTransmitter(BaseTransmitter, ApiRos, metaclass=type('_ABC_Lazy_mcs if v: yield v - # Build object ShapeItem from information from mikrotik @staticmethod def _build_shape_obj(info: Dict) -> AbonStruct: # Переводим приставку скорости Mikrotik в Mbit/s @@ -226,7 +225,7 @@ class MikrotikTransmitter(BaseTransmitter, ApiRos, metaclass=type('_ABC_Lazy_mcs if target is None: target = info.get('=target-addresses') name = info.get('=name') - disabled = info.get('=disabled') + disabled = info.get('=disabled', False) if disabled is not None: disabled = True if disabled == 'true' else False if target is not None and name is not None: @@ -236,7 +235,7 @@ class MikrotikTransmitter(BaseTransmitter, ApiRos, metaclass=type('_ABC_Lazy_mcs uid=int(name[3:]), ips=ips, tariff=t, - is_access=disabled or False + is_access=not disabled ) if len(a.ips) < 1: return @@ -473,7 +472,6 @@ class MikrotikTransmitter(BaseTransmitter, ApiRos, metaclass=type('_ABC_Lazy_mcs pass def read_users(self) -> VectorAbon: - # shapes is ShapeItem all_ips = set(ip for ip, mkid in self.read_ips_iter(LIST_USERS_ALLOWED)) queues = (q for q in self.read_queue_iter() if all_ips.issuperset(q.ips)) return queues diff --git a/nas_app/nas_managers/structs.py b/nas_app/nas_managers/structs.py index 3a603b9..3a35354 100644 --- a/nas_app/nas_managers/structs.py +++ b/nas_app/nas_managers/structs.py @@ -67,21 +67,7 @@ class AbonStruct(BaseStruct): return "uid=%d, ips=[%s], tariff=%s" % (self.uid, ';'.join(str(i) for i in self._ips), self.tariff or '') def __hash__(self): - return hash(hash(self._ips) + hash(self.tariff)) if self.tariff is not None else 0 - - -# Shape rule from NAS(Network Access Server) -class ShapeItem(BaseStruct): - __slots__ = ('abon', 'sid') - - def __init__(self, abon, sid): - self.abon = abon - self.sid = sid - - def __eq__(self, other): - if not isinstance(other, ShapeItem): - raise TypeError - return self.sid == other.sid and self.abon == other.abon + return hash(hash(self._ips) + hash(self.tariff) if self.tariff is not None else 0) VectorAbon = Iterable[AbonStruct]