Code source de lgrez.blocs.env

"""lg-rez / blocs / Lecture des variables d'environnement

"""

import sys
import os

from dotenv import load_dotenv


# À l'import
if len(sys.argv) > 1:
    path = sys.argv[1]
else:
    path = ".env"

load_dotenv(path)


[docs]def load(VAR_NAME): """Lit une valeur depuis les variables d'environnement. Les variables sont recherchées dans les variables d'environnement ; à l'import de ce module, celles-ci sont chargées par ``dotenv.load_dotenv`` à partir du fichier passé en premier argument en ligne de commande (``.env`` par défaut). Équivaut globalement à :func:`os.getenv` suivi d'une vérification que la variable existe. Args: VAR_NAME (str): nom de la variable à charger (``LGREZ_...``) Returns: :class:`str` Raises: RuntimeError: la variable d'environnement n'est pas définie """ var = os.getenv(VAR_NAME) if var is None: raise RuntimeError(f"Variable d'environnement {VAR_NAME} manquante") return var