|
|
@ -1,7 +1,6 @@ |
|
|
#!/usr/bin/env python |
|
|
#!/usr/bin/env python |
|
|
# -*- coding: utf-8 -*- |
|
|
# -*- coding: utf-8 -*- |
|
|
import os |
|
|
import os |
|
|
|
|
|
|
|
|
import django |
|
|
import django |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -9,8 +8,35 @@ if __name__ == "__main__": |
|
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djing.settings") |
|
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djing.settings") |
|
|
django.setup() |
|
|
django.setup() |
|
|
from abonapp.models import Abon |
|
|
from abonapp.models import Abon |
|
|
|
|
|
from agent import Transmitter, AbonStruct, TariffStruct, NasFailedResult |
|
|
|
|
|
|
|
|
|
|
|
tm = Transmitter() |
|
|
users = Abon.objects.all() |
|
|
users = Abon.objects.all() |
|
|
|
|
|
|
|
|
for usr in users: |
|
|
|
|
|
usr.activate_next_tariff() |
|
|
|
|
|
|
|
|
for user in users: |
|
|
|
|
|
if user.ip_address is None: |
|
|
|
|
|
continue |
|
|
|
|
|
cur_tar = user.active_tariff() |
|
|
|
|
|
if cur_tar is None: |
|
|
|
|
|
continue |
|
|
|
|
|
ab = AbonStruct( |
|
|
|
|
|
uid=user.id, |
|
|
|
|
|
ip=user.ip_address.int_ip(), |
|
|
|
|
|
tariff=TariffStruct( |
|
|
|
|
|
tariff_id=cur_tar.id, |
|
|
|
|
|
speedIn=cur_tar.speedIn, |
|
|
|
|
|
speedOut=cur_tar.speedOut |
|
|
|
|
|
) |
|
|
|
|
|
) |
|
|
|
|
|
# обновляем абонента на NAS |
|
|
|
|
|
mikroid = tm._find_queue('uid%d' % user.id) |
|
|
|
|
|
mikroid = mikroid['=.id'].replace('*', '') |
|
|
|
|
|
try: |
|
|
|
|
|
tm.update_user(ab) |
|
|
|
|
|
except NasFailedResult: |
|
|
|
|
|
tm.add_user(ab) |
|
|
|
|
|
# если не активен то приостановим услугу |
|
|
|
|
|
if user.is_active: |
|
|
|
|
|
tm.start_user(mikroid) |
|
|
|
|
|
else: |
|
|
|
|
|
tm.pause_user(mikroid) |
|
|
|
|
|
tm.update_user(ab) |