in source/lambda/es_loader/index.py [0:0]
def get_value_from_etl_config(logtype, key, keytype=None):
try:
if keytype is None:
value = etl_config[logtype][key]
elif keytype == 'bool':
value = etl_config[logtype].getboolean(key)
elif keytype == 'int':
value = etl_config[logtype].getint(key)
elif keytype == 're':
rawdata = etl_config[logtype][key]
if rawdata:
value = re.compile(rawdata)
else:
value = ''
elif keytype == 'list':
temp = etl_config[logtype][key]
if temp.startswith('['):
value = [x.strip() for x in temp.strip('[|]').split(',')]
else:
value = temp.split()
else:
value = ''
except KeyError:
logger.exception('unknown error')
raise KeyError("Can't find the key in logconfig")
except re.error:
logger.exception(f'invalid regex pattern for {key}')
raise Exception(f'invalid regex pattern for {key}') from None
except Exception:
logger.exception('unknown error')
raise Exception('unknown error') from None
return value