From c2aaa1c0218f015d7b5fa8037f4fb1a5a526f7bb Mon Sep 17 00:00:00 2001 From: Dmitry Novikov Date: Wed, 14 Jun 2017 19:19:32 +0300 Subject: [PATCH] FIXBUG --- agent/mod_mikrotik.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/agent/mod_mikrotik.py b/agent/mod_mikrotik.py index 05cf43f..82a56c6 100644 --- a/agent/mod_mikrotik.py +++ b/agent/mod_mikrotik.py @@ -236,7 +236,7 @@ class QueueManager(TransmitterManager, metaclass=ABCMeta): assert isinstance(user, AbonStruct) q = self.find('uid%d' % user.uid) if q is not None: - return self._exec_cmd(['/queue/simple/remove', '=.id=*' + str(q.sid)]) + return self._exec_cmd(['/queue/simple/remove', '=.id=*' + getattr(q, 'queue_id', '')]) def remove_range(self, q_ids): if q_ids is not None and len(q_ids) > 0: @@ -251,13 +251,13 @@ class QueueManager(TransmitterManager, metaclass=ABCMeta): # не нашли запись в шейпере об абоненте, добавим return self.add(user) else: - mk_id = queue.sid + mk_id = getattr(queue, 'queue_id', '') # обновляем шейпер абонента return self._exec_cmd(['/queue/simple/set', '=.id=*' + mk_id, '=name=uid%d' % user.uid, '=max-limit=%.3fM/%.3fM' % (user.tariff.speedOut, user.tariff.speedIn), # FIXME: тут в разных микротиках или =target-addresses или =target - '=target=%s' % user.ip.get_str(), + '=target=%s' % str(user.ip), '=queue=MikroBILL_SFQ/MikroBILL_SFQ', '=burst-time=1/1' ]) @@ -285,7 +285,7 @@ class QueueManager(TransmitterManager, metaclass=ABCMeta): self.add(user) return self.disable(user) else: - return self._exec_cmd(['/queue/simple/disable', '=.id=*' + q.sid]) + return self._exec_cmd(['/queue/simple/disable', '=.id=*' + getattr(q, 'queue_id', '')]) def enable(self, user): assert isinstance(user, AbonStruct) @@ -294,7 +294,7 @@ class QueueManager(TransmitterManager, metaclass=ABCMeta): self.add(user) self.enable(user) else: - return self._exec_cmd(['/queue/simple/enable', '=.id=*' + q.sid]) + return self._exec_cmd(['/queue/simple/enable', '=.id=*' + getattr(q, 'queue_id', '')]) class IpAddressListObj(IpStruct): @@ -442,7 +442,7 @@ class MikrotikTransmitter(QueueManager, IpAddressListManager): if queue is None: QueueManager.add(self, user) return - if queue.abon != user: + if queue != user: QueueManager.update(self, user) def ping(self, host, count=10):