From 8697352628f359c678d8b4a7b826f90255b14e50 Mon Sep 17 00:00:00 2001
From: Cristiano Urban <cristiano.urban@inaf.it>
Date: Tue, 18 Jul 2023 09:38:23 +0200
Subject: [PATCH] Fix: 'urlListFileName' variable is None on job error.

Signed-off-by: Cristiano Urban <cristiano.urban@inaf.it>
---
 transfer_service/retrieve_executor.py | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/transfer_service/retrieve_executor.py b/transfer_service/retrieve_executor.py
index 3bc43c6..c009ec8 100644
--- a/transfer_service/retrieve_executor.py
+++ b/transfer_service/retrieve_executor.py
@@ -456,16 +456,19 @@ class RetrieveExecutor(TaskExecutor):
         self.numBlocks = 0
         self.procBlocks = 0
         self.totalSize = 0
-        urlListFilePath = os.path.join(self.resDir, self.urlListFileName)
-        try:
-            os.remove(urlListFilePath)
-        except OSError:
-            self.logger.exception(f"FATAL: unable to remove {self.urlListFileName}")
-        try:
-            os.remove(urlListFilePath + ".tar.gz")
-        except OSError:
-            self.logger.exception(f"FATAL: unable to remove {self.urlListFileName}.tar.gz")
-        self.urlListFileName = None
+        
+        # If an error occurs, the variable is None: just ignore it (the URL list is not generated)
+        if self.urlListFileName is not None:
+            urlListFilePath = os.path.join(self.resDir, self.urlListFileName)
+            try:
+                os.remove(urlListFilePath)
+            except OSError:
+                self.logger.exception(f"FATAL: unable to remove {self.urlListFileName}")
+            try:
+                os.remove(urlListFilePath + ".tar.gz")
+            except OSError:
+                self.logger.exception(f"FATAL: unable to remove {self.urlListFileName}.tar.gz")
+            self.urlListFileName = None
 
     def run(self):
         self.logger.info("Starting retrieve executor...")
-- 
GitLab