from flask import Blueprint, request, jsonify from application import db import application from application.dashboard.models import AllowedPlate, LoggedItem from application.api.image_processing import process_image from datetime import datetime import asyncio import io api_blueprint = Blueprint("api", __name__, template_folder="templates") # API to process vehicle @api_blueprint.route("/", methods=["POST"]) def data(): data = request.data application.last_image.seek(0) application.last_image = io.BytesIO(request.data) np = asyncio.run(process_image(image=data)) allowed = False if np != "": # Check if the found plate is allowed to exit allowed = AllowedPlate.query.filter_by(plate=np).first() is not None db.session.add( # Log the found numberplate and status LoggedItem(plate=np, allowed=allowed, datetime=datetime.now()) ) db.session.commit() # Return decision to Pico return jsonify( { "message": "Image sent succesfully", "status": allowed, } )