HSSAPIをPythonで簡単にしようできるようにしたAPIラッパー
HSS API ドキュメント
APIラッパーは一部の機能をサポートしています。 API機能を全て活用したい場合や、まだラッパーに実装されていない最新の機能を理容したい場合は、client._http.get_request
またはclient._http.patch_request
を使用することにより処理ができると思われます。
pip install HSS.py
pip install git+https://github.com/HSS-Project/HSS.py.git
or
pip install [email protected]:HSS-Project/HSS.py.git
HSS APIのアプリケーション画面でtokenを発行してください。
import hss
from hss.timeline import Event, EventTime
from hss import TimelineDayType
import asyncio
import time
client = hss.Client()
async def main():
token = "HSS API token"
await client.setup(token=token)
# Schoolオブジェクトの取得
school = client.get_school(123) # school_id
print(school.classes) # {2: {1: <Class ...>, 2: <Class ...>, 3: <Class ...>}}
# Classオブジェクトの取得
cl = school.classes[2][3]
print(cl.events) # <EventTimeline sun=... mon=... ...>
# 月曜日のイベントを追加する(注意: copyしないと編集が反映されません!)
monday = cl.events.monday.copy()
start = int(time.time())
timedata = EventTime(start=start, end=start+1000, is_end_of_day=False) # 開始時間や終了時間の設定(秒単位)
monday.events.append(Event(name="test", place="test", time=timedata))
await cl.events.edit(TimelineDayType.mon, monday)
async def runner():
# 処理を終えたあと、正常終了でも異常終了でも、client.closeを行うことを推奨します。
try:
await main()
finally:
await client.close()
asyncio.run(runner())