From 8959124a15de6f3abe6453024c976c90f02d3d5d Mon Sep 17 00:00:00 2001 From: wdjwxh Date: Fri, 19 Dec 2025 16:56:05 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E9=94=99=E4=BD=8DBUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sync.py | 34 ++++++---------------------------- 1 file changed, 6 insertions(+), 28 deletions(-) diff --git a/sync.py b/sync.py index 6581271..7d02a89 100644 --- a/sync.py +++ b/sync.py @@ -1392,7 +1392,7 @@ def create_diff_html(title, en_diff, en_old_lines, en_new_lines, cn_content=None return html -def save_files(title, diff_html, diff_text, full_text, timestamp, note="", revid=None, cn_content=None, old_full_text=None): +def save_files(title, diff_text, full_text, timestamp, note="", revid=None, cn_content=None, old_full_text=None): global CURRENT_OUTPUT_DIR # 确保本次执行的输出目录已经创建 @@ -1410,7 +1410,7 @@ def save_files(title, diff_html, diff_text, full_text, timestamp, note="", revid base_filename = f"{safe_title}-{time_str}-{revid}" if revid else f"{safe_title}-{time_str}" # 判断是否为新页面 - is_new_page = diff_text.startswith("新创建页面") + is_new_page = diff_text and diff_text.startswith("新创建页面") if is_new_page: # 新页面:只保存完整内容到 new_pages 目录 @@ -1466,16 +1466,7 @@ def save_files(title, diff_html, diff_text, full_text, timestamp, note="", revid except Exception as e: print(f" → 保存文件 {comparison_file} 时出错: {e}") - # 保存参考文件到 files 目录 - if diff_html: - diff_file = files_dir / f"{base_filename}.diff.html" - try: - with open(diff_file, "w", encoding="utf-8") as f: - f.write(diff_html) - print(f" → 已保存: {diff_file.relative_to(OUTPUT_DIR)} (官方diff - 参考)") - except Exception as e: - print(f" → 保存文件 {diff_file} 时出错: {e}") - + if diff_text: text_diff_file = files_dir / f"{base_filename}.diff.txt" try: @@ -1509,7 +1500,6 @@ def process_single_page(title, since_time, update_timestamp=False): old_revid = get_old_revid(title, since_time) # 初始化变量 - diff_html = None diff_text = None old_content = None cn_content = None @@ -1524,9 +1514,11 @@ def process_single_page(title, since_time, update_timestamp=False): print(f" 生成了文本diff ({len(diff_text)} 字符)") else: print(f" 无法获取历史版本内容") + diff_text = "新创建页面" else: # 新页面 print(" 这是新创建的页面") + diff_text = "新创建页面" # 搜索对应的中文页面 print(" 搜索中文翻译...") @@ -1541,22 +1533,8 @@ def process_single_page(title, since_time, update_timestamp=False): else: print(" 未找到对应的中文翻译页面") - # 获取官方diff(可选) - if old_revid: - diff_params = { - "action": "compare", - "fromrev": old_revid, - "torev": latest_revid, - "format": "json" - } - try: - diff_resp = SESSION_EN.get(WIKI_API_URL_EN, params=diff_params).json() - diff_html = diff_resp.get("compare", {}).get("*", "") - except Exception as e: - print(f" 获取官方HTML diff时出错: {e}") - # 保存所有文件 - save_files(title, diff_html, diff_text, latest_content, latest_ts, "", latest_revid, cn_content, old_content) + save_files(title, diff_text, latest_content, latest_ts, "", latest_revid, cn_content, old_content) if update_timestamp: save_last_timestamp(latest_ts)