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