Compare commits
2 Commits
d56d2a3267
...
main
Author | SHA1 | Date | |
---|---|---|---|
0bf300d95b | |||
a33ff2c117 |
17
main.py
17
main.py
@ -353,6 +353,7 @@ class Grade(URP):
|
||||
"recap_password",
|
||||
]
|
||||
self.env_check(required_keys)
|
||||
self.interval_1 = int(environ.get("interval_1", 5))
|
||||
self.interval_2 = int(environ.get("interval_2", 3600))
|
||||
|
||||
def query(self) -> tuple[dict[str, dict[str, str]], set[str]]:
|
||||
@ -426,9 +427,11 @@ class Grade(URP):
|
||||
grades = new
|
||||
if err > 0:
|
||||
err -= 1
|
||||
sleep(self.interval_2)
|
||||
logger.info(f"Next query will start after {self.interval_2}s")
|
||||
except ReloginException as e:
|
||||
logger.info("Relogin")
|
||||
sc_send("成绩监控", "重新登录")
|
||||
# sc_send("成绩监控", "重新登录")
|
||||
self.login()
|
||||
except Exception as e:
|
||||
logger.error(f"Failed to update due to {e}")
|
||||
@ -437,15 +440,15 @@ class Grade(URP):
|
||||
logger.error("Try to relogin")
|
||||
sc_send("成绩监控", "多次失败,尝试重新登录")
|
||||
self.login()
|
||||
finally:
|
||||
sleep(self.interval_1)
|
||||
|
||||
logger.info(f"Next query will start after {self.interval_2}s")
|
||||
sleep(self.interval_2)
|
||||
logger.info("Normal terminated due to all grades is out.")
|
||||
sc_send("成绩监控", "所有成绩均已公布")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
les = Lessons()
|
||||
les.auto_spider()
|
||||
# gra = Grade()
|
||||
# gra.auto_check()
|
||||
# les = Lessons()
|
||||
# les.auto_spider()
|
||||
gra = Grade()
|
||||
gra.auto_check()
|
||||
|
3
utils.py
3
utils.py
@ -83,6 +83,7 @@ class URP:
|
||||
for attempt in range(1, max_retries + 1):
|
||||
try:
|
||||
response = func()
|
||||
print(response.url)
|
||||
URP._judge_logout(response)
|
||||
return response
|
||||
except (
|
||||
@ -207,7 +208,7 @@ class URP:
|
||||
@staticmethod
|
||||
def _judge_logout(response: requests.Response):
|
||||
"""检查账号是否在其他地方被登录"""
|
||||
if "errorCode=concurrentSessionExpired" in response.url:
|
||||
if "/login" in response.url:
|
||||
raise ReloginException("有人登录了您的账号!")
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user