libs.domain.rule module¶
libs/domain/rule.py
- class libs.domain.rule.RuleData¶
Bases:
objectルールデータ
- __init__(rule_version='', mode=4, origin_point=250, return_point=300, rank_point=<factory>, ignore_flying=False, draw_split=False, undefined_word=1, keywords=<factory>, remarks=<factory>, dropitems=<factory>, first_time=1900-01-01 00:00:00.000000, last_time=1900-01-01 00:00:00.000000, count=0)¶
- Parameters:
rule_version (str)
mode (Literal[3, 4])
origin_point (int)
return_point (int)
rank_point (list[int])
ignore_flying (bool)
draw_split (bool)
undefined_word (int)
keywords (list[str])
remarks (list[str])
dropitems (list[str])
first_time (ExtendedDatetime)
last_time (ExtendedDatetime)
count (int)
- Return type:
None
- count: int = 0¶
記録回数
- draw_split: bool = False¶
同点時の順位点 - True: 山分けにする - False: 席順で決める
- dropitems: list[str]¶
非表示にする項目
- first_time: ExtendedDatetime = 1900-01-01 00:00:00.000000¶
記録開始日時
- ignore_flying: bool = False¶
トビカウント - True: なし - False: あり
- keywords: list[str]¶
成績記録キーワード
- last_time: ExtendedDatetime = 1900-01-01 00:00:00.000000¶
最終記録日時
- mode: Literal[3, 4] = 4¶
集計モード切替(四人打ち/三人打ち)
- origin_point: int = 250¶
配給原点
- rank_point: list[int]¶
順位点
- remarks: list[str]¶
メモ記録ワード
- return_point: int = 300¶
返し点
- rule_version: str = ''¶
ルール識別子
- undefined_word: int = 1¶
未定義ワードタイプ
- update(rule_data)¶
ルール更新
- Parameters:
rule_data (Mapping) – 更新データ
- Return type:
None
- class libs.domain.rule.RuleSet¶
Bases:
objectルールセット
- __init__()¶
- Return type:
None
- check(chk_commands, chk_members, default_rule)¶
キーワード重複チェック
- Parameters:
chk_commands (set[str]) – チェック対象コマンド名
chk_members (set[str]) – チェック対象メンバー名/チーム名
default_rule (str) – デフォルトルールバージョン
- Raises:
RuntimeError – 重複あり
- Return type:
None
- config: ConfigParser¶
ルール設定ファイル
- data_set(section_name, rule_data)¶
ルール登録
- Parameters:
section_name (str) – セクション名
rule_data (Mapping) – 更新データ情報
- Return type:
None
- dropitems(rule_version)¶
非表示項目の取得
- Parameters:
rule_version (str) – ルール識別子
- Returns:
非表示項目
- Return type:
set[str]
- get_ignore_flying(rule_version)¶
指定ルール識別子のトビカウントフラグを返す
- Parameters:
rule_version (str) – ルール識別子
- Returns:
トビカウントフラグ
- Return type:
bool
- get_mode(rule_version)¶
指定ルール識別子の集計モードを返す
- Parameters:
rule_version (str) – ルール識別子
- Returns:
集計モード
- Return type:
int
- get_undefined_word(rule_version)¶
指定ルール識別子の未定義ワードタイプを返す
- Parameters:
rule_version (str) – ルール識別子
- Returns:
未定義ワードタイプ
- Return type:
int
- get_version(mode, mapping=True)¶
指定した条件のルール識別子をリストで返す
- Parameters:
mode (int) – 集計モード
mapping (bool, optional) –
Defaults to True.
True: キーワードマッピングに登録されているルールのみ
False: ルールとして定義されているものすべて
- Returns:
ルール識別子
- Return type:
list[str]
- info()¶
定義ルールをログに出力する
- Return type:
None
- keyword_mapping: dict[str, str]¶
登録キーワードとルール識別子のマッピング
- keywords(rule_version)¶
成績記録キーワードの取得
- Parameters:
rule_version (str) – ルール識別子
- Returns:
成績記録キーワード
- Return type:
set[str]
- print(rule_version)¶
指定ルール識別子の内容を出力する
- Parameters:
rule_version (str) – ルール識別子
- Returns:
内容
- Return type:
str
- read_config(config)¶
設定ファイル読み込み
- Parameters:
config (Path) – ルール設定ファイル
- Return type:
None
- register_to_database()¶
ルールセット情報をDBに登録する
- Return type:
None
- remarks_words: list[str]¶
メモ記録ワードリスト
- remarks_words_update(suffix)¶
メモ記録ワードリストを更新する
- Parameters:
suffix (list[str]) – メモに追加するサフィックス
- Return type:
None
- property rule_list: list[str]¶
定義済みルール識別子の列挙
- Returns:
ルール識別子
- Return type:
list[str]
- status_update(params)¶
ステータス更新
- Parameters:
params (dict[str, Any]) – プレースホルダ
- Return type:
None
- to_dict(rule_version)¶
指定ルール識別子の情報を辞書で返す
- Parameters:
rule_version (str) – ルール識別子
- Returns:
ルール情報
- Return type:
dict[str, Any]