2 changed files with 171 additions and 88 deletions
@ -1,48 +1,55 @@ |
|||||
#!/bin/env python2 |
|
||||
|
#!/bin/env python3 |
||||
# coding=utf-8 |
# coding=utf-8 |
||||
|
|
||||
import os |
|
||||
import MySQLdb |
import MySQLdb |
||||
from json import dumps |
from json import dumps |
||||
|
|
||||
|
|
||||
if __name__ == "__main__": |
|
||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djing.settings") |
|
||||
|
|
||||
db = MySQLdb.connect(host="localhost", user="root", passwd="PASSWORD", db="nodeny", charset='utf8') |
|
||||
cursor = db.cursor() |
|
||||
|
|
||||
result = dict() |
|
||||
|
|
||||
|
def load_users(cursor, grp_id): |
||||
# выбираем абонентов |
# выбираем абонентов |
||||
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') WHERE users.grp=23" |
|
||||
|
sql = r"SELECT users.name, users.fio, data0._adr_telefon, dictionary.v AS street, data0._adr_house, data0._birthday, users.grp, INET_NTOA(ip_pool.ip) AS ip, users.balance, AES_DECRYPT(users.passwd, 'Vu6saiZa') as decr_passwd FROM users LEFT JOIN data0 ON (data0.uid = users.id) LEFT JOIN dictionary ON (dictionary.k = data0._adr_street AND dictionary.type = 'street') LEFT JOIN ip_pool ON (ip_pool.uid = users.id) WHERE users.grp = %d" % grp_id |
||||
cursor.execute(sql) |
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() |
|
||||
|
|
||||
|
users = [{ |
||||
|
'name': str(res[0]), |
||||
|
'fio': str(res[1]), |
||||
|
'tel': str(res[2]), |
||||
|
'street': str(res[3] or ''), |
||||
|
'house': str(res[4]), |
||||
|
'birth': res[5], |
||||
|
'grp': int(res[6]), |
||||
|
'ip': str(res[7] or ''), |
||||
|
'balance': float(res[8]), |
||||
|
'passw': res[9].decode("utf-8") if res[9] is not None else '' |
||||
|
} for res in cursor.fetchall()] |
||||
|
return users |
||||
|
|
||||
|
|
||||
|
|
||||
|
def load_groups(cursor): |
||||
# выбираем группы |
# выбираем группы |
||||
sql = r'SELECT grp_id, grp_name FROM user_grp' |
sql = r'SELECT grp_id, grp_name FROM user_grp' |
||||
cursor.execute(sql) |
cursor.execute(sql) |
||||
result['groups'] = list() |
|
||||
res = cursor.fetchone() |
|
||||
while res: |
|
||||
result['groups'].append({ |
|
||||
|
groups = list() |
||||
|
for res in cursor.fetchall(): |
||||
|
users = load_users(cursor=cursor, grp_id=int(res[0])) |
||||
|
groups.append({ |
||||
'gid': int(res[0]), |
'gid': int(res[0]), |
||||
'gname': res[1] |
|
||||
|
'gname': res[1], |
||||
|
'users': users |
||||
}) |
}) |
||||
res = cursor.fetchone() |
|
||||
|
return groups |
||||
|
|
||||
|
|
||||
|
|
||||
|
if __name__ == "__main__": |
||||
|
db = MySQLdb.connect(host="127.0.0.1", user="<username>", passwd="<password>", db="db", charset='utf8') |
||||
|
cursor = db.cursor() |
||||
|
|
||||
|
result = dict() |
||||
|
|
||||
|
result['groups'] = load_groups(cursor=cursor) |
||||
db.close() |
db.close() |
||||
f = open('dump_chkal.json', 'w') |
|
||||
f.write(dumps(result, ensure_ascii=False).encode('utf8')) |
|
||||
|
f = open('dump.json', 'w') |
||||
|
f.write(dumps(result, ensure_ascii=False)) |
||||
f.close() |
f.close() |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue