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.1.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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

Hashes for hss_py-1.2.1.tar.gz
Algorithm Hash digest
SHA256 db6ea8d1df355c8b4e1ef8f618931a3538b54045da513aa48f5ef09c20aa55f0
MD5 aa0a95b0ca6c48c6b278b5a8a772bb41
BLAKE2b-256 cf31172c00d33acf170b0d5f9767ffc092c488af9797e7c56ffb45e1a15e5fdc

See more details on using hashes here.

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

Hashes for HSS.py-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fb8e84a50acc608fd88a03725e977b71fa52ba837f6373822684b331e506d3d0
MD5 78c421472d035a52d4755705bd608b44
BLAKE2b-256 08724d0dd072436d79108b23db070783e41dd5dbbb895d06ff22097ce51a07dd

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