From 9b3a14836cfaeb2c4ae4624a4c81931371779240 Mon Sep 17 00:00:00 2001 From: Synchon Mandal Date: Mon, 6 May 2024 17:46:45 +0200 Subject: [PATCH 1/4] fix: disable overwrite of validated input data types for multiple preprocessors --- junifer/markers/collection.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/junifer/markers/collection.py b/junifer/markers/collection.py index 2ffdff94f..b750e028c 100644 --- a/junifer/markers/collection.py +++ b/junifer/markers/collection.py @@ -131,14 +131,19 @@ class MarkerCollection: logger.info(f"Data Reader output type: {t_data}") if self._preprocessors is not None: + validated_input_data_types = [] for preprocessor in self._preprocessors: logger.info( "Validating Preprocessor: " f"{preprocessor.__class__.__name__}" ) # Validate preprocessor - t_data = preprocessor.validate(t_data) - logger.info(f"Preprocess output type: {t_data}") + p_data = preprocessor.validate(t_data) + logger.info(f"Preprocess output type: {p_data}") + # Extend validated list + validated_input_data_types.extend(p_data) + # Set t_data for further use + t_data = list(set(validated_input_data_types)) for marker in self._markers: logger.info(f"Validating Marker: {marker.name}") -- 2.52.0 From bdfbc11fd3d6efbfb63078e67c21104f4369913d Mon Sep 17 00:00:00 2001 From: Synchon Mandal Date: Mon, 6 May 2024 18:07:51 +0200 Subject: [PATCH 2/4] chore: add changelog 339.bugfix --- docs/changes/newsfragments/339.bugfix | 1 + 1 file changed, 1 insertion(+) create mode 100644 docs/changes/newsfragments/339.bugfix diff --git a/docs/changes/newsfragments/339.bugfix b/docs/changes/newsfragments/339.bugfix new file mode 100644 index 000000000..e4e3e1c3d --- /dev/null +++ b/docs/changes/newsfragments/339.bugfix @@ -0,0 +1 @@ +Fix validation failure of multiple Preprocessors with different input data types requirement by `Synchon Mandal`_ -- 2.52.0 From 84641f7aef521992d92621193be7a67a6b4c1ad8 Mon Sep 17 00:00:00 2001 From: Synchon Mandal Date: Tue, 7 May 2024 10:57:14 +0200 Subject: [PATCH 3/4] update: improve preprocessor input type validation in MarkerCollection --- junifer/markers/collection.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/junifer/markers/collection.py b/junifer/markers/collection.py index b750e028c..7a5e00684 100644 --- a/junifer/markers/collection.py +++ b/junifer/markers/collection.py @@ -143,7 +143,7 @@ class MarkerCollection: # Extend validated list validated_input_data_types.extend(p_data) # Set t_data for further use - t_data = list(set(validated_input_data_types)) + t_data = list(set(validated_input_data_types) | set(t_data)) for marker in self._markers: logger.info(f"Validating Marker: {marker.name}") -- 2.52.0 From 902bdc18dba7f691672564881ee298a533cb5fe9 Mon Sep 17 00:00:00 2001 From: Synchon Mandal Date: Mon, 13 May 2024 11:59:16 +0200 Subject: [PATCH 4/4] update: improve validation for preprocessors in MarkerCollection --- junifer/markers/collection.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/junifer/markers/collection.py b/junifer/markers/collection.py index 7a5e00684..cfdf20a0e 100644 --- a/junifer/markers/collection.py +++ b/junifer/markers/collection.py @@ -131,19 +131,19 @@ class MarkerCollection: logger.info(f"Data Reader output type: {t_data}") if self._preprocessors is not None: - validated_input_data_types = [] for preprocessor in self._preprocessors: logger.info( "Validating Preprocessor: " f"{preprocessor.__class__.__name__}" ) + # Copy existing data types + old_t_data = t_data.copy() + logger.info(f"Preprocessor input type: {t_data}") # Validate preprocessor - p_data = preprocessor.validate(t_data) - logger.info(f"Preprocess output type: {p_data}") - # Extend validated list - validated_input_data_types.extend(p_data) - # Set t_data for further use - t_data = list(set(validated_input_data_types) | set(t_data)) + new_t_data = preprocessor.validate(old_t_data) + # Set new data types + t_data = list(set(old_t_data) | set(new_t_data)) + logger.info(f"Preprocessor output type: {t_data}") for marker in self._markers: logger.info(f"Validating Marker: {marker.name}") -- 2.52.0