Fix dashboards - fixed source statuses (#4484)

* Fix dashboards

* Fix dashboards
This commit is contained in:
Ayush Shah 2022-04-25 23:26:11 +05:30 committed by GitHub
parent 5108e6aa35
commit f36764ebd8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 11 deletions

View File

@ -100,7 +100,7 @@ class LookerSource(Source[Entity]):
chart_filter_pattern=self.source_config.chartFilterPattern, chart_filter_pattern=self.source_config.chartFilterPattern,
chart_name=dashboard_elements.id, chart_name=dashboard_elements.id,
): ):
self.status.failures(dashboard_elements.id) self.status.failure(dashboard_elements.id, "Chart filtered out")
return None return None
om_dashboard_elements = Chart( om_dashboard_elements = Chart(
name=dashboard_elements.id, name=dashboard_elements.id,
@ -125,7 +125,7 @@ class LookerSource(Source[Entity]):
dashboard_filter_pattern=self.source_config.dashboardFilterPattern, dashboard_filter_pattern=self.source_config.dashboardFilterPattern,
dashboard_name=child_dashboard.id, dashboard_name=child_dashboard.id,
): ):
self.status.failures(child_dashboard.id) self.status.failure(child_dashboard.id, "Dashboard Filtered out")
continue continue
fields = [ fields = [
"id", "id",
@ -155,9 +155,9 @@ class LookerSource(Source[Entity]):
id=self.service.id, type="dashboardService" id=self.service.id, type="dashboardService"
), ),
) )
self.status.failures(child_dashboard.id)
except Exception as err: except Exception as err:
logger.error(repr(err)) logger.error(repr(err))
self.status.failure(child_dashboard.id, repr(err))
def get_status(self) -> SourceStatus: def get_status(self) -> SourceStatus:
return self.status return self.status

View File

@ -110,7 +110,7 @@ class PowerbiSource(Source[Entity]):
if not filter_by_chart( if not filter_by_chart(
self.source_config.chartFilterPattern, chart["title"] self.source_config.chartFilterPattern, chart["title"]
): ):
self.status.failures( self.status.failure(
chart["title"], "Filtered out using Chart filter pattern" chart["title"], "Filtered out using Chart filter pattern"
) )
continue continue
@ -130,7 +130,7 @@ class PowerbiSource(Source[Entity]):
except Exception as err: # pylint: disable=broad-except except Exception as err: # pylint: disable=broad-except
logger.debug(traceback.print_exc()) logger.debug(traceback.print_exc())
logger.error(repr(err)) logger.error(repr(err))
self.status.failures(chart["title"], err) self.status.failure(chart["title"], err)
def get_dashboards(self): def get_dashboards(self):
"""Get dashboard method""" """Get dashboard method"""
@ -144,7 +144,7 @@ class PowerbiSource(Source[Entity]):
self.source_config.dashboardFilterPattern, self.source_config.dashboardFilterPattern,
dashboard_details["displayName"], dashboard_details["displayName"],
): ):
self.status.failures( self.status.failure(
dashboard_details["displayName"], dashboard_details["displayName"],
"Filtered out using Chart filter pattern", "Filtered out using Chart filter pattern",
) )
@ -167,7 +167,7 @@ class PowerbiSource(Source[Entity]):
except Exception as err: except Exception as err:
logger.debug(traceback.print_exc()) logger.debug(traceback.print_exc())
logger.error(err) logger.error(err)
self.status.failures(dashboard_details["displayName"], err) self.status.failure(dashboard_details["displayName"], err)
def get_status(self) -> SourceStatus: def get_status(self) -> SourceStatus:
return self.status return self.status

View File

@ -67,7 +67,7 @@ class RedashSource(Source[Entity]):
self.connection_config = self.config.serviceConnection.__root__.config self.connection_config = self.config.serviceConnection.__root__.config
self.status = RedashSourceStatus() self.status = RedashSourceStatus()
self.client = Redash( self.client = Redash(
self.connection_config.redashURL, self.connection_config.apiKey self.connection_config.hostPort, self.connection_config.apiKey
) )
self.service = self.metadata.get_service_or_create( self.service = self.metadata.get_service_or_create(
entity=DashboardService, config=config entity=DashboardService, config=config
@ -99,7 +99,7 @@ class RedashSource(Source[Entity]):
query_id = query_info["id"] query_id = query_info["id"]
query_name = query_info["name"] query_name = query_info["name"]
query_data = requests.get( query_data = requests.get(
f"{self.connection_config.redashURL}/api/queries/{query_id}" f"{self.connection_config.hostPort}/api/queries/{query_id}"
).json() ).json()
for visualization in query_data.get("Visualizations", []): for visualization in query_data.get("Visualizations", []):
chart_type = visualization.get("type", "") chart_type = visualization.get("type", "")
@ -136,7 +136,7 @@ class RedashSource(Source[Entity]):
id=self.service.id, type="dashboardService" id=self.service.id, type="dashboardService"
), ),
url=( url=(
f"{self.connection_config.redashURL}/dashboard/{dashboard_data.get('slug', '')}" f"{self.connection_config.hostPort}/dashboard/{dashboard_data.get('slug', '')}"
), ),
description=visualization["description"], description=visualization["description"],
) )
@ -147,7 +147,7 @@ class RedashSource(Source[Entity]):
if dashboard_id is not None: if dashboard_id is not None:
self.status.item_scanned_status() self.status.item_scanned_status()
dashboard_data = self.client.get_dashboard(dashboard_id) dashboard_data = self.client.get_dashboard(dashboard_id)
dashboard_url = f"{self.connection_config.redashURL}/dashboard/{dashboard_data.get('slug', '')}" dashboard_url = f"{self.connection_config.hostPort}/dashboard/{dashboard_data.get('slug', '')}"
dashboard_description = "" dashboard_description = ""
for widgets in dashboard_data.get("widgets", []): for widgets in dashboard_data.get("widgets", []):
dashboard_description = widgets.get("text") dashboard_description = widgets.get("text")