initial commit
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
"""Definition of check_env function."""
|
||||
|
||||
import logging
|
||||
import os
|
||||
|
||||
|
||||
def check_env(
|
||||
var_list: str | list[str],
|
||||
missing_ok: bool = False,
|
||||
) -> None:
|
||||
"""Check if environment variables are set.
|
||||
|
||||
Args:
|
||||
var_list (str | list[str]): A single environment variable name or a list of names to check.
|
||||
missing_ok (bool): If True, do not raise an error if the variable is not set. Defaults to False.
|
||||
|
||||
Raises:
|
||||
OSError: If any environment variable is not set.
|
||||
"""
|
||||
if not var_list:
|
||||
raise ValueError("List of environment variable names is empty.")
|
||||
# Handle single string input
|
||||
if isinstance(var_list, str):
|
||||
var_list = [var_list]
|
||||
# Avoid double-checking
|
||||
var_set = set(var_list)
|
||||
# Perform checks
|
||||
for var in var_set:
|
||||
if not os.getenv(var):
|
||||
msg = f"Environment variable {var} is not set."
|
||||
logging.error(msg)
|
||||
if not missing_ok:
|
||||
raise OSError(msg)
|
||||
Reference in New Issue
Block a user