libs.domain.placeholder module¶
libs/domain/placeholder.py
- class libs.domain.placeholder.PlaceholderBuilder¶
Bases:
ParameterDataプレースホルダ構築クラス
- __init__(individual=True, guest_skip=True, guest_skip2=True, unregistered_replace=True, friendly_fire=False, statistics=False, ranked=3, stipulated=0, stipulated_rate=0.05, interval=80, search_word='', group_length=0, service_type=ServiceType.UNKNOWN, command='', channel_config=None, target_mode=0, mode=4, default_rule='', rule_version='', rule_list=<factory>, mixed=False, origin_point=250, return_point=300, rank_point='', ignore_flying=False, draw_split=False, undefined_word=1, player_name='', guest_name='', target_player=<factory>, player_list=<factory>, competition_list=<factory>, all_player=False, source='', separate=False, collection='', aggregate_unit=None, target_count=0, starttime=None, endtime=None, onday=None, score_comparisons=False, verbose=False, game_results=False, versus_matrix=False, order=False, rating=False, anonymous=False, fourfold=True, guest_mark='※', format='default', filename='', database_file='', logging_verbose=0)¶
- Parameters:
individual (bool)
guest_skip (bool)
guest_skip2 (bool)
unregistered_replace (bool)
friendly_fire (bool)
statistics (bool)
ranked (int)
stipulated (int)
stipulated_rate (float)
interval (int)
search_word (str)
group_length (int)
service_type (ServiceType)
command (str)
channel_config (Path | None)
target_mode (int)
mode (int)
default_rule (str)
rule_version (str)
rule_list (list[str])
mixed (bool)
origin_point (int)
return_point (int)
rank_point (str)
ignore_flying (bool)
draw_split (bool)
undefined_word (int)
player_name (str)
guest_name (str)
target_player (list[str])
player_list (list[str])
competition_list (list[str])
all_player (bool)
source (str)
separate (bool)
collection (str)
aggregate_unit (Literal['A', 'M', 'Y', None])
target_count (int)
starttime (str | ExtendedDatetime | None)
endtime (str | ExtendedDatetime | None)
onday (str | ExtendedDatetime | None)
score_comparisons (bool)
verbose (bool)
game_results (bool)
versus_matrix (bool)
order (bool)
rating (bool)
anonymous (bool)
fourfold (bool)
guest_mark (str)
format (Literal['default', 'csv', 'txt'])
filename (str)
database_file (str | Path)
logging_verbose (int)
- Return type:
None
- aggregate_unit: Literal['A', 'M', 'Y', None] = None¶
レポート生成用日付範囲デフォルト値
A: 全期間
M: 月別
Y: 年別
None: 未定義
- all_player: bool = False¶
検索対象に登録済みメンバー全員を加える
- anonymous: bool = False¶
匿名化フラグ
- channel_config: Path | None = None¶
チャンネル個別設定状況
Path: 追加設定ファイルパス
None: 個別設定を利用していない
- collection: str = ''¶
集約集計
daily: 日次集約
weekly: 週次集約
monthly: 月次集約
yearly: 年次集約
all: 全体集約
- command: str = ''¶
コマンド名
- competition_list: list[str]¶
比較対象プレイヤーリスト
- database_file: str | Path = ''¶
成績管理データベースファイル名
- default_rule: str = ''¶
ルール識別子(設定値)
- draw_split: bool = False¶
同点時の順位点の取り扱い
True: 山分け
False: 席順
- endtime: str | ExtendedDatetime | None = None¶
集計終了日時
- filename: str = ''¶
出力ファイル名
- format: Literal['default', 'csv', 'txt'] = 'default'¶
出力フォーマット指定
- fourfold: bool = True¶
縦持ち/横持ちデータ判定
- game_results: bool = False¶
ゲーム結果表示
- guest_mark: str = '※'¶
ゲスト無効時に未登録メンバーに付与する印
- guest_name: str = ''¶
ゲストの名前
- ignore_flying: bool = False¶
トビカウントの無効化
- logging_verbose: int = 0¶
デバッグ情報出力レベル
- mixed: bool = False¶
ルール識別子の扱い
True: 定義済みすべてのルール識別子を含める
False: ルール識別子を個別指定
- mode: int = 4¶
集計モード
- named_query(query)¶
クエリにパラメータをバインドして返す
- Parameters:
query (str) – SQL
- Returns:
バインド済みSQL
- Return type:
str
- onday: str | ExtendedDatetime | None = None¶
time_adjust修正を含まない日時
- order: bool = False¶
順位推移グラフ表示
- origin_point: int = 250¶
配給原点
- placeholder(game_count=None)¶
プレースホルダ用辞書出力
- Parameters:
game_count (int, optional) – 規定打数調整用ゲーム数. Defaults to None.
- Returns:
プレースホルダ
- Return type:
dict[str, Any]
- player_list: list[str]¶
集計対象プレイヤーリスト
- player_name: str = ''¶
集計対象プレイヤー
- query_modification(query)¶
クエリをオプションの内容で修正する
- Parameters:
query (str) – 修正するクエリ
- Returns:
修正後のクエリ
- Return type:
str
- rank_point: str = ''¶
順位点(空白区切りの文字列)
- rating: bool = False¶
レーティング推移グラフ表示
- read_data(keyword)¶
データベースからデータを取得する
- Parameters:
keyword (str) – SQL選択キーワード
- Returns:
集計結果
- Return type:
pd.DataFrame
- return_point: int = 300¶
返し点
- rule_list: list[str]¶
集計対象ルール識別子
- rule_version: str = ''¶
ルール識別子(指定値)
- score_comparisons: bool = False¶
スコア比較表示
- separate: bool = False¶
スコア入力元識別子別集計フラグ
True: 識別子別に集計
False: すべて集計
- service_type: ServiceType = 'unknown'¶
連携先サービス
- source: str = ''¶
スコア入力元識別子
- starttime: str | ExtendedDatetime | None = None¶
集計開始日時
- target_count: int = 0¶
直近ゲーム数指定
- target_mode: int = 0¶
集計対象モードの指定
0: settingのデフォルトに従う
not 0: 指定値でmodeを上書き
- target_player: list[str]¶
引数で受け付けたプレイヤーのリスト
- undefined_word: int = 1¶
未登録ワードの扱い
0: 役満扱い
1: カウントのみ
2: 卓外清算(個人清算)
3: 卓外清算(チーム清算)
- update_from_dict(input_dict)¶
辞書の内容で値を更新する
- Parameters:
input_dict (dict[str,Any]) – 更新内容
- Return type:
None
- update_setting(main_config, key_name, val_type, fallback=None)¶
優先度順に key_name を探索して値を更新する
- Parameters:
main_config (Path) – メイン設定ファイルパス
key_name (str) – 探索するキー名
val_type (type) – 取り込む値の型 (bool, str)
fallback (Any) –
見つからなかった場合にセットする値
None が指定されているときは値を更新しない
- Return type:
None
Note
探索優先順序
個別設定ファイル内settingセクション
メイン設定ファイル内チャンネル個別セクション
メイン設定ファイル内サービス別セクション
メイン設定ファイル内settingセクション
- verbose: bool = False¶
詳細情報表示
- versus_matrix: bool = False¶
対戦マトリックス表示