Browse Source

перенос из nodeny

devel
Dmitry 9 years ago
parent
commit
17cc4ee6b5
  1. 48
      load_from_nodeny.py
  2. 40
      save_from_nodeny.py

48
load_from_nodeny.py

@ -0,0 +1,48 @@
#!/bin/env python2
# coding=utf-8
import os
import MySQLdb
from json import dumps
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djing.settings")
db = MySQLdb.connect(host="localhost", user="root", passwd="ps", db="nodeny", charset='utf8')
cursor = db.cursor()
result = dict()
# выбираем абонентов
sql = r"SELECT users.name, users.fio, data0._adr_telefon, dictionary.v, data0._adr_house, data0._birthday, users.grp FROM users LEFT JOIN data0 ON (data0.uid=users.id) LEFT JOIN dictionary ON (dictionary.k=data0._adr_street AND dictionary.type='street')"
cursor.execute(sql)
result['users'] = list()
res = cursor.fetchone()
while res:
result['users'].append({
'name': res[0],
'fio': res[1],
'tel': res[2],
'addr': u"ул. %s д. %s" % (res[3], res[4]),
'birth': int(res[5]),
'grp': int(res[6])
})
res = cursor.fetchone()
# выбираем группы
sql = r'SELECT grp_id, grp_name FROM user_grp'
cursor.execute(sql)
result['groups'] = list()
res = cursor.fetchone()
while res:
result['groups'].append({
'gid': int(res[0]),
'gname': res[1]
})
res = cursor.fetchone()
db.close()
f = open('dump.json', 'w')
f.write(dumps(result, ensure_ascii=False).encode('utf8'))
f.close()

40
save_from_nodeny.py

@ -0,0 +1,40 @@
#!/bin/env python2
# coding=utf-8
import os
from json import loads
import django
#from django.db.utils import IntegrityError
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djing.settings")
django.setup()
from abonapp.models import Abon, AbonGroup
f = open('dump.json', 'r')
dat = f.readlines()
f.close()
dat = loads(dat[0])
for dt in dat['groups']:
try:
grp = AbonGroup.objects.get(title=dt['gname'])
except AbonGroup.DoesNotExist:
grp = AbonGroup(title=dt['gname'])
grp.save()
dt['obj'] = grp
for dt in dat['users']:
grp = filter(lambda gr: dt['grp']==gr['gid'], dat['groups'])
grp = grp[0]['obj'] if len(grp)>0 else None
try:
abon = Abon.objects.get(username=dt['name'])
except Abon.DoesNotExist:
abon = Abon(username=dt['name'])
abon.fio = dt['fio']
abon.telephone=dt['tel']
abon.address=dt['addr']
abon.group=grp
abon.save()
print abon.username, abon.fio, abon.group
Loading…
Cancel
Save