From 171e5b4dc97a7eefe22362f57244ca14f95ca7ea Mon Sep 17 00:00:00 2001 From: Frank <33519926+Conengmo@users.noreply.github.com> Date: Tue, 29 Nov 2022 16:39:23 +0100 Subject: [PATCH 1/3] WmsTileLayer: allow cql_filter parameter --- folium/raster_layers.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/folium/raster_layers.py b/folium/raster_layers.py index e76e93a6e8..43cc816cb1 100644 --- a/folium/raster_layers.py +++ b/folium/raster_layers.py @@ -205,6 +205,7 @@ def __init__( transparent=False, version="1.1.1", attr="", + cql_filter=None, name=None, overlay=True, control=True, @@ -222,6 +223,9 @@ def __init__( attribution=attr, **kwargs ) + if cql_filter: + # special parameter that shouldn't be camelized + self.options["cql_filter"] = cql_filter class ImageOverlay(Layer): From b9dba8d4b6eafe17786c67ca85c09b1e2c2092cf Mon Sep 17 00:00:00 2001 From: Frank <33519926+Conengmo@users.noreply.github.com> Date: Tue, 29 Nov 2022 16:43:03 +0100 Subject: [PATCH 2/3] add test --- tests/test_raster_layers.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/test_raster_layers.py b/tests/test_raster_layers.py index c61d4a7be6..66f1d9c710 100644 --- a/tests/test_raster_layers.py +++ b/tests/test_raster_layers.py @@ -59,9 +59,13 @@ def test_wms(): layers="nexrad-n0r-900913", attr="Weather data © 2012 IEM Nexrad", transparent=True, + cql_filter="something", ) w.add_to(m) - m._repr_html_() + html = m.get_root().render() + + # verify this special case wasn't converted to lowerCamelCase + assert '"cql_filter": "something",' in html bounds = m.get_bounds() assert bounds == [[None, None], [None, None]], bounds From 57e91db3d955a0104eb167d2cdf8e29a48652944 Mon Sep 17 00:00:00 2001 From: Frank <33519926+Conengmo@users.noreply.github.com> Date: Tue, 29 Nov 2022 16:57:19 +0100 Subject: [PATCH 3/3] avoid function argument --- folium/raster_layers.py | 2 +- tests/test_raster_layers.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/folium/raster_layers.py b/folium/raster_layers.py index 43cc816cb1..f8077df8ef 100644 --- a/folium/raster_layers.py +++ b/folium/raster_layers.py @@ -205,7 +205,6 @@ def __init__( transparent=False, version="1.1.1", attr="", - cql_filter=None, name=None, overlay=True, control=True, @@ -215,6 +214,7 @@ def __init__( super().__init__(name=name, overlay=overlay, control=control, show=show) self.url = url kwargs["format"] = fmt + cql_filter = kwargs.pop("cql_filter", None) self.options = parse_options( layers=layers, styles=styles, diff --git a/tests/test_raster_layers.py b/tests/test_raster_layers.py index 66f1d9c710..1419b30ccf 100644 --- a/tests/test_raster_layers.py +++ b/tests/test_raster_layers.py @@ -66,6 +66,7 @@ def test_wms(): # verify this special case wasn't converted to lowerCamelCase assert '"cql_filter": "something",' in html + assert "cqlFilter" not in html bounds = m.get_bounds() assert bounds == [[None, None], [None, None]], bounds