Source code for jammy.utils.env
import os
import sys
from jammy.cli.keyboard import str2bool
from .cache import cached_result
__all__ = ["jam_getenv", "jam_is_verbose", "jam_is_debug", "jam_setenv"]
[docs]def jam_getenv(
name, default=None, type=None, prefix=None
): # pylint: disable=redefined-builtin
if prefix is None:
prefix = "JAM_"
value = os.getenv((prefix + name).upper(), default)
if value is None:
return None
if type is None:
return value
elif type == "bool":
return str2bool(value)
else:
return type(value)
[docs]def jam_setenv(key, value, prefix=None):
if prefix is None:
prefix = "JAM_"
os.environ[prefix + key.upper()] = str(value)
@cached_result
def jam_get_dashdebug_arg():
# Return True if there is a '-debug' or '--debug' arg in the argv.
for value in sys.argv:
if value in ("-debug", "--debug"):
return True
return False
[docs]@cached_result
def jam_is_verbose(default="n", prefix=None):
return jam_getenv("verbose", default, type="bool", prefix=prefix)
[docs]@cached_result
def jam_is_debug(default="n", prefix=None):
return jam_get_dashdebug_arg() or jam_getenv(
"debug", default, type="bool", prefix=prefix
)