53 lines
1.7 KiB
Python
53 lines
1.7 KiB
Python
import os
|
|
import streamlit as st
|
|
from dotenv import load_dotenv
|
|
|
|
load_dotenv(".env")
|
|
load_dotenv(".env.local", override=True)
|
|
|
|
# Fonction pour déterminer l'environnement à partir de l'en-tête X-Environment
|
|
def determine_environment():
|
|
# Valeur par défaut (si aucun en-tête n'est détecté)
|
|
environment = "dev"
|
|
|
|
# Si nous sommes dans une session Streamlit
|
|
if hasattr(st, 'context') and hasattr(st.context, 'headers'):
|
|
try:
|
|
# Lire directement l'en-tête X-Environment défini par Nginx : dev/public
|
|
nginx_env = st.context.headers.get("x-environment")
|
|
|
|
if nginx_env:
|
|
environment = nginx_env.lower()
|
|
except Exception as e:
|
|
st.error(f"Erreur lors de la lecture de l'en-tête X-Environment: {e}\nEnvironnement dev par défaut")
|
|
|
|
return environment
|
|
|
|
ENV = determine_environment()
|
|
|
|
GITEA_URL = os.getenv("GITEA_URL", "https://fabnum-git.peccini.fr/api/v1")
|
|
GITEA_TOKEN = os.getenv("GITEA_TOKEN", "")
|
|
ORGANISATION = os.getenv("ORGANISATION", "fabnum")
|
|
DEPOT_FICHES = os.getenv("DEPOT_FICHES", "fiches")
|
|
DEPOT_CODE = os.getenv("DEPOT_CODE", "code")
|
|
ENV_CODE = os.getenv("ENV_CODE")
|
|
DOT_FILE = os.getenv("DOT_FILE")
|
|
INSTRUCTIONS = os.getenv("INSTRUCTIONS", "Instructions.md")
|
|
|
|
FICHE_IHH = os.getenv("FICHE_IHH")
|
|
FICHE_ICS = os.getenv("FICHE_ICS")
|
|
FICHE_IVC = os.getenv("FICHE_IVC")
|
|
FICHE_ISG = os.getenv("FICHE_ISG")
|
|
|
|
# Optionnel : vérification + fallback
|
|
for key, value in [("FICHE_IHH", FICHE_IHH), ("FICHE_ICS", FICHE_ICS), ("FICHE_IVC", FICHE_IVC), ("FICHE_ISG", FICHE_ISG)]:
|
|
if not value:
|
|
raise EnvironmentError(f"Variable d'environnement '{key}' non définie.")
|
|
|
|
FICHES_CRITICITE = {
|
|
"IHH": FICHE_IHH,
|
|
"IVC": FICHE_IVC,
|
|
"ICS": FICHE_ICS,
|
|
"ISG": FICHE_ISG
|
|
}
|