mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-11-02 11:39:12 +00:00
Fix dashboards - fixed source statuses (#4484)
* Fix dashboards * Fix dashboards
This commit is contained in:
parent
5108e6aa35
commit
f36764ebd8
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user