]> gitweb.fluxo.info Git - grab-queue.git/commitdiff
Log fixes
authorSilvio Rhatto <rhatto@riseup.net>
Thu, 4 Jul 2019 19:08:35 +0000 (16:08 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Thu, 4 Jul 2019 19:08:35 +0000 (16:08 -0300)
grab-queue

index 7cf0c375e37b4419b05a002ea4c8b4c3e83aa33c..92d6bac08267311400d5da8bc3ce3872f5553912 100755 (executable)
@@ -45,7 +45,7 @@ class DownloadMultiple:
         self.progress         = progress
         self.debug            = debug
         self.downloader       = downloader
-        self.globalstats      = { 'exitstatus': {} }
+        self.globalstats      = { 'returncode': {} }
 
     def ensuredir(self, dest):
         """Ensures that the destination folder exists"""
@@ -66,9 +66,11 @@ class DownloadMultiple:
 
             # Heuristics to check if dest is a folder
             if local_filename[-1] == '/':
-                folder = local_filename
+                folder  = local_filename
+                log_sep = '/'
             else:
-                folder = os.path.dirname(local_filename)
+                folder  = os.path.dirname(local_filename)
+                log_sep = '.'
 
             self.ensuredir(local_filename)
 
@@ -87,7 +89,7 @@ class DownloadMultiple:
             stdout, stderr = await proc.communicate()
 
             if stdout:
-                output = open(local_filename + '.stdout', 'w')
+                output = open(local_filename + log_sep + 'stdout', 'w')
                 output.write(stdout.decode())
                 output.close()
 
@@ -95,18 +97,18 @@ class DownloadMultiple:
                     print(f'[stdout] {url} {stdout.decode()}')
 
             if stderr:
-                output = open(local_filename + '.stderr', 'w')
+                output = open(local_filename + log_sep + 'stderr', 'w')
                 output.write(stderr.decode())
                 output.close()
 
                 if self.debug:
                     print(f'[stderr] {url} {stderr.decode()}')
 
-            output = open(local_filename + '.returncode', 'w')
+            output = open(local_filename + log_sep + 'returncode', 'w')
             output.write(str(proc.returncode) + '\n')
             output.close()
 
-            output = open(local_filename + '.date', 'w')
+            output = open(local_filename + log_sep + 'date', 'w')
             output.write(str(datetime.datetime.now()) + '\n')
             output.close()
 
@@ -122,15 +124,15 @@ class DownloadMultiple:
                                                                 stdout=asyncio.subprocess.PIPE,
                                                                 stderr=asyncio.subprocess.PIPE)
 
-            if not str(proc.returncode) in self.globalstats['exitstatus']:
-                self.globalstats['exitstatus'][str(proc.returncode)] = []
+            if not str(proc.returncode) in self.globalstats['returncode']:
+                self.globalstats['returncode'][str(proc.returncode)] = []
 
-            self.globalstats['exitstatus'][str(proc.returncode)].append(url);
+            self.globalstats['returncode'][str(proc.returncode)].append(url);
 
-            if not str(proc.returncode) in self.stats['exitstatus']:
-                self.stats['exitstatus'][str(proc.returncode)] = []
+            if not str(proc.returncode) in self.stats['returncode']:
+                self.stats['returncode'][str(proc.returncode)] = []
 
-            self.stats['exitstatus'][str(proc.returncode)].append(url);
+            self.stats['returncode'][str(proc.returncode)].append(url);
 
             if self.debug:
                 print(f'[{cmd!r} exited with {proc.returncode}]')
@@ -158,7 +160,7 @@ class DownloadMultiple:
             progress_bar.close()
 
     def get(self, filepairs):
-        self.stats =  { 'exitstatus': {} }
+        self.stats =  { 'returncode': {} }
         loop       = asyncio.get_event_loop()
 
         loop.set_debug(self.debug)
@@ -209,8 +211,8 @@ class GrabQueue:
         if stats != None:
             print('Statistics (exit status / total downloads): ', end='')
 
-            for status in stats['exitstatus']:
-                print(status + ': ' + str(len(stats['exitstatus'][status])), end='; ')
+            for status in stats['returncode']:
+                print(status + ': ' + str(len(stats['returncode'][status])), end='; ')
 
             print('')