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

探索優先順序

  1. 個別設定ファイル内settingセクション

  2. メイン設定ファイル内チャンネル個別セクション

  3. メイン設定ファイル内サービス別セクション

  4. メイン設定ファイル内settingセクション

verbose: bool = False

詳細情報表示

versus_matrix: bool = False

対戦マトリックス表示