Files
HeurAMS/auxiliary.py
2025-08-06 06:11:22 +08:00

46 lines
1.3 KiB
Python

import time
import pathlib
import toml
import typing
class ConfigFile:
def __init__(self, path: str):
self.path = pathlib.Path(path)
if not self.path.exists():
self.path.touch()
self.data = dict()
self._load()
def _load(self):
"""从文件加载配置数据"""
with open(self.path, 'r') as f:
try:
self.data = toml.load(f)
except toml.TomlDecodeError:
self.data = {}
def modify(self, key: str, value: typing.Any):
"""修改配置值并保存"""
self.data[key] = value
self.save()
def save(self, path: typing.Union[str, pathlib.Path] = ""):
"""保存配置到文件"""
save_path = pathlib.Path(path) if path else self.path
with open(save_path, 'w') as f:
toml.dump(self.data, f)
def get(self, key: str, default: typing.Any = None) -> typing.Any:
"""获取配置值,如果不存在返回默认值"""
return self.data.get(key, default)
def get_daystamp() -> int:
"""获取当前日戳(以天为单位的整数时间戳)"""
config = ConfigFile("config.toml")
time_override = config.get("time_override", -1)
if time_override != -1:
return int(time_override)
return int(time.time() // (24 * 3600))