From b1839101c1fd7224fd8e1043d67ad71acb162c03 Mon Sep 17 00:00:00 2001 From: Janne Jakob Fleischer Date: Mon, 2 Jun 2025 15:53:10 +0200 Subject: [PATCH 1/2] Added sink commitment following qgis-pull-request #59241 --- ORStools/proc/directions_lines_proc.py | 6 ++++++ ORStools/proc/directions_points_layer_proc.py | 6 ++++++ ORStools/proc/directions_points_layers_proc.py | 6 ++++++ ORStools/proc/export_proc.py | 11 +++++++++++ ORStools/proc/isochrones_layer_proc.py | 6 ++++++ ORStools/proc/isochrones_point_proc.py | 6 ++++++ ORStools/proc/matrix_proc.py | 6 ++++++ ORStools/proc/snap_layer_proc.py | 6 ++++++ ORStools/proc/snap_point_proc.py | 6 ++++++ 9 files changed, 59 insertions(+) diff --git a/ORStools/proc/directions_lines_proc.py b/ORStools/proc/directions_lines_proc.py index 4d6436cb..c7eebabb 100644 --- a/ORStools/proc/directions_lines_proc.py +++ b/ORStools/proc/directions_lines_proc.py @@ -252,6 +252,12 @@ def processAlgorithm( feedback.setProgress(int(100.0 / count * num)) + sink.flushBuffer() + if hasattr(sink, 'finalize'): + sink.finalize() + else: + del sink + return {self.OUT: dest_id} @staticmethod diff --git a/ORStools/proc/directions_points_layer_proc.py b/ORStools/proc/directions_points_layer_proc.py index 41c8d5cf..79a5dbef 100644 --- a/ORStools/proc/directions_points_layer_proc.py +++ b/ORStools/proc/directions_points_layer_proc.py @@ -293,6 +293,12 @@ def sort(f): feedback.setProgress(int(100.0 / count * num)) + sink.flushBuffer() + if hasattr(sink, 'finalize'): + sink.finalize() + else: + del sink + return {self.OUT: dest_id} def displayName(self) -> str: diff --git a/ORStools/proc/directions_points_layers_proc.py b/ORStools/proc/directions_points_layers_proc.py index 024e05ef..fd28f2ab 100644 --- a/ORStools/proc/directions_points_layers_proc.py +++ b/ORStools/proc/directions_points_layers_proc.py @@ -267,6 +267,12 @@ def sort_end(f): counter += 1 feedback.setProgress(int(100.0 / route_count * counter)) + sink.flushBuffer() + if hasattr(sink, 'finalize'): + sink.finalize() + else: + del sink + return {self.OUT: dest_id} @staticmethod diff --git a/ORStools/proc/export_proc.py b/ORStools/proc/export_proc.py index 279d9f3a..64b4ec53 100644 --- a/ORStools/proc/export_proc.py +++ b/ORStools/proc/export_proc.py @@ -154,6 +154,17 @@ def processAlgorithm( feedback.reportError(msg) logger.log(msg) + sink_line.flushBuffer() + if hasattr(sink_line, 'finalize'): + sink_line.finalize() + else: + del sink_line + + sink_point.flushBuffer() + if hasattr(sink_point, 'finalize'): + sink_point.finalize() + else: + del sink_point return {self.OUT: dest_id_line, self.OUT_POINT: dest_id_point} @staticmethod diff --git a/ORStools/proc/isochrones_layer_proc.py b/ORStools/proc/isochrones_layer_proc.py index 0a4b60e0..b291b92f 100644 --- a/ORStools/proc/isochrones_layer_proc.py +++ b/ORStools/proc/isochrones_layer_proc.py @@ -212,6 +212,12 @@ def processAlgorithm( continue feedback.setProgress(int(100.0 / source.featureCount() * num)) + sink.flushBuffer() + if hasattr(sink, 'finalize'): + sink.finalize() + else: + del sink + return {self.OUT: self.dest_id} # noinspection PyUnusedLocal diff --git a/ORStools/proc/isochrones_point_proc.py b/ORStools/proc/isochrones_point_proc.py index b6b29c16..3bf7c6d7 100644 --- a/ORStools/proc/isochrones_point_proc.py +++ b/ORStools/proc/isochrones_point_proc.py @@ -168,6 +168,12 @@ def processAlgorithm( feedback.reportError(msg) logger.log(msg, 2) + sink.flushBuffer() + if hasattr(sink, 'finalize'): + sink.finalize() + else: + del sink + return {self.OUT: self.dest_id} # noinspection PyUnusedLocal diff --git a/ORStools/proc/matrix_proc.py b/ORStools/proc/matrix_proc.py index 089347d3..87d47ceb 100644 --- a/ORStools/proc/matrix_proc.py +++ b/ORStools/proc/matrix_proc.py @@ -216,6 +216,12 @@ def processAlgorithm( sink.addFeature(feat) + sink.flushBuffer() + if hasattr(sink, 'finalize'): + sink.finalize() + else: + del sink + return {self.OUT: dest_id} # TODO working source_type and destination_type differ in both name and type from get_fields in directions_core. diff --git a/ORStools/proc/snap_layer_proc.py b/ORStools/proc/snap_layer_proc.py index edd07be5..8fcf46fe 100644 --- a/ORStools/proc/snap_layer_proc.py +++ b/ORStools/proc/snap_layer_proc.py @@ -135,6 +135,12 @@ def processAlgorithm( feedback.reportError(msg) logger.log(msg) + sink.flushBuffer() + if hasattr(sink, 'finalize'): + sink.finalize() + else: + del sink + return {self.OUT: dest_id} def displayName(self) -> str: diff --git a/ORStools/proc/snap_point_proc.py b/ORStools/proc/snap_point_proc.py index 94fd2db1..8a602c3d 100644 --- a/ORStools/proc/snap_point_proc.py +++ b/ORStools/proc/snap_point_proc.py @@ -120,6 +120,12 @@ def processAlgorithm( feedback.reportError(msg) logger.log(msg) + sink.flushBuffer() + if hasattr(sink, 'finalize'): + sink.finalize() + else: + del sink + return {self.OUT: dest_id} def displayName(self) -> str: From f7968ee01b68ce92b3a16f8a64a0ca6165f0ba1d Mon Sep 17 00:00:00 2001 From: Janne Jakob Fleischer Date: Mon, 2 Jun 2025 16:22:38 +0200 Subject: [PATCH 2/2] ruff fixes. --- ORStools/proc/directions_lines_proc.py | 4 ++-- ORStools/proc/directions_points_layer_proc.py | 4 ++-- ORStools/proc/directions_points_layers_proc.py | 4 ++-- ORStools/proc/export_proc.py | 4 ++-- ORStools/proc/isochrones_layer_proc.py | 2 +- ORStools/proc/isochrones_point_proc.py | 4 ++-- ORStools/proc/matrix_proc.py | 4 ++-- ORStools/proc/snap_layer_proc.py | 4 ++-- ORStools/proc/snap_point_proc.py | 4 ++-- 9 files changed, 17 insertions(+), 17 deletions(-) diff --git a/ORStools/proc/directions_lines_proc.py b/ORStools/proc/directions_lines_proc.py index c7eebabb..692fd0a0 100644 --- a/ORStools/proc/directions_lines_proc.py +++ b/ORStools/proc/directions_lines_proc.py @@ -253,11 +253,11 @@ def processAlgorithm( feedback.setProgress(int(100.0 / count * num)) sink.flushBuffer() - if hasattr(sink, 'finalize'): + if hasattr(sink, "finalize"): sink.finalize() else: del sink - + return {self.OUT: dest_id} @staticmethod diff --git a/ORStools/proc/directions_points_layer_proc.py b/ORStools/proc/directions_points_layer_proc.py index 79a5dbef..95291c2c 100644 --- a/ORStools/proc/directions_points_layer_proc.py +++ b/ORStools/proc/directions_points_layer_proc.py @@ -294,11 +294,11 @@ def sort(f): feedback.setProgress(int(100.0 / count * num)) sink.flushBuffer() - if hasattr(sink, 'finalize'): + if hasattr(sink, "finalize"): sink.finalize() else: del sink - + return {self.OUT: dest_id} def displayName(self) -> str: diff --git a/ORStools/proc/directions_points_layers_proc.py b/ORStools/proc/directions_points_layers_proc.py index fd28f2ab..e9b7f449 100644 --- a/ORStools/proc/directions_points_layers_proc.py +++ b/ORStools/proc/directions_points_layers_proc.py @@ -268,11 +268,11 @@ def sort_end(f): feedback.setProgress(int(100.0 / route_count * counter)) sink.flushBuffer() - if hasattr(sink, 'finalize'): + if hasattr(sink, "finalize"): sink.finalize() else: del sink - + return {self.OUT: dest_id} @staticmethod diff --git a/ORStools/proc/export_proc.py b/ORStools/proc/export_proc.py index 64b4ec53..24ed59d5 100644 --- a/ORStools/proc/export_proc.py +++ b/ORStools/proc/export_proc.py @@ -155,13 +155,13 @@ def processAlgorithm( logger.log(msg) sink_line.flushBuffer() - if hasattr(sink_line, 'finalize'): + if hasattr(sink_line, "finalize"): sink_line.finalize() else: del sink_line sink_point.flushBuffer() - if hasattr(sink_point, 'finalize'): + if hasattr(sink_point, "finalize"): sink_point.finalize() else: del sink_point diff --git a/ORStools/proc/isochrones_layer_proc.py b/ORStools/proc/isochrones_layer_proc.py index b291b92f..8a0f1ef0 100644 --- a/ORStools/proc/isochrones_layer_proc.py +++ b/ORStools/proc/isochrones_layer_proc.py @@ -213,7 +213,7 @@ def processAlgorithm( feedback.setProgress(int(100.0 / source.featureCount() * num)) sink.flushBuffer() - if hasattr(sink, 'finalize'): + if hasattr(sink, "finalize"): sink.finalize() else: del sink diff --git a/ORStools/proc/isochrones_point_proc.py b/ORStools/proc/isochrones_point_proc.py index 3bf7c6d7..a1b86b42 100644 --- a/ORStools/proc/isochrones_point_proc.py +++ b/ORStools/proc/isochrones_point_proc.py @@ -169,11 +169,11 @@ def processAlgorithm( logger.log(msg, 2) sink.flushBuffer() - if hasattr(sink, 'finalize'): + if hasattr(sink, "finalize"): sink.finalize() else: del sink - + return {self.OUT: self.dest_id} # noinspection PyUnusedLocal diff --git a/ORStools/proc/matrix_proc.py b/ORStools/proc/matrix_proc.py index 87d47ceb..d755ace5 100644 --- a/ORStools/proc/matrix_proc.py +++ b/ORStools/proc/matrix_proc.py @@ -217,11 +217,11 @@ def processAlgorithm( sink.addFeature(feat) sink.flushBuffer() - if hasattr(sink, 'finalize'): + if hasattr(sink, "finalize"): sink.finalize() else: del sink - + return {self.OUT: dest_id} # TODO working source_type and destination_type differ in both name and type from get_fields in directions_core. diff --git a/ORStools/proc/snap_layer_proc.py b/ORStools/proc/snap_layer_proc.py index 8fcf46fe..e834c9c0 100644 --- a/ORStools/proc/snap_layer_proc.py +++ b/ORStools/proc/snap_layer_proc.py @@ -136,11 +136,11 @@ def processAlgorithm( logger.log(msg) sink.flushBuffer() - if hasattr(sink, 'finalize'): + if hasattr(sink, "finalize"): sink.finalize() else: del sink - + return {self.OUT: dest_id} def displayName(self) -> str: diff --git a/ORStools/proc/snap_point_proc.py b/ORStools/proc/snap_point_proc.py index 8a602c3d..cbb6141f 100644 --- a/ORStools/proc/snap_point_proc.py +++ b/ORStools/proc/snap_point_proc.py @@ -121,11 +121,11 @@ def processAlgorithm( logger.log(msg) sink.flushBuffer() - if hasattr(sink, 'finalize'): + if hasattr(sink, "finalize"): sink.finalize() else: del sink - + return {self.OUT: dest_id} def displayName(self) -> str: