from rich.console import Console from loguru import logger from config.config import load_config from utils.pptx_utils import replace_text_in_slide, replace_picture # 如果你之前没有全局定义 console,这里定义一个 console = Console() # ========================================== # 1. 配置区域 (Configuration) # ========================================== config = load_config("config.toml") def replace_one_page(prs, name, class_name): """替换第一页信息""" replace_text_in_slide(prs, 0, "name", name) replace_text_in_slide(prs, 0, "class", class_name) def replace_two_page(prs, comments, teacher_name): """替换第二页信息""" replace_text_in_slide(prs, 1, "comments", comments) replace_text_in_slide(prs, 1, "teacher_name", teacher_name) def replace_three_page(prs, info_dict, me_image=None): """替换第三页信息""" # 使用字典解包传递多个字段,减少参数数量 fields = ["name", "english_name", "sex", "birthday", "zodiac", "friend", "hobby", "game", "food"] for field in fields: replace_text_in_slide(prs, 2, field, info_dict.get(field, "")) if me_image: replace_picture(prs, 2, "me_image", me_image) else: logger.warning(f"⚠️ 警告: {info_dict.get('name', '未知姓名')} 缺少个人照片('me_image')") def replace_four_page(prs, class_image): """替换第四页信息""" replace_picture(prs, 3, "class_image", class_image) def replace_five_page(prs, image1, image2): """替换第五页信息""" replace_picture(prs, 4, "image1", image1) replace_picture(prs, 4, "image2", image2)