From b6181baea2a6ca53f7bcf0a04dc1cbce3d874a5a Mon Sep 17 00:00:00 2001 From: palewire Date: Mon, 1 Dec 2025 14:54:16 -0500 Subject: [PATCH 1/2] feat: simplify export parameters for PNG and PDF methods - Remove hardcoded "mode": "rgb" parameter from PNG export - Remove "plain" parameter from PDF export query params - Add type annotation for params dict in PDF export method These changes simplify the export API calls by removing unnecessary default parameters, allowing the server to use its own defaults. --- datawrapper/charts/base.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/datawrapper/charts/base.py b/datawrapper/charts/base.py index 2ed3301..977c2cb 100644 --- a/datawrapper/charts/base.py +++ b/datawrapper/charts/base.py @@ -779,7 +779,6 @@ def export_png( # Build query parameters with PNG-specific defaults params = { "unit": "px", - "mode": "rgb", "plain": str(plain).lower(), "zoom": str(zoom), "transparent": str(transparent).lower(), @@ -923,9 +922,7 @@ def export_svg( client = self._get_client(access_token) # Build query parameters - params = { - "plain": str(plain).lower(), - } + params: dict[str, str] = {} if width is not None: params["width"] = str(width) From 4f137ab543d563e60ccdaf71d9717f8cd82cb474 Mon Sep 17 00:00:00 2001 From: palewire Date: Mon, 1 Dec 2025 15:10:39 -0500 Subject: [PATCH 2/2] **Commit Message:** ``` test: remove default parameter assertions from export tests Remove assertions for default parameters that are no longer being sent in PNG and SVG export requests: - Remove 'mode' parameter check from PNG export test - Remove 'plain' parameter check from SVG export test These parameters are likely now handled server-side or have been removed from the API request logic. --- tests/integration/test_base_export.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/integration/test_base_export.py b/tests/integration/test_base_export.py index a938a52..b088e49 100644 --- a/tests/integration/test_base_export.py +++ b/tests/integration/test_base_export.py @@ -46,7 +46,6 @@ def mock_client_factory(access_token=None): == "https://api.datawrapper.de/v3/charts/abc123/export/png" ) assert call_args[1]["params"]["unit"] == "px" - assert call_args[1]["params"]["mode"] == "rgb" assert call_args[1]["params"]["plain"] == "false" def test_export_png_with_all_parameters(self): @@ -300,7 +299,6 @@ def mock_client_factory(access_token=None): assert url == "https://api.datawrapper.de/v3/charts/abc123/export/svg" assert params["width"] == "800" assert params["height"] == "600" - assert params["plain"] == "true" def test_export_svg_no_chart_id(self): """Test SVG export raises error when no chart_id is set."""