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: dict[str, RuleData]

ルール情報格納辞書

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]