|
|
import requests
|
|
|
import time
|
|
|
import json
|
|
|
import random
|
|
|
import cProfile
|
|
|
|
|
|
from test.test_all import response_call
|
|
|
|
|
|
|
|
|
def getinformation_t (url,class_name,file_path):
|
|
|
with open(file_path, 'rb') as f:
|
|
|
file = {'file': f}
|
|
|
data = {'class_name': class_name}
|
|
|
response = requests.post(url, files=file, data=data)
|
|
|
print(response.text)
|
|
|
|
|
|
def call_students_t (url,data_call):
|
|
|
response_call = requests.post(url, data=data_call)
|
|
|
print(response_call.text)
|
|
|
return response_call
|
|
|
|
|
|
def updatetable_t (url,data_update):
|
|
|
response_update = requests.post(url, data=data_update)
|
|
|
print(response_update.text)
|
|
|
|
|
|
def show_information_t (url,data_show):
|
|
|
response_show = requests.post(url, data=data_show)
|
|
|
print(response_show.text)
|
|
|
|
|
|
def main ():
|
|
|
#一、导入2个班级
|
|
|
url = 'http://127.0.0.1:8000/get/information/'
|
|
|
class_name1 = '嵌入式系统'
|
|
|
file_path1 = 'C:/Users/Lenovo/Desktop/嵌入式系统.xlsx'
|
|
|
getinformation_t(url,class_name1,file_path1)
|
|
|
|
|
|
class_name2 = '软件工程'
|
|
|
file_path2 = 'C:/Users/Lenovo/Desktop/软工学生名单.xlsx'
|
|
|
getinformation_t(url,class_name2,file_path2)
|
|
|
|
|
|
#课前点名,举例3个
|
|
|
url_call = 'http://127.0.0.1:8000/call/students/' # 确保 URL 正确
|
|
|
data_call = {
|
|
|
'class_name': '软件工程',
|
|
|
'num': 3,
|
|
|
'mode': 1 # 点名使用正常模式
|
|
|
}
|
|
|
response_call = call_students_t(url_call,data_call)
|
|
|
res = response_call.json()
|
|
|
result = res.get('result', {})
|
|
|
url_update = 'http://127.0.0.1:8000/update/table/'
|
|
|
# 有到加1分,没到扣一分
|
|
|
for name, student_id in result.items():
|
|
|
print(student_id)
|
|
|
point = random.choice([1, -1])
|
|
|
data_update = {
|
|
|
'point': point,
|
|
|
'class_name': '软件工程',
|
|
|
'sid': student_id,
|
|
|
'style': 1
|
|
|
}
|
|
|
updatetable_t(url_update,data_update)
|
|
|
# 三、上课提问,一个一个提问,问了之后直接加分,选择三五成群的模式,提问完直接加分,提问3次
|
|
|
i = 0
|
|
|
while i < 3:
|
|
|
data_call = {
|
|
|
'class_name': '软件工程',
|
|
|
'num': 1,
|
|
|
'mode': 3
|
|
|
}
|
|
|
response_call1 = call_students_t(url_call, data_call)
|
|
|
res = response_call1.json()
|
|
|
result = res.get('result', {})
|
|
|
student_ids = list(result.values())
|
|
|
if not student_ids:
|
|
|
continue
|
|
|
i += 1
|
|
|
student_id = student_ids[0]
|
|
|
data_update = {
|
|
|
'point': 6,
|
|
|
'class_name': '软件工程',
|
|
|
'sid': student_id,
|
|
|
'style': 1
|
|
|
}
|
|
|
updatetable_t(url_update, data_update)
|
|
|
|
|
|
#四、课堂主动回答问题
|
|
|
data_update = {
|
|
|
'point': 6,
|
|
|
'class_name': '软件工程',
|
|
|
'sid': 102201203,
|
|
|
'style': 1
|
|
|
}
|
|
|
updatetable_t(url_update, data_update)
|
|
|
data_update = {
|
|
|
'point': 2,
|
|
|
'class_name': '软件工程',
|
|
|
'sid': 102201216,
|
|
|
'style': 1
|
|
|
}
|
|
|
updatetable_t(url_update, data_update)
|
|
|
|
|
|
#五、教师查看2(#`O′)学生的排名
|
|
|
url_show = 'http://127.0.0.1:8000/show/information/'
|
|
|
data_show = {
|
|
|
'order': 1,
|
|
|
'class_name': '软件工程',
|
|
|
'sid': 102201539,
|
|
|
}
|
|
|
show_information_t(url_show,data_show)
|
|
|
data = {
|
|
|
'order': 1,
|
|
|
'class_name': '软件工程',
|
|
|
'sid': 102201529,
|
|
|
}
|
|
|
show_information_t(url_show,data)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
#cProfile.run('main()','test_total0.txt')
|
|
|
main()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|