Easy to use HSS API.
Project description
HSSAPI-Python
目的
HSSAPIをPythonで簡単にしようできるようにしたAPIラッパー
使用方法
HSS API ドキュメント
APIラッパーは一部の機能をサポートしています。 API機能を全て活用したい場合、Request_HHSAPI.pyやHSS.pyのget_data関数を使用することにより処理ができると思われます。
インストール
pip install HSS.py
githubから直接インストールする
pip install git+https://github.com/HSS-Project/HSS.py.git
or
pip install git+git@github.com:HSS-Project/HSS.py.git
初期設定
HSS APIでtokenを発行してください。
tokenをUser NewSchoolに渡してください。またNewSchoolには学校idを渡してください。
from HSS import NewSchool
from HSS import User
token = "HSS API token"
user = User(token=token)
school = NewSchool(token=token,schoolid=schoolid)
User
def get_permission() -> list:
"""(GET /v1/permission)"""
def get_permission_discordUserID(DiscordUserID) -> list:
"""(GET /v1/permission/discordUserID) DiscurdUserIDからそのユーザーが閲覧できる学校listを取得します。(DIscord Bot作成に使用してください。)"""
def get_id(ID) -> dict:
"""(GET /v1/users/{HSSUserID}) user情報を取得します。"""
レスポンス ( Example )
{
"developer": bool,
"hid": int,
"discordAccount": bool,
"username": str,
"isBot": bool or None,
"description": str or None
}
値名 | 型 | 説明 | かならず出現するか |
---|---|---|---|
developer | bool | 開発者が有効かどうかです。全てのアカウントでtrueになります。 | true |
hid | int | ユーザーのUniqueIDです。 | true |
discordAccount | bool | Discordアカウントでの登録が有効かどうかです。 | true |
username | str | ユーザーの名前です。 | true |
isBot | bool | ユーザーがBotかどうかを判別します。Botの場合出現します。 | false |
description | str | Botの説明です。 | false |
def get_me() -> dict:
"""(GET /v1/users/@me) """
レスポンス ( Example )
{
"developer" : bool.
"hid" : int,
"discordAccount" : bool,
"username" : str,
"email" : str
}
値名 | 型 | 説明 | かならず出現するか |
---|---|---|---|
developer | bool | 開発者が有効かどうかです。 | true |
hid | int | ユーザーのUniqueIDです。 | true |
discordAccount | bool | Discordアカウントでの登録が有効かどうかです。 | true |
username | str | ユーザーの名前です。 | true |
str | ユーザーのメールアドレスです。 ※ @me の場合のみ出現します。 |
true |
NewScool
def get_classes() -> list:
"""クラスlistを取得します"""
def search_class(grade:int,classname:int) -> int:
"""学年-クラスからUserDatasのlistのindexを取得します。"""
今後のnumberはこれを使用してください。
class,classnameは必ずint型で渡してください。今後strでもいけるよう修正されると思われます。
MonthData
"MonthData"
= {
"sun" : [],
"mon" : [],
"tue" : [],
"wed" : [],
"thu" : [],
"fri" : [],
"sat" : []
}
def grade(number:int) -> int:
"""学年を取得します。"""
def classname(number:int) -> int:
"""クラスを取得します。"""
def get_timeline(number:int,MonthData:str) -> list[dict]:
レスポンス ( Example )
{
"name": str,
"place": None or str,
"IsEvent": bool
}
プロパティ | 型 | 説明 |
---|---|---|
name | str | 名 |
place | None | str | 場所 |
IsEvent | bool | イベントかどうか |
def get_default_timeline(number:int,MonthData:str) -> list[dict]:
"""基本時間割を取得します(timelineと同じ)"""
def get_homework(number:int) -> list[dict]:
"""宿題を取得します。 """
レスポンス ( Example )
{
"name" : str,
"istooBig" : bool,
"page" : {
"start" : str or int,
"end" : str or int,
"comment" : str or None
}
}
プロパティ名 | 型 | 内容 |
---|---|---|
name | str | 名前 |
istooBig | bool | とっても大きくてやるのに時間がかかるものか |
page | dict | ページ情報 |
page.start | str or int | はじまり |
page.end | str or int | おわり |
page.comment | str or int | 補足等 |
def get_event(number:int,MonthData:str) -> list[dict]:
"""イベント情報を取得します。 """
レスポンス ( Example )
{
"name": str,
"timeData" : TimeData,
"place": str or None
}
プロパティ名 | 型 | 説明 |
---|---|---|
name | str | イベント名 |
timeData | TimeData | イベントの時間データ |
place | str | イベントの場所 |
def default_timelineindex(number:int) -> int:
"""基本的な時間割数"""
def patch_timeline(grade:int,classname:int,date:str,name:str,isEvent:bool,state:str = "add", index:int=None, place:str=None):
(PATCH /v1/school/:id/userdatas/:grade/:class/:mon) TimeLineの変更
stateに応じて、追加、削除、更新します。
updateやremoveの場合は、indexを指定してください。そのindexで上書きをします。
パラメータ | 形 | 説明 |
---|---|---|
state | str | "add" or "remove" or "update" |
addはdefaultTimeLineIndexより多い場合には追加されません。エラーがスローされます。
def update_timelineindex(grade:int,classname:int,date:str,index:int):
非推奨
def patch_defaulttimeline(grade:int,classname:int,date:str,name:str,isEvent:bool,state:str = "add", index:int=None, place:str="なし"):
"""標準時間割の変更。 patch_timelineと同じ """
def patch_event(grade:int, _class:int, date:str, name:str, isEndofDay:bool, start:datetime, end:datetime, place:str=None , state :str = "add" , index : int = None):
EventDataの変更
stateに応じて、追加、削除、更新します。
updateやremoveの場合は、indexを指定してください。そのindexで上書きをします。
def patch_homework(grade:int, _class:int, date:str, name:str, start, end, istooBig:bool = False, comment:str=None, state :str = "add" , index : int = None):
"""Homeworkの変更"""
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file hss_py-1.2.1.tar.gz
.
File metadata
- Download URL: hss_py-1.2.1.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | db6ea8d1df355c8b4e1ef8f618931a3538b54045da513aa48f5ef09c20aa55f0 |
|
MD5 | aa0a95b0ca6c48c6b278b5a8a772bb41 |
|
BLAKE2b-256 | cf31172c00d33acf170b0d5f9767ffc092c488af9797e7c56ffb45e1a15e5fdc |
File details
Details for the file HSS.py-1.2.1-py3-none-any.whl
.
File metadata
- Download URL: HSS.py-1.2.1-py3-none-any.whl
- Upload date:
- Size: 8.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb8e84a50acc608fd88a03725e977b71fa52ba837f6373822684b331e506d3d0 |
|
MD5 | 78c421472d035a52d4755705bd608b44 |
|
BLAKE2b-256 | 08724d0dd072436d79108b23db070783e41dd5dbbb895d06ff22097ce51a07dd |