From 22748bc0016bd7423b39535986b5dc48b400a1d5 Mon Sep 17 00:00:00 2001
From: pmouquet <pascal.mouquet@ird.fr>
Date: Tue, 21 Mar 2023 09:12:04 +0400
Subject: [PATCH] bugfix for l2a multiprocessing computing

---
 sen2chain/jobs.py             | 13 +++++++------
 sen2chain/multi_processing.py |  3 ++-
 sen2chain/multiprocess_l2a.py |  3 ++-
 sen2chain/tiles.py            |  2 +-
 4 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/sen2chain/jobs.py b/sen2chain/jobs.py
index 4344a34..28dbfaf 100644
--- a/sen2chain/jobs.py
+++ b/sen2chain/jobs.py
@@ -709,12 +709,14 @@ class Job:
                             date_min=row.date_min, date_max=row.date_max
                         ).filter_clouds(cover_max = row.max_clouds)
                     )
-                    l1c_process_list.append(l1c_to_process)
-                    logger.info(
-                        "ajout {}: {} l1c files\n".format(
-                            row.tile, len(l1c_to_process)
+                    if len(l1c_to_process):
+                        logger.info(
+                            "ajout {}: {} l1c files\n".format(
+                                row.tile, len(l1c_to_process)
+                            )
                         )
-                    )
+                    l1c_process_list.extend(l1c_to_process)
+                    
             # l1c_process_list = list(
                 # set(
                     # chain.from_iterable(l1c_process_list)
@@ -726,7 +728,6 @@ class Job:
             uniq = list(k for k,_ in groupby(l1c_process_list))
             l1c_process_list = uniq
             
-            
             logger.info(
                 "Process list ({} files): {}".format(
                     len(l1c_process_list), l1c_process_list
diff --git a/sen2chain/multi_processing.py b/sen2chain/multi_processing.py
index 43e42f0..8e441c8 100644
--- a/sen2chain/multi_processing.py
+++ b/sen2chain/multi_processing.py
@@ -29,8 +29,9 @@ def multi(product_copyl2asideproducts):
                 "/usr/bin/python3",
                 fwd + "/multiprocess_l2a.py",
                 product,
-                copy_l2a_sideproducts,
+                str(copy_l2a_sideproducts),
             ]
+            # logger.info(cmd)
             proc = subprocess.Popen(cmd)
 
             # l1c = L1cProduct(product)
diff --git a/sen2chain/multiprocess_l2a.py b/sen2chain/multiprocess_l2a.py
index 49e85d6..667a407 100644
--- a/sen2chain/multiprocess_l2a.py
+++ b/sen2chain/multiprocess_l2a.py
@@ -7,10 +7,11 @@
 """
 
 import sys
+import setuptools
 from sen2chain import L1cProduct
 
 identifier = sys.argv[1]
-copy_l2a_sideproducts = sys.argv[2]
+copy_l2a_sideproducts = bool(setuptools.distutils.util.strtobool(str(sys.argv[2])))
 
 l1c = L1cProduct(identifier)
 l1c.process_l2a(copy_l2a_sideproducts = copy_l2a_sideproducts)
diff --git a/sen2chain/tiles.py b/sen2chain/tiles.py
index 475942e..f066622 100644
--- a/sen2chain/tiles.py
+++ b/sen2chain/tiles.py
@@ -985,7 +985,7 @@ class Tile:
             if l2a_remove_list:
                 self.remove_l2a(l2a_remove_list)
         l1c_process_list = []
-        l1c_process_list.append(
+        l1c_process_list.extend(
             list(
                 [
                     p.identifier,
-- 
GitLab