Coverage for heritrace/__init__.py: 100%
21 statements
« prev ^ index » next coverage.py v7.6.12, created at 2025-04-18 11:10 +0000
« 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
9def create_app(config_object=None):
10 app = Flask(__name__)
12 if config_object:
13 app.config.from_object(config_object)
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)
23 # Initialize extensions
24 babel = Babel()
25 login_manager = LoginManager()
27 # Initialize Redis
28 redis_client = Redis.from_url("redis://redis:6379", decode_responses=True)
30 # Deferred imports to avoid circular dependencies
31 from heritrace.extensions import init_extensions
32 from heritrace.routes import register_blueprints
34 init_extensions(app, babel, login_manager, redis_client)
36 register_blueprints(app)
38 register_cli_commands(app)
40 return app