mirror of https://github.com/sgoudham/Enso-Bot.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
844 B
Python
30 lines
844 B
Python
5 years ago
|
from __future__ import absolute_import, unicode_literals
|
||
|
|
||
|
import os
|
||
|
|
||
|
from virtualenv.util.six import ensure_str, ensure_text
|
||
|
|
||
|
from .convert import convert
|
||
|
|
||
|
|
||
|
def get_env_var(key, as_type):
|
||
|
"""Get the environment variable option.
|
||
|
|
||
|
:param key: the config key requested
|
||
|
:param as_type: the type we would like to convert it to
|
||
|
:return:
|
||
|
"""
|
||
|
environ_key = ensure_str("VIRTUALENV_{}".format(key.upper()))
|
||
|
if os.environ.get(environ_key):
|
||
|
value = os.environ[environ_key]
|
||
|
# noinspection PyBroadException
|
||
|
try:
|
||
|
source = "env var {}".format(ensure_text(environ_key))
|
||
|
as_type = convert(value, as_type, source)
|
||
|
return as_type, source
|
||
|
except Exception: # note the converter already logs a warning when failures happen
|
||
|
pass
|
||
|
|
||
|
|
||
|
__all__ = ("get_env_var",)
|