libs.types module¶
libs/types.py
- class libs.types.ActionStatus¶
Bases:
StrEnumDBに対する操作
- CHANGE = 'change'¶
insert/updateが実行された
- DELETE = 'delete'¶
deleteが実行された
- NOTHING = 'nothing'¶
何もしてない
- __new__(value)¶
- class libs.types.ChannelType¶
Bases:
StrEnumチャンネルタイプ
- CHANNEL = 'normal'¶
通常チャンネル
- DIRECT_MESSAGE = 'direct_message'¶
ダイレクトメッセージ
- HOME_APP = 'home_app'¶
Slackのホームアプリ
- PRIVATE = 'private'¶
プライベートチャンネル
- SEARCH = 'search_api'¶
検索API
- UNDETERMINED = 'undetermined'¶
未定義状態
- __new__(value)¶
- class libs.types.CommandType¶
Bases:
StrEnum実行(する/した)サブコマンド兼設定ファイルセクション名
- COMPARISON = 'comparison'¶
突合処理
- GRAPH = 'graph'¶
グラフ生成
- HELP = 'help'¶
ヘルプ
- MEMBER_LIST = 'member'¶
メンバー一覧
- RANKING = 'ranking'¶
ランキング
- RATING = 'rating'¶
レーティング
- REPORT = 'report'¶
レポート
- RESULTS = 'results'¶
成績サマリ
- TEAM_LIST = 'team'¶
チーム一覧
- UNKNOWN = 'unknown'¶
未定義
- __new__(value)¶
- class libs.types.GradeTableDict¶
Bases:
TypedDict段位テーブル用辞書
- addition_expression: str¶
素点評価式(昇段ポイントに加算)
- name: str¶
識別名
- table: list[RankTableDict]¶
昇段ポイント計算テーブル
- class libs.types.MessageStatus¶
Bases:
StrEnumメッセージステータス
- APPEND = 'message_append'¶
新規ポストイベント
- CHANGED = 'message_changed'¶
編集イベント
- DELETED = 'message_deleted'¶
削除イベント
- DO_NOTHING = 'do_nothing'¶
何もしなくてよいイベント
- UNDETERMINED = 'undetermined'¶
未定義状態
- __new__(value)¶
- libs.types.MessageType: TypeAlias = None | str | ForwardRef('Path') | ForwardRef('pd.DataFrame')¶
メッセージ型 - None: 空データ(なにもしない) - str: 文字列型データ(そのまま表示) - Path: ファイルパス(アップロード処理) - DataFrame: 表データ
- class libs.types.MessageTypeDict¶
Bases:
TypedDictメッセージ格納辞書
- data: None | str | Path | pd.DataFrame¶
内容
- options: StyleOptions¶
表示オプション
- class libs.types.RankTableDict¶
Bases:
TypedDict昇段ポイント計算テーブル用辞書
- acquisition: list[int]¶
獲得ポイント(順位)
- demote: bool¶
降格フラグ - True: 降格する(省略時デフォルト) - False: 降格しない
- grade: str¶
段位名称
- point: list[int]¶
初期ポイントと昇段に必要なポイント
- class libs.types.RemarkDict¶
Bases:
TypedDictメモ格納用辞書
- event_ts: str¶
メモ記録時間
- matter: str¶
記録内容
- name: str¶
記録対象プレイヤー名
- source: str¶
データ入力元識別子
- thread_ts: str¶
ゲーム終了時間
- class libs.types.ScoreDict¶
Bases:
TypedDictスコアデータ格納用辞書
- comment: str | None¶
ゲームコメント
- deposit: int¶
配給原点合計 - 素点合計
- mode: Literal[3, 4]¶
集計モード
- p1_name: str¶
東家:プレイヤー名
- p1_point: float¶
東家:獲得ポイント
- p1_rank: int¶
東家:獲得順位
- p1_rpoint: int¶
東家:素点(入力文字列評価後)
- p1_str: str¶
東家:入力された素点情報(文字列)
- p2_name: str¶
南家:プレイヤー名
- p2_point: float¶
東家:獲得ポイント
- p2_rank: int¶
南家:獲得順位
- p2_rpoint: int¶
南家:素点(入力文字列評価後)
- p2_str: str¶
南家:入力された素点情報(文字列)
- p3_name: str¶
西家:プレイヤー名
- p3_point: float¶
西家:獲得ポイント
- p3_rank: int¶
西家:獲得順位
- p3_rpoint: int¶
西家:素点(入力文字列評価後)
- p3_str: str¶
西家:入力された素点情報(文字列)
- p4_name: str¶
北家:プレイヤー名
- p4_point: float¶
北家:獲得ポイント
- p4_rank: int¶
北家:獲得順位
- p4_rpoint: int¶
北家:素点(入力文字列評価後)
- p4_str: str¶
北家:入力された素点情報(文字列)
- rule_version: str¶
ルール識別子
- source: str | None¶
データ入力元識別子
- ts: str¶
ゲーム終了時間
- class libs.types.ServiceType¶
Bases:
StrEnum連携先サービス
- DISCORD = 'discord'¶
discord
- SLACK = 'slack'¶
slack
- STANDARD_IO = 'standard_io'¶
standard_io
- UNKNOWN = 'unknown'¶
unknown
- WEB = 'web'¶
web ui
- __new__(value)¶
- class libs.types.StyleOptions¶
Bases:
object表示オプション
- class DataKind¶
Bases:
Enum保存されているデータの種類
- DETAILED_COMPARISON = 4¶
成績詳細比較
- GENERAL = 1¶
通常データ
- POINTS_DIFF = 3¶
成績サマリ(ポイント差分)
- POINTS_TOTAL = 2¶
成績サマリ(通算ポイント)
- RANKING = 8¶
ランキングデータ
- RATING = 9¶
レーティングデータ
- RECORD_DATA = 6¶
戦績データ(簡易版)
- RECORD_DATA_ALL = 7¶
戦績データ(詳細版)
- REMARKS_OTHER = 12¶
メモ(その他)
- REMARKS_REGULATION = 10¶
メモ(卓外清算)
- REMARKS_YAKUMAN = 11¶
メモ(役満和了)
- SEAT_DATA = 5¶
座席データ
- __init__(title='', sub_title=False, format_type='default', base_name='', codeblock=False, show_index=False, use_comment=False, header_hidden=False, key_title=True, summarize=True, indent=0, keep_blank=False, keep_indent=False, transpose=False, rename_type=RenameType.NORMAL, data_kind=DataKind.GENERAL)¶
- Parameters:
title (str)
sub_title (bool)
format_type (Literal['default', 'csv', 'txt'])
base_name (str)
codeblock (bool)
show_index (bool)
use_comment (bool)
header_hidden (bool)
key_title (bool)
summarize (bool)
indent (int)
keep_blank (bool)
keep_indent (bool)
transpose (bool)
rename_type (RenameType)
data_kind (DataKind)
- Return type:
None
- property asdict: dict[str, Any]¶
辞書変換
- base_name: str = ''¶
ファイル出力時のファイル名
- codeblock: bool = False¶
MessageTypeがstr型ならcodeblock化 - True: codeblock化 - False: 何もしない
- property filename: str¶
出力ファイル名
- format_type: Literal['default', 'csv', 'txt'] = 'default'¶
出力フォーマット
ヘッダ文を非表示にする - True: 非表示 - False: 表示
- indent: int = 0¶
出力時に付与するインデント数(TAB)
- keep_blank: bool = False¶
空行の削除 - True: 削除しない - False: 削除する
- keep_indent: bool = False¶
保存されているメッセージのdedentの取り扱い - True: 維持する - False: 削除する
- key_title: bool = True¶
小見出しに辞書のキーを使う - True: 表示 - False: 非表示
- property print_title: str¶
タイトル表示
- Returns:
タイトル文字列
- Return type:
str
- rename_type: RenameType = 2¶
カラム名変換パラメータ
- show_index: bool = False¶
MessageTypeがDataFrame型なら表にIndexに含める - True: Indexを含める - False: Indexを含めない
- sub_title: bool = False¶
サブタイトル化
- summarize: bool = True¶
MessageTypeがstr型のとき後続の要素を集約する - True: 可能な限り複数の要素をひとつにまとめる - False: 要素単位でデータを処理する
- title: str = ''¶
出力タイトル
- transpose: bool = False¶
MessageTypeがDataFrameのとき表の縦横を変換する
- use_comment: bool = False¶
ファイルアップロード時のinitial_commentを有効にする - True: initial_commentを使う - False: initial_commentを使わない