EDX获取接口用户数据并保存到系统(Python2)
import sys
sys.path.append("./")
sys.path.append("/usr/local/lib/python2.7/dist-packages")
sys.path.append("/edx/app/edxapp/venvs/edxapp/bin/python")
sys.path.append("/edx/app/edxapp/edx-platform")
import os
import suds
from suds import client
import unicodecsv
import csv
import json
import collections
from django.contrib.auth.models import User
from student.models import UserProfile, Registration
from django.core.exceptions import ObjectDoesNotExist
reload(sys)
sys.setdefaultencoding('utf-8')
创建用户
def create_student_user(username,password,email,name):
user = User(username=username,email=email,is_active=True)
user.set_password(password)
user.save()
registration = Registration()
registration.register(user)
profile = UserProfile(user=user)
profile.name = name
profile.save()
获取数据
def dataex():
url = 'http://192.168.23.59:8000/RetRegisterUserAPI.svc?wsdl'
client=suds.client.Client(url)
token=client.service.GetToken()
result=client.service.GetRegisterUsers(token)
print result
jsonStr = json.loads(result)
Datas = jsonStr['Datas']
data= json.loads(Datas)
main
def main():
i = 0
for d in data:
username = d['username']
password = "nywb@123"
email = d['email']
name = d['first_name'].decode('utf-8')
try:
user_live = User.objects.get(username=username)
except ObjectDoesNotExist:
create_student_user(username,password,email,name)
i=i+1
print "ok~"
print "新增人数:"
print i
if __name__ == '__main__':
main()