Source code for luna_python_matcher.app_common.handlers.base_handler

# -*- coding: utf-8 -*-
""" Base handler

Module realize base class for all handlers.
"""

from typing import Union

from app.app import PythonMatcherApp
from app_proxy.app import PythonMatcherProxyApp
from configs.configs.configs.services.matcher_proxy import SettingsPythonMatcherProxy
from configs.configs.configs.services.python_matcher import SettingsPythonMatcher
from crutches_on_wheels.cow.web.handlers import BaseHandler
from crutches_on_wheels.cow.web.request import VLRequest


[docs]class CommonBaseHandler(BaseHandler): """ Base handler for all the handlers in this project. Attributes: facesDBContext (DBContext): Faces database context eventsDBContext (EventsDBContext): Events database context attributesDBContext (AttributesDBContext): Attributes database context """ def __init__(self, request: VLRequest): """ Init base handler Args: request: input request class """ super().__init__(request) self.facesDBContext = request.app.ctx.facesDBContext self.eventsDBContext = request.app.ctx.eventsDBContext self.attributesDBContext = request.app.ctx.attributesDBContext @property def app(self) -> Union[PythonMatcherApp, PythonMatcherProxyApp]: """ Get running app Returns: app """ return self.request.app @property def config(self) -> Union[SettingsPythonMatcher, SettingsPythonMatcherProxy]: """ Get app config Returns: app config """ return self.app.ctx.serviceConfig