""" 云阅卷接口 """ import config import requests import logger import os class gxmarkingcloudInf(): def __init__(self): self.session = requests.session() self.header={ "auth-info": "loginname=" + config.user_name + ";password=" + config.password, } self.login() def login(self): url=config.domain+"login" data={ "showType":"admin-login", "loginName":config.user_name, "password":config.password } result=self.session.post(url,data=data) logger.info("login server"+str(result.status_code)) def selectExam(self): url=config.domain+"admin/exam/view/"+config.examId+"/info" logger.info("select exam " + url) result=self.session.get(url) logger.info("select exam" + str(result.status_code)) def importStudent(self): url=config.domain+"admin/exam-param/student/import" upfile = {'file': open(str(config.examId)+os.sep+"student.xlsx", 'rb')} result=self.session.post(url,files=upfile) logger.info("upload student data" + str(result.status_code)) def importObjectivePaper(self): url=config.domain+"admin/exam-param/paper/import" data={ "objective":True } upfile = {'file': open(str(config.examId)+os.sep+"object.xlsx", 'rb')} result=self.session.post(url, data=data,files=upfile) logger.info("upload objective data" + str(result.status_code)) def importSubjectivePaper(self): url = config.domain + "admin/exam-param/paper/import" data = { "objective": False } upfile = {'file': open(str(config.examId)+os.sep+"subjective.xlsx", 'rb')} result=self.session.post(url, data=data, files=upfile) logger.info("upload subjective data" + str(result.status_code)) def queryStudent(self,examnumber): url=config.domain+"api/student/check" examstudentdata={ "examId":config.examId, "examNumber":examnumber } result=self.session.post(url, json=examstudentdata,headers=self.header) return result.json() def scanstudent(self,studentdata): url=config.domain+"api/scan/student/"+config.examId result=self.session.post(url,json=[studentdata],headers=self.header) if result.status_code==200: logger.info(str(studentdata["examNumber"])+"upload success") else: logger.error(str(studentdata["examNumber"])+"upload false") def batchcreateMarker(self,count,subject_code): url=config.domain+"admin/exam-param/marker/batch-create" data={ "subjectCode":subject_code, "common":False, "count":count, "password":"1234" } result=self.session.post(url,data=data,headers=self.header) if result.status_code == 200: logger.info(str(subject_code) + "batch create marker success") else: logger.error(str(subject_code) + "batch create marker false") # # inf=gxmarkingcloudInf() # inf.scanstudent("19000001")