libs.types module

libs/types.py

class libs.types.ActionStatus

Bases: StrEnum

DBに対する操作

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

座席データ

class RenameType

Bases: Enum

リネームタイプ

NONE = 1

変換しない

NORMAL = 2

通常変換

SHORT = 3

短縮変換

__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: 何もしない

data_kind: DataKind = 1

データ種別

property filename: str

出力ファイル名

format_type: Literal['default', 'csv', 'txt'] = 'default'

出力フォーマット

header_hidden: bool = False

ヘッダ文を非表示にする - 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を使わない