You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

48 lines
1.4 KiB

#!/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()