Browse Source

разный синтаксис комманд на разных микротиках,пока подправлю, но если будет часто такое, придётся делать модули для разных версий микротика

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

12
agent/mod_mikrotik.py

@ -114,10 +114,10 @@ class ApiRos:
c += self.readBytes(1)[0]
return c
def writeBytes(self, str):
n = 0;
while n < len(str):
r = self.sk.send(str[n:])
def writeBytes(self, s):
n = 0
while n < len(s):
r = self.sk.send(s[n:])
if r == 0: raise RuntimeError("connection closed by remote end")
n += r
@ -171,7 +171,7 @@ class MikrotikTransmitter(BaseTransmitter):
assert isinstance(user.ip, IpStruct)
return self._exec_cmd(['/queue/simple/add',
'=name=uid%d' % user.uid,
'=target=%s/32' % user.ip.get_str(),
'=target-addresses=%s/32' % user.ip.get_str(),
'=max-limit=%fM/%fM' % (user.tariff.speedOut, user.tariff.speedIn)
])
@ -186,7 +186,7 @@ class MikrotikTransmitter(BaseTransmitter):
assert isinstance(user.ip, IpStruct)
self._exec_cmd(['/queue/simple/set', '=.id=uid%d' % user.uid,
'=max-limit=%fM/%fM' % (user.tariff.speedOut, user.tariff.speedIn),
'=target=%s/32' % user.ip.get_str()
'=target-addresses=%s/32' % user.ip.get_str()
])
# приостановливаем обслуживание абонента

Loading…
Cancel
Save