From f7006d9de78853a28b7dcd8a72455dfb5cdbf656 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Thu, 6 Dec 2018 11:27:13 +0100 Subject: [PATCH 2/2] misc: give lazy map variable a .split() method, for str compatibility (#28193) --- tests/test_formdata.py | 3 +-- wcs/variables.py | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/test_formdata.py b/tests/test_formdata.py index eb79a7b74..bd5cff92d 100644 --- a/tests/test_formdata.py +++ b/tests/test_formdata.py @@ -677,8 +677,7 @@ def test_lazy_map_variable(pub, variable_test_data): with pub.substitutions.temporary_feed(formdata, force_mode=mode): assert WorkflowStatusItem.compute('=form_var_map', raises=True) == '2;4' assert WorkflowStatusItem.compute('{{ form_var_map }}', raises=True) == '2;4' - if mode is None: - assert WorkflowStatusItem.compute('=form_var_map.split(";")[0]', raises=True) == '2' + assert WorkflowStatusItem.compute('=form_var_map.split(";")[0]', raises=True) == '2' if mode == 'lazy': assert WorkflowStatusItem.compute('=form_var_map_lat', raises=True) == 2 assert WorkflowStatusItem.compute('{{ form_var_map_lat }}', raises=True) == '2.0' diff --git a/wcs/variables.py b/wcs/variables.py index 16442aeeb..b832d9aae 100644 --- a/wcs/variables.py +++ b/wcs/variables.py @@ -462,6 +462,9 @@ class LazyFieldVarMap(LazyFieldVar): def lon(self): return self.latlng.get('lon') + def split(self, *args, **kwargs): + return self.data.get(self.field.id).split(*args, **kwargs) + class LazyUser(object): def __init__(self, user): -- 2.20.0.rc2