diff --git a/folium/raster_layers.py b/folium/raster_layers.py index e76e93a6e8..f8077df8ef 100644 --- a/folium/raster_layers.py +++ b/folium/raster_layers.py @@ -214,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, @@ -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): diff --git a/tests/test_raster_layers.py b/tests/test_raster_layers.py index c61d4a7be6..1419b30ccf 100644 --- a/tests/test_raster_layers.py +++ b/tests/test_raster_layers.py @@ -59,9 +59,14 @@ 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 + assert "cqlFilter" not in html bounds = m.get_bounds() assert bounds == [[None, None], [None, None]], bounds