diff --git a/ORStools/proc/directions_lines_proc.py b/ORStools/proc/directions_lines_proc.py index 4d6436cb..692fd0a0 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..95291c2c 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..e9b7f449 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..24ed59d5 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..8a0f1ef0 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..a1b86b42 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..d755ace5 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..e834c9c0 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..cbb6141f 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: