28 lines
934 B
Python
28 lines
934 B
Python
|
import os
|
||
|
from dotenv import load_dotenv
|
||
|
from types import MappingProxyType
|
||
|
|
||
|
|
||
|
PROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||
|
|
||
|
|
||
|
def get_cfg(env='qa'):
|
||
|
environment_name = os.getenv('ENV_NAME', env)
|
||
|
dotenv_path = os.path.join(PROJECT_ROOT, f'.env.{environment_name}')
|
||
|
if not os.path.exists(dotenv_path):
|
||
|
raise FileNotFoundError(f"{dotenv_path} does not exist")
|
||
|
load_dotenv(dotenv_path)
|
||
|
|
||
|
config_dict = {
|
||
|
'client_id': os.getenv('CLIENT_ID'),
|
||
|
'client_secret': os.getenv('CLIENT_SECRET'),
|
||
|
'token_url': os.getenv('TOKEN_FETCH_URL'),
|
||
|
'login': os.getenv('LOGIN'),
|
||
|
'password': os.getenv('PASSWORD'),
|
||
|
'audience': os.getenv('AUDIENCE'),
|
||
|
'scopes': os.getenv('SCOPES', '').split(','),
|
||
|
'api_url': os.getenv('API_URL')
|
||
|
}
|
||
|
config = MappingProxyType(config_dict) # immutable dict
|
||
|
return config
|