Commit 26bbcd21 authored by Javier Velázquez's avatar Javier Velázquez
Browse files

Code refactoring

parent 9ba66eb4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -23,3 +23,4 @@ telemetry_client.db
alert.db
.python-version
.agents/
.coverage
+199 −198

File changed.

Preview size limit exceeded, changes collapsed.

+26 −13
Original line number Diff line number Diff line
@@ -14,15 +14,17 @@

# This file is an original contribution from Telefonica Innovación Digital S.L.

import logging
import os
from typing import Final

from dotenv import load_dotenv
from flask import Flask
import logging

# Load .env file if present
load_dotenv()

LOG_LEVELS = {
LOG_LEVELS: Final[dict[str, int]] = {
    "CRITICAL": logging.CRITICAL,
    "ERROR": logging.ERROR,
    "WARNING": logging.WARNING,
@@ -31,33 +33,43 @@ LOG_LEVELS = {
    "NOTSET": logging.NOTSET,
}

def create_config(app: Flask):
    """Load flags into Flask app.config"""

def _get_bool_env(key: str, default: bool = False) -> bool:
    """Retrieve an environment variable parsed as boolean."""
    value = os.getenv(key)
    if value is None:
        return default
    return value.strip().lower() in ("true", "1", "yes")


def create_config(app: Flask) -> Flask:
    """Load configuration flags and environment variables into Flask app.config."""
    # Default logging level
    app.config["LOGGING_LEVEL"] = LOG_LEVELS.get(os.getenv("LOGGING_LEVEL", "INFO").upper(),logging.INFO)
    log_level_name = os.getenv("LOGGING_LEVEL", "INFO").upper()
    app.config["LOGGING_LEVEL"] = LOG_LEVELS.get(log_level_name, logging.INFO)

    # Dump templates
    app.config["DUMP_TEMPLATES"] = os.getenv("DUMP_TEMPLATES", "false").lower() == "true"
    app.config["DUMP_TEMPLATES"] = _get_bool_env("DUMP_TEMPLATES", default=False)

    # Mapper
    app.config["NRP_ENABLED"] = os.getenv("NRP_ENABLED", "false").lower() == "true"
    app.config["PLANNER_ENABLED"] = os.getenv("PLANNER_ENABLED", "false").lower() == "true"
    app.config["NRP_ENABLED"] = _get_bool_env("NRP_ENABLED", default=False)
    app.config["PLANNER_ENABLED"] = _get_bool_env("PLANNER_ENABLED", default=False)
    app.config["PLANNER_TYPE"] = os.getenv("PLANNER_TYPE", "ENERGY")
    app.config["PCE_EXTERNAL"] = os.getenv("PCE_EXTERNAL", "false").lower() == "true"
    app.config["PCE_EXTERNAL"] = _get_bool_env("PCE_EXTERNAL", default=False)
    app.config["HRAT_IP"] = os.getenv("HRAT_IP", "192.168.1.143")
    app.config["E2E_OPTICAL_IP"] = os.getenv("E2E_OPTICAL_IP", "127.0.0.1")
    app.config["SUBSCRIBE_ALERTS"] = os.getenv("SUBSCRIBE_ALERTS", "false").lower() == "true"
    app.config["SUBSCRIBE_ALERTS"] = _get_bool_env("SUBSCRIBE_ALERTS", default=False)
    app.config["SUBSCRIBE_ALERTS_URL"] = os.getenv("SUBSCRIBE_ALERTS_URL", "")
    app.config["CHANGE_SCHEDULER_IP"] = os.getenv("CHANGE_SCHEDULER_IP", "127.0.0.1")
    app.config["CHANGE_SCHEDULER_PORT"] = int(os.getenv("CHANGE_SCHEDULER_PORT", "8090"))

    # Realizer
    app.config["DUMMY_MODE"] = os.getenv("DUMMY_MODE", "true").lower() == "true"
    app.config["DUMMY_MODE"] = _get_bool_env("DUMMY_MODE", default=True)

    # Teraflow
    app.config["TFS_IP"] = os.getenv("TFS_IP", "127.0.0.1")
    app.config["UPLOAD_TYPE"] = os.getenv("UPLOAD_TYPE", "WEBUI")
    app.config["TFS_L2VPN_SUPPORT"] = os.getenv("TFS_L2VPN_SUPPORT", "false").lower() == "true"
    app.config["TFS_L2VPN_SUPPORT"] = _get_bool_env("TFS_L2VPN_SUPPORT", default=False)

    # IXIA
    app.config["IXIA_IP"] = os.getenv("IXIA_IP", "127.0.0.1")
@@ -66,7 +78,7 @@ def create_config(app: Flask):
    app.config["TFS_E2E_IP"] = os.getenv("TFS_E2E_IP", "127.0.0.1")

    # WebUI
    app.config["WEBUI_DEPLOY"] = os.getenv("WEBUI_DEPLOY", "false").lower() == "true"
    app.config["WEBUI_DEPLOY"] = _get_bool_env("WEBUI_DEPLOY", default=False)

    # Restconf Controller
    app.config["RESTCONF_IP"] = os.getenv("RESTCONF_IP", "127.0.0.1")
@@ -83,3 +95,4 @@ def create_config(app: Flask):

    return app

+14 −14

File changed.

Preview size limit exceeded, changes collapsed.

+66 −65

File changed.

Preview size limit exceeded, changes collapsed.

Loading