AI 生成: 一个从 Gitea 服务器获取最新项目的工具,支持命令行使用和 Web 界面查看。

This commit is contained in:
admin
2026-09-28 21:36:36 +08:00
commit f68c77a49b
7 changed files with 398 additions and 0 deletions
+46
View File
@@ -0,0 +1,46 @@
"""Flask Web 应用:在浏览器中查看 Gitea 最新项目。"""
import os
from flask import Flask, render_template, request
from gitea_client import GiteaClient
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def index():
repos = []
error = None
form = {
'base_url': os.environ.get('GITEA_BASE_URL', ''),
'owner': '',
'token': '',
'limit': 10,
'is_org': False,
}
if request.method == 'POST':
form['base_url'] = request.form.get('base_url', '').strip()
form['owner'] = request.form.get('owner', '').strip()
form['token'] = request.form.get('token', '').strip()
form['limit'] = int(request.form.get('limit', 10) or 10)
form['is_org'] = request.form.get('is_org') == 'on'
if not form['base_url'] or not form['owner']:
error = '请填写 Gitea 地址和用户名/组织名。'
else:
try:
client = GiteaClient(form['base_url'], form['token'] or None)
if form['is_org']:
repos = client.get_org_latest_repos(form['owner'], form['limit'])
else:
repos = client.get_latest_repos(form['owner'], form['limit'])
except Exception as e:
error = f'获取失败:{e}'
return render_template('index.html', repos=repos, error=error, form=form)
if __name__ == '__main__':
app.run(host='127.0.0.1', port=5000, debug=True)