in cid/helpers/athena.py [0:0]
def CatalogName(self) -> str:
""" Check if AWS Datacalog and Athena database exist """
if not self._CatalogName:
# Get AWS Glue DataCatalogs
glue_data_catalogs = [d for d in self.list_data_catalogs() if d['Type'] == 'GLUE']
if not len(glue_data_catalogs):
self._status = 'AWS DataCatog of type GLUE not found'
if len(glue_data_catalogs) == 1:
self._CatalogName = glue_data_catalogs.pop().get('CatalogName')
elif len(glue_data_catalogs) > 2:
# Select default catalog if present
default_catalog = [d for d in glue_data_catalogs if d['CatalogName'] == self.defaults.get('_CatalogName')]
if not len(default_catalog):
# Ask user
self._CatalogName = questionary.select(
"Select AWS DataCatalog to use",
choices=glue_data_catalogs
).ask()
logger.info(f'Using datacatalog: {self._CatalogName}')
return self._CatalogName