libs.domain.datamodels module

libs/domain/datamodels.py

class libs.domain.datamodels.Args

Bases: object

コマンドラインオプション

__init__(service, config, no_cleanup, debug, verbose, moderate, notime, text, host, port, compar, unification, recalculation, export_data, import_data, vacuum, gen_test_data, testcase)
Parameters:
  • service (str)

  • config (Path)

  • no_cleanup (bool)

  • debug (int)

  • verbose (int)

  • moderate (bool)

  • notime (bool)

  • text (str)

  • host (str)

  • port (int)

  • compar (bool)

  • unification (Path)

  • recalculation (bool)

  • export_data (str)

  • import_data (str)

  • vacuum (bool)

  • gen_test_data (int)

  • testcase (Path | None)

Return type:

None

compar: bool
config: Path

設定ファイルパス

debug: int

デバッグ出力フラグ

export_data: str
gen_test_data: int
host: str
import_data: str
moderate: bool

INFO以下のログレベル出力を抑止

no_cleanup: bool

作業ディレクトリの内容を削除

notime: bool

ログに日付を付与しない

port: int
recalculation: bool
service: str
testcase: Path | None
text: str
unification: Path
vacuum: bool
verbose: int

詳細出力フラグ

class libs.domain.datamodels.CommandAttrs

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, commandword=<factory>, command_suffix=<factory>, aggregation_range='当日', always_argument=<factory>, dropitems=<factory>)
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)

  • commandword (list[str])

  • command_suffix (list[str])

  • aggregation_range (str)

  • always_argument (list[str])

  • dropitems (list[str])

Return type:

None

aggregation_range: str = '当日'

検索範囲未指定時に使用される範囲

always_argument: list[str]

オプションとして常に付与される文字列

command_suffix: list[str]

コマンド接尾辞(登録キーワード+接尾辞を呼び出しキーワードとして扱う)

commandword: list[str]

呼び出しキーワード

dropitems: list[str]

非表示にする項目

stipulated_calculation(game_count)

規定打数をゲーム数から計算

Parameters:

game_count (int) – 指定ゲーム数

Returns:

規定ゲーム数

Return type:

int

class libs.domain.datamodels.ComparisonResults

Bases: object

突合結果

__init__(search_after=-7, score_list=<factory>, mismatch=<factory>, missing=<factory>, delete=<factory>, remark_mod=<factory>, remark_del=<factory>, invalid_score=<factory>, pending=<factory>)
Parameters:
Return type:

None

property after: ExtendedDatetime

突合開始日時

property before: ExtendedDatetime

突合終了日時

delete: list[GameResult]

スコア削除

invalid_score: list[GameResult]

素点合計不一致

mismatch: list[dict[str, GameResult]]

スコア差分

missing: list[GameResult]

スコア追加

output(kind)

出力メッセージ生成

Parameters:

kind (Literal[summary, headline, pending, mismatch, missing, delete, remark_mod, remark_del, invalid_score]) – 種類

Returns:

生成文字列

Return type:

str

pending: list[GameResult]

処理保留データ

remark_del: list[RemarkDict]

メモ削除

remark_mod: list[RemarkDict]

メモ変更

score_list: dict[str, MessageParserProtocol]

スコアリスト(一時保管用)

search_after: int = -7

突合範囲(日数)

class libs.domain.datamodels.GameInfo

Bases: object

ゲーム集計情報

__init__(count=0, first_game=None, last_game=None, first_comment=None, last_comment=None)
Parameters:
Return type:

None

clear()

情報削除

Return type:

None

count: int = 0

集計範囲のゲーム数

first_comment: str | None = None

集計範囲の最初のゲームコメント

first_game: ExtendedDatetime | None = None

集計範囲の最初のゲーム時間

get()

指定条件を満たすゲーム数のカウント、最初と最後の時刻とコメントを取得

Return type:

None

last_comment: str | None = None

集計範囲の最後のゲームコメント

last_game: ExtendedDatetime | None = None

集計範囲の最後のゲーム時間

class libs.domain.datamodels.ParameterData

Bases: object

動作パラメータ

__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)
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)

Return type:

None

default_reset()

デフォルト値にリセット

Return type:

None

friendly_fire: bool = False

チーム戦集計時のチーム同卓ゲームの扱い

  • True: チーム同卓ゲームを集計(同じチームのポイントは合算される)

  • False: チーム同卓ゲームを集計対象外にする

group_length: int = 0

コメント検索時に指定文字数でグループ化する

guest_skip: bool = True

ゲストアリ/ナシフラグ(サマリ集計用)

guest_skip2: bool = True

ゲストアリ/ナシフラグ(詳細集計用)

individual: bool = True

個人/チーム集計切替フラグ

  • True: 個人集計

  • False: チーム集計

interval: int = 80

移動平均算出ゲーム数指定

ranked: int = 3

ランキング/レーティングで表示する順位

search_word: str = ''

コメント検索文字列

statistics: bool = False

統計情報表示

stipulated: int = 0

規定打数指定

stipulated_rate: float = 0.05

規定打数計算レート

unregistered_replace: bool = True

メンバー未登録プレイヤー名をゲストに置き換えるかフラグ

  • True: 置き換える

  • False: 置き換えない