mirror of
https://github.com/LiteyukiStudio/LiteyukiBot.git
synced 2025-05-22 23:01:17 +00:00
- 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
44 lines
994 B
Python
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) |