Browse Source

Добавил option82

devel
Dmitry 9 years ago
parent
commit
e3e8a5e345
  1. 70
      djing/utils/save_from_nodeny.py

70
djing/utils/save_from_nodeny.py

@ -5,14 +5,14 @@ import os
from json import load from json import load
import django import django
from django.utils import timezone from django.utils import timezone
from django.core.exceptions import ValidationError
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, AbonGroup, AbonRawPassword, AbonStreet, AbonTariff
from abonapp.models import Abon, AbonGroup, AbonRawPassword, AbonStreet, AbonTariff, Opt82
from ip_pool.models import IpPoolItem from ip_pool.models import IpPoolItem
from tariff_app.models import Tariff from tariff_app.models import Tariff
class DumpService(object): class DumpService(object):
price = 0.0 price = 0.0
speedIn = 0.0 speedIn = 0.0
@ -65,6 +65,12 @@ class DumpAbon(object):
self.ip = obj['ip'] if obj['ip'] != '' else None self.ip = obj['ip'] if obj['ip'] != '' else None
self.balance = obj['balance'] self.balance = obj['balance']
self.passw = obj['passw'] self.passw = obj['passw']
if obj['opt82']['dev_mac'] is not None and obj['opt82']['dev_port'] is not None:
self.opt82 = {
'dev_mac': obj['opt82']['dev_mac'],
'dev_port': obj['opt82']['dev_port']
}
if obj['service'] is not None: if obj['service'] is not None:
self.service = DumpService(obj['service']) self.service = DumpService(obj['service'])
else: else:
@ -99,6 +105,11 @@ class DumpAbon(object):
self.service = DumpService.build_from_db(srv) self.service = DumpService.build_from_db(srv)
else: else:
self.service = None self.service = None
if obj.opt82 is not None and obj.opt82.mac is not None and obj.opt82.port is not None:
self.opt82 = {
'dev_mac': obj.opt82.mac,
'dev_port': obj.opt82.port
}
return self return self
def __eq__(self, other): def __eq__(self, other):
@ -135,6 +146,26 @@ def add_service_if_not_exist(service):
return obj return obj
def add_raw_password_if_not_exist(acc, raw_passw):
try:
psw = AbonRawPassword.objects.get(account=acc)
#if psw != raw_passw:
# psw.passw_text = raw_passw
# psw.save(update_fields=['passw_text'])
except AbonRawPassword.DoesNotExist:
psw = AbonRawPassword.objects.create(account=acc, passw_text=raw_passw)
return psw
def add_opt82_if_not_exist(mac, port):
print(mac, port)
try:
opt82 = Opt82.objects.get(mac=mac, port=port)
except Opt82.DoesNotExist:
opt82 = Opt82.objects.create(mac=mac, port=port)
return opt82
def load_users(obj, group): def load_users(obj, group):
if len(obj) < 1: if len(obj) < 1:
return return
@ -151,6 +182,8 @@ def load_users(obj, group):
except Abon.DoesNotExist: except Abon.DoesNotExist:
# добавляем абонента # добавляем абонента
abon = add_user(dump_abon, group) abon = add_user(dump_abon, group)
if abon is None:
raise Exception("Чё за херня!? Не создался абонент")
abon_service_from_dump = dump_abon.service abon_service_from_dump = dump_abon.service
if abon_service_from_dump is None: if abon_service_from_dump is None:
@ -166,6 +199,12 @@ def load_users(obj, group):
time_start=timezone.now(), time_start=timezone.now(),
deadline=calc_obj.calc_deadline() deadline=calc_obj.calc_deadline()
) )
try:
if hasattr(dump_abon, 'opt82'):
abon.opt82 = add_opt82_if_not_exist(dump_abon.opt82['dev_mac'], dump_abon.opt82['dev_port'])
abon.save(update_fields=['opt82'])
except ValidationError as e:
print('\t', e)
def add_user(obj, user_group): def add_user(obj, user_group):
@ -182,17 +221,20 @@ def add_user(obj, user_group):
except AbonStreet.DoesNotExist: except AbonStreet.DoesNotExist:
street = AbonStreet.objects.create(name=obj.street, group=user_group) street = AbonStreet.objects.create(name=obj.street, group=user_group)
return Abon.objects.create(
username=obj.name,
fio=obj.fio,
telephone=obj.tel,
street=street,
house=obj.house,
birth_day=obj.birth,
group = user_group,
ip_address=ip,
ballance=obj.balance
)
abon = Abon()
abon.username = obj.name
abon.fio = obj.fio
abon.telephone = obj.tel
abon.street = street
abon.house = obj.house
abon.birth_day = obj.birth
abon.group = user_group
abon.ip_address = ip
abon.ballance = obj.balance
abon.set_password(obj.passw)
abon.save()
add_raw_password_if_not_exist(abon, obj.passw)
return abon
def update_user(db_abon, obj, user_group): def update_user(db_abon, obj, user_group):
@ -217,7 +259,9 @@ def update_user(db_abon, obj, user_group):
db_abon.group = user_group db_abon.group = user_group
db_abon.ip_address = ip db_abon.ip_address = ip
db_abon.ballance = obj.balance db_abon.ballance = obj.balance
db_abon.set_password(obj.passw)
db_abon.save() db_abon.save()
add_raw_password_if_not_exist(db_abon, obj.passw)
if __name__ == "__main__": if __name__ == "__main__":

Loading…
Cancel
Save