app/liteyukibot/config.py
Snowykami 1de7d81693 ️ Refactor LiteyukiBot structure and add configuration loading
- Updated .gitignore to include .pytest_cache
- Replaced FastAPI with Daemon in main.py for bot execution
- Enhanced pyproject.toml with new dependencies and dev group
- Added iniconfig package for pytest configuration
- Created initial structure for liteyukibot with context management
- Implemented configuration loading functions for YAML, JSON, and TOML
- Added tests for configuration loading with temporary files
- Set up GitHub Actions for pytest testing on push and pull requests
2025-04-28 00:56:07 +08:00

44 lines
994 B
Python

from typing import Any
import json
import yaml
import tomllib
def load_from_yaml(file_path: str) -> dict[str, Any]:
"""从yaml文件中加载配置并返回字典
Args:
file_path (str): yaml文件路径
Returns:
dict[str, Any]: 配置字典
"""
with open(file_path, "r", encoding="utf-8") as file:
return yaml.safe_load(file)
def load_from_json(file_path: str) -> dict[str, Any]:
"""从json文件中加载配置并返回字典
Args:
file_path (str): json文件路径
Returns:
dict[str, Any]: 配置字典
"""
with open(file_path, "r", encoding="utf-8") as file:
return json.load(file)
def load_from_toml(file_path: str) -> dict[str, Any]:
"""从toml文件中加载配置并返回字典
Args:
file_path (str): toml文件路径
Returns:
dict[str, Any]: 配置字典
"""
with open(file_path, "rb") as file:
return tomllib.load(file)