Files
ProjectIOT/application/api/views.py
2025-06-10 10:02:41 +02:00

35 lines
1.0 KiB
Python

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))
# 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,
}
)