from pathlib import Path from datetime import datetime,date def load_template(template_name): """ 从模板文件加载模板内容 Args: template_name: 模板文件名(不带路径) Returns: str: 模板内容 """ # 获取模板文件路径 plugin_dir = Path(__file__).parent.parent template_path = plugin_dir / "templates" / template_name # 检查文件是否存在 if not template_path.exists(): raise FileNotFoundError(f"模板文件不存在: {template_path}") # 读取模板内容 with open(template_path, 'r', encoding='utf-8') as f: return f.read() def gold_to_string(gold_amount): """ 将金钱数值转换为字符串表示形式 Args: gold_amount (int): 金钱数值,单位为铜币 Returns: str: 格式化后的金钱字符串,例如 "1金2银3铜" """ if not gold_amount: return "无价格" parts = [] started = False # 标记是否已经遇到第一个非零位 bricks = gold_amount // 100000000 gold = (gold_amount % 100000000) // 10000 silver = (gold_amount % 10000) // 100 copper = gold_amount % 100 for value, unit in [(bricks, "砖"), (gold, "金"), (silver, "银"), (copper, "铜")]: if value != 0: started = True if started: parts.append(f"{value}{unit}") return "".join(parts) def week_to_num(week :str): week_map = { "一": 0, "二": 1, "三": 2, "四": 3, "五": 4, "六": 5, "日": 6, } return week_map.get(week,None) def compare_date_str(date_str: str) -> str: """ date_str 格式:YYYY-MM-DD """ d = datetime.strptime(date_str, "%Y-%m-%d").date() today = date.today() if d < today: return "过去" elif d == today: return "今天" else: return "将来"