D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
opt
/
saltstack
/
salt
/
lib
/
python3.10
/
site-packages
/
virtualenv
/
config
/
Filename :
env_var.py
back
Copy
from __future__ import annotations from contextlib import suppress from typing import TYPE_CHECKING from .convert import convert if TYPE_CHECKING: from collections.abc import Mapping from typing import Any from .convert import TypeData def get_env_var(key: str, as_type: TypeData, env: Mapping[str, str]) -> tuple[Any, str] | None: """Get the environment variable option. :param key: the config key requested :param as_type: the type we would like to convert it to :param env: environment variables to use :returns: the converted value and source, or None if not set """ environ_key = f"VIRTUALENV_{key.upper()}" if env.get(environ_key): value = env[environ_key] with suppress(Exception): # note the converter already logs a warning when failures happen source = f"env var {environ_key}" as_type = convert(value, as_type, source) return as_type, source return None __all__ = [ "get_env_var", ]