Files

47 lines
1.5 KiB
Python

"""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)