Coverage for heritrace/__init__.py: 100%

21 statements  

« prev     ^ index     » next       coverage.py v7.6.12, created at 2025-04-18 11:10 +0000

1from flask import Flask 

2from flask_babel import Babel 

3from flask_login import LoginManager 

4from heritrace.cli import register_cli_commands 

5from redis import Redis 

6import logging 

7 

8 

9def create_app(config_object=None): 

10 app = Flask(__name__) 

11 

12 if config_object: 

13 app.config.from_object(config_object) 

14 

15 # Configurazione esplicita del logging 

16 logging.basicConfig( 

17 level=logging.INFO, 

18 format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", 

19 ) 

20 # Imposta il livello di log per l'app Flask 

21 app.logger.setLevel(logging.INFO) 

22 

23 # Initialize extensions 

24 babel = Babel() 

25 login_manager = LoginManager() 

26 

27 # Initialize Redis 

28 redis_client = Redis.from_url("redis://redis:6379", decode_responses=True) 

29 

30 # Deferred imports to avoid circular dependencies 

31 from heritrace.extensions import init_extensions 

32 from heritrace.routes import register_blueprints 

33 

34 init_extensions(app, babel, login_manager, redis_client) 

35 

36 register_blueprints(app) 

37 

38 register_cli_commands(app) 

39 

40 return app