36 lines
1.0 KiB
Python
36 lines
1.0 KiB
Python
from __future__ import annotations
|
|
|
|
from dataclasses import asdict, dataclass
|
|
|
|
|
|
@dataclass
|
|
class ChatlogContext:
|
|
account: str = ""
|
|
work_dir: str = ""
|
|
data_dir: str = ""
|
|
platform: str = "windows"
|
|
version: int = 4
|
|
chatlog_exe: str = ""
|
|
chatlog_version: str = ""
|
|
|
|
|
|
_context = ChatlogContext()
|
|
|
|
|
|
def update_chatlog_context(payload: dict) -> dict:
|
|
global _context
|
|
_context = ChatlogContext(
|
|
account=str(payload.get("account") or ""),
|
|
work_dir=str(payload.get("workDir") or payload.get("work_dir") or ""),
|
|
data_dir=str(payload.get("dataDir") or payload.get("data_dir") or ""),
|
|
platform=str(payload.get("platform") or "windows"),
|
|
version=int(payload.get("version") or 4),
|
|
chatlog_exe=str(payload.get("chatlogExe") or payload.get("chatlog_exe") or ""),
|
|
chatlog_version=str(payload.get("chatlogVersion") or payload.get("chatlog_version") or ""),
|
|
)
|
|
return get_chatlog_context()
|
|
|
|
|
|
def get_chatlog_context() -> dict:
|
|
return asdict(_context)
|