11import logging
22import os
3- from typing import Text
3+ from typing import List
44
55from flask import Flask
66
1010from pyms .crypt .driver import CryptResource
1111from pyms .flask .app .utils import SingletonMeta , ReverseProxied
1212from pyms .flask .healthcheck import healthcheck_blueprint
13- from pyms .flask .services .driver import ServicesResource
13+ from pyms .flask .services .driver import ServicesResource , DriverService
1414from pyms .logger import CustomJsonFormatter
1515from pyms .utils import check_package_exists , import_from
1616
@@ -72,11 +72,12 @@ def example():
7272 Current services are swagger, request, tracer, metrics
7373 """
7474 config_resource = CONFIG_BASE
75- services = []
76- application = None
77- swagger = False
78- request = False
79- tracer = False
75+ services : List [DriverService ] = []
76+ application = Flask
77+ swagger : DriverService = None
78+ request : DriverService = None
79+ tracer : DriverService = None
80+ metrics : DriverService = None
8081 _singleton = True
8182
8283 def __init__ (self , * args , ** kwargs ):
@@ -137,7 +138,7 @@ def init_tracer(self) -> None:
137138 """Set attribute in flask `tracer`. See in `pyms.flask.services.tracer` how it works
138139 :return: None
139140 """
140- if self ._exists_service ( " tracer" ) :
141+ if self .tracer :
141142 FlaskTracing = import_from ("flask_opentracing" , "FlaskTracing" )
142143 client = self .tracer .get_client ()
143144 self .application .tracer = FlaskTracing (client , True , self .application )
@@ -169,7 +170,7 @@ def init_app(self) -> Flask:
169170 run a "normal" Flask app.
170171 :return: None
171172 """
172- if self ._exists_service ( " swagger" ) :
173+ if self .swagger :
173174 application = self .swagger .init_app (config = self .config .to_flask (), path = self .path )
174175 else :
175176 check_package_exists ("flask" )
@@ -183,11 +184,11 @@ def init_app(self) -> Flask:
183184
184185 return application
185186
186- def init_metrics (self ):
187+ def init_metrics (self ) -> None :
187188 """Set attribute in flask `metrics`. See in `pyms.flask.services.metrics` how it works
188189 :return: None
189190 """
190- if getattr ( self , "metrics" , False ) and self .metrics :
191+ if self .metrics :
191192 self .application .register_blueprint (self .metrics .metrics_blueprint )
192193 self .metrics .add_logger_handler (
193194 self .application .logger ,
@@ -231,14 +232,6 @@ def create_app(self):
231232
232233 return self .application
233234
234- def _exists_service (self , service_name : Text ) -> bool :
235- """Check if service exists in the config.yml file
236- :param service_name:
237- :return: bool
238- """
239- service = getattr (self , service_name , False )
240- return service and service is not None
241-
242235 def add_error_handlers (self ):
243236 """Subclasses will override this method in order to add specific error handlers. This should be done with
244237 calls to add_error_handler method.
0 commit comments