docs: 新增 ncnu.py 註解
This commit is contained in:
parent
476bb21bb3
commit
3da7612650
19
api/ncnu.py
19
api/ncnu.py
@ -3,14 +3,23 @@ from api.tools import *
|
||||
|
||||
class NCNU():
|
||||
def __init__(self, username, password):
|
||||
'''
|
||||
initial 就登入
|
||||
根據 self.status 判斷成功與否
|
||||
'''
|
||||
self.session = requests.Session()
|
||||
self.status = self.login(username, password)
|
||||
|
||||
def login(self, username, password):
|
||||
'''
|
||||
登入教務系統
|
||||
return bool
|
||||
'''
|
||||
# get login token
|
||||
response = self.session.get('https://ccweb.ncnu.edu.tw/student/login.php')
|
||||
loginToken = find(response, 'input', param={'name': 'token'}).get('value')
|
||||
|
||||
# request login page
|
||||
response = self.session.post(
|
||||
"https://ccweb.ncnu.edu.tw/student/login.php",
|
||||
data={
|
||||
@ -21,17 +30,25 @@ class NCNU():
|
||||
'type': 'a'
|
||||
}
|
||||
)
|
||||
|
||||
# 成功的話 return http 302, redirect
|
||||
if len(response.history)!=0:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
def getCourseTable(self, semester):
|
||||
'''
|
||||
下載學期課表
|
||||
儲存在 ./<semester>課表.pdf
|
||||
'''
|
||||
url = "https://ccweb.ncnu.edu.tw/student/print_semester_course_list.php"
|
||||
|
||||
# get token
|
||||
response = self.session.get(url)
|
||||
token = find(response, 'input', param={'name': 'token'}).get('value')
|
||||
|
||||
# get pdf binary response
|
||||
response = self.session.post(
|
||||
url,
|
||||
data={
|
||||
@ -40,6 +57,8 @@ class NCNU():
|
||||
'token': token,
|
||||
}
|
||||
)
|
||||
|
||||
# save pdf file
|
||||
if response.status_code == 200:
|
||||
with open('{}課表.pdf'.format(semester), 'wb') as fp:
|
||||
fp.write(response.content)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user