diff --git a/lidar_pipeline/pipeline.py b/lidar_pipeline/pipeline.py index 69929ae..96d4b96 100644 --- a/lidar_pipeline/pipeline.py +++ b/lidar_pipeline/pipeline.py @@ -332,7 +332,11 @@ class LidarArchaeoPipeline: try: if self.temp_dir.exists(): shutil.rmtree(self.temp_dir) - logger.info(" ✓ Fichiers temporaires supprimés") + # Also clean up per-file temp directories from parallel workers + for d in self.output_dir.glob("temp_*"): + if d.is_dir(): + shutil.rmtree(d, ignore_errors=True) + logger.info(" ✓ Fichiers temporaires supprimés") except Exception as e: logger.warning(f" Note: Impossible de supprimer les fichiers temporaires: {e}") @@ -358,4 +362,13 @@ def _process_file_standalone(laz_file_str, input_dir, output_dir, resolution, fo pipeline.temp_dir = pipeline.output_dir / f"temp_{basename}" pipeline.temp_dir.mkdir(exist_ok=True) laz_file = Path(laz_file_str) - return pipeline.process_file(laz_file) \ No newline at end of file + result = pipeline.process_file(laz_file) + + # Clean up per-file temp directory + try: + if pipeline.temp_dir.exists(): + shutil.rmtree(pipeline.temp_dir) + except Exception: + pass + + return result \ No newline at end of file