gitea-action-test/翻译更新日志.py
LIRUI 22b3f67d41
Some checks failed
test / job_1 (push) Failing after 13s
1028.py
2024-10-28 20:46:44 +08:00

62 lines
2.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import requests
from datetime import datetime, timezone, timedelta
from deep_translator import GoogleTranslator
# 设置 GitHub API URL
repo = "coolsnowwolf/lede"
url = f"https://api.github.com/repos/{repo}/commits"
# 设置你所在的时区的 UTC 偏移量
utc_offset = timedelta(hours=8)
# 尝试发送请求
try:
response = requests.get(url)
response.raise_for_status() # 如果响应不是200将引发HTTPError异常
except requests.RequestException as e:
print(f"请求错误: {e}")
else:
commits = response.json()
# 获取最新提交的日期
latest_commit_date_utc = datetime.fromisoformat(commits[0]['commit']['committer']['date'].replace('Z', '+00:00'))
latest_commit_date = latest_commit_date_utc.astimezone(timezone(utc_offset)).date()
# 初始化存储所有相关提交信息的字符串
all_commits_text = ""
for commit in commits:
commit_date_utc = datetime.fromisoformat(commit['commit']['committer']['date'].replace('Z', '+00:00'))
commit_date = commit_date_utc.astimezone(timezone(utc_offset)).date()
if commit_date == latest_commit_date:
commit_message = commit['commit']['message']
all_commits_text += commit_message + "\n" # 将每个提交信息添加到字符串中
# 创建一个Translator对象
#translator = Translator()
translator = GoogleTranslator(source='en', target='zh-CN')
try:
# 翻译合并后的提交信息文本
#translated_text = translator.translate(all_commits_text, src='en', dest='zh-CN')
#print(f"翻译后的提交信息:\n{translated_text.text}")
translated_text = translator.translate(all_commits_text)
print(f"翻译后的提交信息:\n{translated_text}")
# 获取当前中国时间
current_time = datetime.now(timezone(utc_offset))
formatted_time = current_time.strftime("%Y年%m月%d%H点%M分")
# 将时间信息添加到翻译文本前面
# final_text = f"更新日期: {formatted_time}\n{translated_text.text}"
final_text = f"更新日期: {formatted_time}\n{translated_text}"
# 输出翻译结果到文件
with open('更新日志.txt', 'w', encoding='utf-8') as file:
file.write(final_text)
except Exception as e:
print(f"翻译错误: {type(e).__name__}, {str(e)}")