Browse Source

FIXBUG

devel
Dmitry Novikov 9 years ago
parent
commit
c2aaa1c021
  1. 12
      agent/mod_mikrotik.py

12
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):

Loading…
Cancel
Save