beerds/server/infra/web/recognizer.py

31 lines
954 B
Python

import inject
from litestar import (
Controller,
post,
)
from litestar.enums import RequestEncodingType
from litestar.datastructures import UploadFile
from litestar.params import Body
from server.modules.recognizer import RecognizerService
class BreedsController(Controller):
path = "/beerds"
@post("/dogs")
async def beerds_dogs(
self, data: UploadFile = Body(media_type=RequestEncodingType.MULTI_PART)
) -> dict:
recognizer_service: RecognizerService = inject.instance(RecognizerService)
body = await data.read()
return await recognizer_service.predict_dog_image(body)
@post("/cats")
async def beerds_cats(
self, data: UploadFile = Body(media_type=RequestEncodingType.MULTI_PART)
) -> dict:
recognizer_service: RecognizerService = inject.instance(RecognizerService)
body = await data.read()
return await recognizer_service.predict_cat_image(body)