Files
ProjectIOT/application/api/views.py
2025-04-25 16:33:01 +02:00

31 lines
906 B
Python

from flask import Blueprint, request, jsonify
from application import db
from application.models import AllowedPlate, LoggedItem
from application.api.image_processing import process_image
from datetime import datetime
import asyncio
api_blueprint = Blueprint("api", __name__, template_folder="templates")
# API to process vehicle
@api_blueprint.route("/api", methods=["POST"])
def data():
data = request.data
np = asyncio.run(process_image(image=data))
# 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,
}
)