Source code for luna_faces.app.handlers.faces_counter_handler

from sanic.response import HTTPResponse

from app.handlers.base_handler import BaseRequestHandler
from app.handlers.helpers import SearchFacesFilters
from crutches_on_wheels.cow.web.query_getters import uuidGetter


[docs]class FacesCountHandler(BaseRequestHandler): """ Faces counter handler. """
[docs] async def get(self) -> HTTPResponse: """ Get face count by filters. See `spec_get_face_count`_. .. _spec_get_face_count: _static/api.html#operation/getFaceCount Returns: response json with face count and status code 200 """ filters = SearchFacesFilters().loadFromQuery(self.getQueryParam) faceCount = await self.facesContext.getFacesCount(filters=filters) return self.success(200, outputJson={"faces_count": faceCount})
[docs]class FacesAttributesCountHandler(BaseRequestHandler): """ Face counter handler: count faces with attributes """
[docs] async def get(self) -> HTTPResponse: """ Count faces with attributes. See `spec_get_face_attribute_count`_. .. _spec_get_face_attribute_count: _static/api.html#operation/getFaceAttributeCount Returns: response json with face count and status code 200 """ accountId = self.getQueryParam("account_id", uuidGetter) faceCount = await self.facesContext.getFacesAttributesCount(accountId=accountId) return self.success(200, outputJson={"faces_count": faceCount})