This is an automated email from the ASF dual-hosted git repository. beto pushed a commit to branch customize_screenshot_width in repository https://gitbox.apache.org/repos/asf/superset.git
commit 34c26904478320befe9eacf67bb8cbb05eeaaa04 Author: Beto Dealmeida <[email protected]> AuthorDate: Mon Jun 26 12:54:04 2023 -0700 Add some constants --- superset/charts/api.py | 4 ++-- superset/utils/screenshots.py | 18 ++++++++++++------ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/superset/charts/api.py b/superset/charts/api.py index c87b7bdda8..e8ccfa0fff 100644 --- a/superset/charts/api.py +++ b/superset/charts/api.py @@ -82,7 +82,7 @@ from superset.extensions import event_logger from superset.models.slice import Slice from superset.tasks.thumbnails import cache_chart_thumbnail from superset.tasks.utils import get_current_user -from superset.utils.screenshots import ChartScreenshot +from superset.utils.screenshots import ChartScreenshot, DEFAULT_CHART_WINDOW_SIZE from superset.utils.urls import get_url_path from superset.views.base_api import ( BaseSupersetModelRestApi, @@ -573,7 +573,7 @@ class ChartRestApi(BaseSupersetModelRestApi): $ref: '#/components/responses/500' """ rison_dict = kwargs["rison"] - window_size = rison_dict.get("window_size") or (800, 600) + window_size = rison_dict.get("window_size") or DEFAULT_CHART_WINDOW_SIZE # Don't shrink the image if thumb_size is not specified thumb_size = rison_dict.get("thumb_size") or window_size diff --git a/superset/utils/screenshots.py b/superset/utils/screenshots.py index 5c699e9e19..2743f85195 100644 --- a/superset/utils/screenshots.py +++ b/superset/utils/screenshots.py @@ -33,6 +33,12 @@ from superset.utils.webdriver import ( logger = logging.getLogger(__name__) +DEFAULT_SCREENSHOT_WINDOW_SIZE = 800, 600 +DEFAULT_SCREENSHOT_THUMBNAIL_SIZE = 400, 300 +DEFAULT_CHART_WINDOW_SIZE = DEFAULT_CHART_THUMBNAIL_SIZE = 800, 600 +DEFAULT_DASHBOARD_WINDOW_SIZE = 1600, 1200 +DEFAULT_DASHBOARD_THUMBNAIL_SIZE = 800, 600 + try: from PIL import Image except ModuleNotFoundError: @@ -47,8 +53,8 @@ class BaseScreenshot: driver_type = current_app.config["WEBDRIVER_TYPE"] thumbnail_type: str = "" element: str = "" - window_size: WindowSize = (800, 600) - thumb_size: WindowSize = (400, 300) + window_size: WindowSize = DEFAULT_SCREENSHOT_WINDOW_SIZE + thumb_size: WindowSize = DEFAULT_SCREENSHOT_THUMBNAIL_SIZE def __init__(self, url: str, digest: str): self.digest: str = digest @@ -216,8 +222,8 @@ class ChartScreenshot(BaseScreenshot): standalone=ChartStandaloneMode.HIDE_NAV.value, ) super().__init__(url, digest) - self.window_size = window_size or (800, 600) - self.thumb_size = thumb_size or (800, 600) + self.window_size = window_size or DEFAULT_CHART_WINDOW_SIZE + self.thumb_size = thumb_size or DEFAULT_CHART_THUMBNAIL_SIZE class DashboardScreenshot(BaseScreenshot): @@ -239,5 +245,5 @@ class DashboardScreenshot(BaseScreenshot): ) super().__init__(url, digest) - self.window_size = window_size or (1600, 1200) - self.thumb_size = thumb_size or (800, 600) + self.window_size = window_size or DEFAULT_DASHBOARD_WINDOW_SIZE + self.thumb_size = thumb_size or DEFAULT_DASHBOARD_THUMBNAIL_SIZE
