import os localData = {} def autoload(data): """ This function reads and parses the config.json at the start of the API call. autoload sets all the respective connection configurations mentioned in the config.json. eg: for s3 connection for bureau and finbit files. :param data: json with all configurations :return: no return statement """ _autoload = data.get("autoload") config = _autoload.get("config") from helper_methods import load_from_S3 if config is not None: for config_name in config.keys(): if config_name in ["s3"]: for c_config_name in config.get(config_name).keys(): if config.get(config_name)[c_config_name] != "::getENV": os.environ[c_config_name] = config.get(config_name)[c_config_name] if config_name in ["files"]: for c_config_name in config.get(config_name).keys(): if config.get(config_name)[c_config_name]["type"] == "s3": localData[c_config_name] = load_from_S3(config.get(config_name)[c_config_name]) if config_name in ["dataConfig"]: for c_config_name in config.get(config_name).keys(): if config_name not in localData: localData[config_name] = {} localData[config_name][c_config_name] = config.get(config_name)[c_config_name] return localData