profiler module moved from static config to environment dpendent config
This commit is contained in:
32
APP_PROFILER/utils/config.py
Normal file
32
APP_PROFILER/utils/config.py
Normal file
@@ -0,0 +1,32 @@
|
||||
import os
|
||||
import configparser
|
||||
from pathlib import Path
|
||||
|
||||
# Base directory for the component
|
||||
BASE_DIR = Path(__file__).resolve().parent.parent
|
||||
CONFIG_FILE = BASE_DIR / 'config.ini'
|
||||
|
||||
def get_config_value(section: str, key: str, fallback: str = None) -> str:
|
||||
"""
|
||||
Get a configuration value with priority:
|
||||
1. Environment Variable (OVPMON_{SECTION}_{KEY})
|
||||
2. config.ini in the component root
|
||||
3. Fallback value
|
||||
"""
|
||||
# 1. Check Environment Variable
|
||||
env_key = f"OVPMON_{section.upper()}_{key.upper()}".replace('-', '_').replace(' ', '_')
|
||||
env_val = os.getenv(env_key)
|
||||
if env_val is not None:
|
||||
return env_val
|
||||
|
||||
# 2. Check config.ini
|
||||
if CONFIG_FILE.exists():
|
||||
try:
|
||||
config = configparser.ConfigParser()
|
||||
config.read(CONFIG_FILE)
|
||||
if config.has_section(section) and config.has_option(section, key):
|
||||
return config.get(section, key)
|
||||
except Exception as e:
|
||||
print(f"[CONFIG] Error reading {CONFIG_FILE}: {e}")
|
||||
|
||||
return fallback
|
||||
Reference in New Issue
Block a user