fix(alerts&reports): Alerts & Reports will use values from WEBDRIVER_WINDOW option (#13157)

* fix: thumbnails and reports will be use WEBDRIVER_WINDOW option

* changes reformatted

* config change reverted. thumbnails sizes changed to original

* typo fix

* bugfix

defining defaults in thumbnails.py caused thumbnail caches invalidated.
they moved to init.

Co-authored-by: Ibrahim Ercan <ibrahim.ercan@vlmedia.com.tr>
This commit is contained in:
İbrahim Ercan
2021-03-02 13:49:22 +03:00
committed by GitHub
parent f19a830d9b
commit b04aebfa99
2 changed files with 32 additions and 6 deletions

View File

@@ -156,11 +156,19 @@ class BaseReportState:
screenshot: Optional[BaseScreenshot] = None
if self._report_schedule.chart:
url = self._get_url(standalone="true")
screenshot = ChartScreenshot(url, self._report_schedule.chart.digest)
screenshot = ChartScreenshot(
url,
self._report_schedule.chart.digest,
window_size=app.config["WEBDRIVER_WINDOW"]["slice"],
thumb_size=app.config["WEBDRIVER_WINDOW"]["slice"],
)
else:
url = self._get_url()
screenshot = DashboardScreenshot(
url, self._report_schedule.dashboard.digest
url,
self._report_schedule.dashboard.digest,
window_size=app.config["WEBDRIVER_WINDOW"]["dashboard"],
thumb_size=app.config["WEBDRIVER_WINDOW"]["dashboard"],
)
image_url = self._get_url(user_friendly=True)
user = self._get_screenshot_user()

View File

@@ -195,12 +195,30 @@ class BaseScreenshot:
class ChartScreenshot(BaseScreenshot):
thumbnail_type: str = "chart"
element: str = "chart-container"
window_size: WindowSize = (800, 600)
thumb_size: WindowSize = (800, 600)
def __init__(
self,
url: str,
digest: str,
window_size: Optional[WindowSize] = None,
thumb_size: Optional[WindowSize] = None,
):
super().__init__(url, digest)
self.window_size = window_size or (800, 600)
self.thumb_size = thumb_size or (800, 600)
class DashboardScreenshot(BaseScreenshot):
thumbnail_type: str = "dashboard"
element: str = "grid-container"
window_size: WindowSize = (1600, int(1600 * 0.75))
thumb_size: WindowSize = (800, int(800 * 0.75))
def __init__(
self,
url: str,
digest: str,
window_size: Optional[WindowSize] = None,
thumb_size: Optional[WindowSize] = None,
):
super().__init__(url, digest)
self.window_size = window_size or (1600, 1200)
self.thumb_size = thumb_size or (800, 600)