import sys sys.path.append("./src") from kidney_classification.pipeline.prediction import PredictionPipeline from kidney_classification.utils.common import decodeImage from flask_cors import CORS, cross_origin import os from flask import Flask, request, jsonify, render_template os.putenv("LANG", "en_US.UTF-8") os.putenv("LC_ALL", "en_US.UTF-8") app = Flask(__name__) CORS(app) class ClientApp: def __init__(self): self.filename = "inputImage.jpg" self.classifier = PredictionPipeline(self.filename) @app.route("/", methods=["GET"]) @cross_origin() def home(): return render_template("index.html") @app.route("/train", methods=["GET", "POST"]) @cross_origin() def trainRoute(): os.system("dvc repro") return "Training done successfully!" @app.route("/predict", methods=["POST"]) @cross_origin() def predictRoute(): image = request.json["image"] decodeImage(image, clApp.filename) result = clApp.classifier.predict() return jsonify(result) if __name__ == "__main__": clApp = ClientApp() app.run(host="0.0.0.0", port=8080) # for AWS