Skip to main content

Easy to use HSS API.

Project description

HSSAPI-Python

PyPI

目的

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
email 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

hss_py-1.2.0.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

HSS.py-1.2.0-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file hss_py-1.2.0.tar.gz.

File metadata

  • Download URL: hss_py-1.2.0.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for hss_py-1.2.0.tar.gz
Algorithm Hash digest
SHA256 506c1d4299cf257c0b6a32261550e882c6d39f4a7cc2515d46b1665f1bedc5d3
MD5 8a9da6912fb1ac3f061eed7b1416b7f6
BLAKE2b-256 945555df6eea724b35b1c790607ac2c7b3bcf15360135e531630a4fee017d0e6

See more details on using hashes here.

File details

Details for the file HSS.py-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: HSS.py-1.2.0-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.9.20

File hashes

Hashes for HSS.py-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a4fe299c07c9c4168ec3028f1160e0dee2321e48a7edf271af38103efa756d1f
MD5 b0817ca6c09e219373357307dc592642
BLAKE2b-256 de936587b1fbca7ad4fe61f9c63465a8f0289b741461cd17ff277b68bfe750e4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page