from flask import Flask, jsonify from flask import request import os app = Flask(__name__) # Startseite @app.route("/") def hello(): return "Startseite" # gibt Beispiel-Konfig der Kennzahlen zurück (für die UI) @app.route("/config", methods=["GET"]) def get_config(): config = [ {"name": "Fondname", "format": "Text", "required": True}, {"name": "IRR", "format": "Prozent", "required": False}, ] return jsonify(config) # liefert Beispiel-Ergebnisse der Extraktion @app.route("/dummy_results", methods=["GET"]) def get_dummy_results(): results = [ {"label": "Fondname", "entity": "ABC Fonds", "page": 1, "status": "validated"}, { "label": "IRR", "entity": "6,0%", "page": 3, "status": "single-source", "source": "spaCy", }, ] return jsonify(results) # legt Upload-Ordner an, falls nicht vorhanden UPLOAD_FOLDER = "uploads" os.makedirs(UPLOAD_FOLDER, exist_ok=True) # nimmt eine PDF-Datei per POST entgegen und speichert sie @app.route("/upload", methods=["POST"]) def upload_pdf(): if "file" not in request.files: return {"error": "Keine Datei hochgeladen."}, 400 file = request.files["file"] if file.filename == "": return {"error": "Dateiname fehlt."}, 400 if not file.filename.endswith(".pdf"): return {"error": "Nur PDF-Dateien erlaubt."}, 400 file_path = os.path.join(UPLOAD_FOLDER, file.filename) file.save(file_path) return {"message": f"Datei {file.filename} erfolgreich gespeichert!"}, 200 # für Docker wichtig: host='0.0.0.0' if __name__ == "__main__": app.run(debug=True, host="0.0.0.0")