aboutsummaryrefslogtreecommitdiff
path: root/calgen
diff options
context:
space:
mode:
Diffstat (limited to 'calgen')
-rw-r--r--calgen/ps.py49
1 files changed, 49 insertions, 0 deletions
diff --git a/calgen/ps.py b/calgen/ps.py
new file mode 100644
index 0000000..891e157
--- /dev/null
+++ b/calgen/ps.py
@@ -0,0 +1,49 @@
+# this is really hacky please don't use it
+# copyright (c) 2024 runxi yu
+# SPDX-License-Identifier: BSD-2-Clause
+
+import requests
+import os
+import sys
+import time
+import base64
+
+while True:
+ ss = requests.Session()
+ rq = ss.post(
+ "https://powerschool.ykpaoschool.cn/guardian/home.html",
+ data={
+ "request_locale": "en_US",
+ "account": sys.argv[1],
+ "pw": os.environ[sys.argv[2]],
+ "ldappassword": os.environ[sys.argv[2]],
+ },
+ )
+ t = (
+ ss.get("https://powerschool.ykpaoschool.cn/guardian/home.html")
+ .text.replace("ISO-8859-1", "utf-8")
+ .encode("utf-8")
+ .decode("utf-8", "replace")
+ )
+ tl = t.lower()
+ if "英文" in tl or "Math" in tl or True:
+ print("\a\a\aSending email")
+ with open("/tmp/ekekek.eml", "w") as p:
+ p.write(
+ "To: me@runxiyu.org\r\n"
+ + "From: me@runxiyu.org\r\n"
+ + "Subject: Timetable results\r\n"
+ + 'Content-Type: text/html; charset="utf-8"\r\n'
+ + "Content-Transfer-Encoding: base64\r\n"
+ + "\r\n"
+ + base64.standard_b64encode(t.encode("utf-8")).decode("utf-8", "error")
+ )
+ p.close()
+ print(
+ "\a\a\aDone! Sendmail finished with %s"
+ % repr(os.system("/sbin/sendmail -i me@runxiyu.org < /tmp/ekekek.eml"))
+ )
+ break
+ else:
+ print(t)
+ time.sleep(600)