ktmud commented on code in PR #20552:
URL: https://github.com/apache/superset/pull/20552#discussion_r928036057
##########
superset/reports/commands/execute.py:
##########
@@ -198,49 +207,33 @@ def _get_screenshots(self) -> List[bytes]:
:raises: ReportScheduleScreenshotFailedError
"""
image_data = []
- screenshots: List[BaseScreenshot] = []
+ url = self._get_url()
+ user = self._get_user()
if self._report_schedule.chart:
- url = self._get_url()
- logger.info("Screenshotting chart at %s", url)
- screenshots = [
- ChartScreenshot(
- url,
- self._report_schedule.chart.digest,
- window_size=app.config["WEBDRIVER_WINDOW"]["slice"],
- thumb_size=app.config["WEBDRIVER_WINDOW"]["slice"],
- )
- ]
+ screenshot: Union[ChartScreenshot, DashboardScreenshot] =
ChartScreenshot(
+ url,
+ self._report_schedule.chart.digest,
+ window_size=app.config["WEBDRIVER_WINDOW"]["slice"],
+ thumb_size=app.config["WEBDRIVER_WINDOW"]["slice"],
+ )
else:
- tabs: Optional[List[str]] =
json.loads(self._report_schedule.extra).get(
- "dashboard_tab_ids", None
+ screenshot = DashboardScreenshot(
+ url,
+ self._report_schedule.dashboard.digest,
+ window_size=app.config["WEBDRIVER_WINDOW"]["dashboard"],
+ thumb_size=app.config["WEBDRIVER_WINDOW"]["dashboard"],
)
- dashboard_base_url = self._get_url()
- if tabs is None:
- urls = [dashboard_base_url]
- else:
- urls = [f"{dashboard_base_url}#{tab_id}" for tab_id in tabs]
- screenshots = [
- DashboardScreenshot(
- url,
- self._report_schedule.dashboard.digest,
- window_size=app.config["WEBDRIVER_WINDOW"]["dashboard"],
- thumb_size=app.config["WEBDRIVER_WINDOW"]["dashboard"],
- )
- for url in urls
- ]
- user = self._get_user()
- for screenshot in screenshots:
- try:
- image = screenshot.get_screenshot(user=user)
- except SoftTimeLimitExceeded as ex:
- logger.warning("A timeout occurred while taking a screenshot.")
- raise ReportScheduleScreenshotTimeout() from ex
- except Exception as ex:
- raise ReportScheduleScreenshotFailedError(
- f"Failed taking a screenshot {str(ex)}"
- ) from ex
- if image is not None:
- image_data.append(image)
+ try:
+ image = screenshot.get_screenshot(user=user)
+ except SoftTimeLimitExceeded as ex:
+ logger.warning("A timeout occurred while taking a screenshot.")
+ raise ReportScheduleScreenshotTimeout() from ex
+ except Exception as ex:
+ raise ReportScheduleScreenshotFailedError(
+ f"Failed taking a screenshot {str(ex)}"
+ ) from ex
+ if image is not None:
Review Comment:
No it shouldn't.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]