fix: 修复错位BUG
This commit is contained in:
parent
0e1294d833
commit
8959124a15
32
sync.py
32
sync.py
|
|
@ -1392,7 +1392,7 @@ def create_diff_html(title, en_diff, en_old_lines, en_new_lines, cn_content=None
|
||||||
|
|
||||||
return html
|
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
|
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}"
|
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:
|
if is_new_page:
|
||||||
# 新页面:只保存完整内容到 new_pages 目录
|
# 新页面:只保存完整内容到 new_pages 目录
|
||||||
|
|
@ -1466,15 +1466,6 @@ def save_files(title, diff_html, diff_text, full_text, timestamp, note="", revid
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f" → 保存文件 {comparison_file} 时出错: {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:
|
if diff_text:
|
||||||
text_diff_file = files_dir / f"{base_filename}.diff.txt"
|
text_diff_file = files_dir / f"{base_filename}.diff.txt"
|
||||||
|
|
@ -1509,7 +1500,6 @@ def process_single_page(title, since_time, update_timestamp=False):
|
||||||
old_revid = get_old_revid(title, since_time)
|
old_revid = get_old_revid(title, since_time)
|
||||||
|
|
||||||
# 初始化变量
|
# 初始化变量
|
||||||
diff_html = None
|
|
||||||
diff_text = None
|
diff_text = None
|
||||||
old_content = None
|
old_content = None
|
||||||
cn_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)} 字符)")
|
print(f" 生成了文本diff ({len(diff_text)} 字符)")
|
||||||
else:
|
else:
|
||||||
print(f" 无法获取历史版本内容")
|
print(f" 无法获取历史版本内容")
|
||||||
|
diff_text = "新创建页面"
|
||||||
else:
|
else:
|
||||||
# 新页面
|
# 新页面
|
||||||
print(" 这是新创建的页面")
|
print(" 这是新创建的页面")
|
||||||
|
diff_text = "新创建页面"
|
||||||
|
|
||||||
# 搜索对应的中文页面
|
# 搜索对应的中文页面
|
||||||
print(" 搜索中文翻译...")
|
print(" 搜索中文翻译...")
|
||||||
|
|
@ -1541,22 +1533,8 @@ def process_single_page(title, since_time, update_timestamp=False):
|
||||||
else:
|
else:
|
||||||
print(" 未找到对应的中文翻译页面")
|
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:
|
if update_timestamp:
|
||||||
save_last_timestamp(latest_ts)
|
save_last_timestamp(latest_ts)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue