Merge branch 'lijingwei' into 'master' (merge request !7)

lijingwei
This commit is contained in:
RainSun 2020-01-22 14:32:41 +00:00
commit c2dffeaa15
2 changed files with 44 additions and 7 deletions

2
coc.py
View File

@ -1,4 +1,4 @@
# 引入文件夹中的文件
# 引入文件夹中的文件
import sys
sys.path.append('./lib')
from allFunction import manageLogin

View File

@ -3,6 +3,7 @@ import requests
from urllib.parse import quote
import base64
from bs4 import BeautifulSoup
import random
def connection(username,password):
s = requests.Session()
@ -64,17 +65,53 @@ def getSchedule(Ip, S):
return {'errcode': 102, 'errmsg':'教务挂了'}
time = ['AM__TimePieces','PM__TimePieces','EV__TimePieces']
data = data['data']['AdjustDays']
data_cache = [[0] * 7 for _ in range(6)]
days_per_week = [0] * 23
lesson = [[0] * 7 for _ in range(6)]
for i in range(7):
for j in range(3):
for k in range(2):
if( data[i][time[j]][k]['Dtos'] ):
data_cache[j*2+k][i] = []
lesson[j*2+k][i] = []
for l in data[i][time[j]][k]['Dtos']:
temp = []
temp_lesson = {}
Time = [0] * 23
mod = ''
for m in l['Content']:
temp.append(m['Name'])
data_cache[j*2+k][i].append(temp)
if temp_lesson.get(m['Key']):
temp_lesson[m['Key']] += ','+m['Name']
else:
temp_lesson[m['Key']] = m['Name']
temp_Time = temp_lesson['Time']
if '单周' in temp_Time:
mod = 'single'
temp_Time = temp_Time[0:len(temp_Time)-5]
elif '双周' in temp_Time:
mod = 'double'
temp_Time = temp_Time[0:len(temp_Time)-5]
else:
mod = 'all'
temp_Time = temp_Time[0:-1]
temp_Time = temp_Time.split(',')
index = 0
for n in temp_Time:
temp_Time[index] = n.split('-')
index += 1
index = 0
for n in temp_Time:
if len(n) > 1 :
for o in range( int(n[0]) , int(n[1]) + 1):
if ( o%2==0 and mod is 'double' ) or ( o%2==1 and mod is 'single' ) or ( mod is 'all' ):
days_per_week[o] = max(days_per_week[o] , i+1)
Time[o] = 1
else:
Time[o] = 0
else:
days_per_week[int(n[0])] = max(days_per_week[int(n[0])] , i+1)
Time[int(n[0])] = 1
index += 1
temp_lesson['Time_split'] = Time
lesson[j*2+k][i].append(temp_lesson)
data_cache = {'lesson':lesson,'days_per_week':days_per_week}
return {'errcode': 200, 'errmsg': 'ok', 'data': data_cache}
def getCurrentTime(Ip, S):
@ -86,4 +123,4 @@ def getCurrentTime(Ip, S):
)
data = json.loads(r.content.decode('utf-8'))
data_cache = data['data'].pop('DateList')
return {'errcode': 200, 'errmsg': 'ok', 'data': data_cache}
return {'errcode': 200, 'errmsg': 'ok', 'data': data_cache}