AI 生成: 一个从 Gitea 服务器获取最新项目的工具,支持命令行使用和 Web 界面查看。
This commit is contained in:
+46
@@ -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)
|
||||
Reference in New Issue
Block a user