Commit af3f2663 authored by Huihui, Jonathan's avatar Huihui, Jonathan
Browse files

fix logic, check for multi var flavor

parent 2555cdba
Loading
Loading
Loading
Loading
+7 −14
Original line number Diff line number Diff line
@@ -44,9 +44,9 @@ def check_environment(env_var, default=None):
    return default


def check_multi_environment(env_var, env_var_multi, multi_value):
    """ Check if an environment variable exists,
    if so, do nothing. If not, check if the modified variable
def check_multi_environment(env_var_multi, multi_value, env_var):
    """ Check if the mod environment variable exists,
    if so, return that. If not, check if the vanilla variable
    has been specified and return that value instead.

    :param env_var: the vanilla environment variable to look for
@@ -55,17 +55,10 @@ def check_multi_environment(env_var, env_var_multi, multi_value):
    """
    # assume check environment has already been run on the init
    
    # check for existence, if it doesn't exist, return multi_value
    if not str(env_var) in os.environ:
        if isinstance(multi_value, bool):
            return boolify(os.environ[env_var_multi])
        if isinstance(multi_value, int):
            return int(os.environ[env_var_multi])
        # assume if in python environment, it is already a bool or int
        if env_var_multi in globals():
            return globals()[env_var_multi]
        if env_var_multi in locals():
            return locals()[env_var_multi]
    # check for existence of new var, if it doesn't exist,
    # return multi_value
    if str(env_var_multi) in os.environ:
        multi_value = check_environment(env_var_multi, multi_value)
        return os.environ[env_var_multi]
    
    # by now: