diff options
Diffstat (limited to 'grab-queue')
-rwxr-xr-x | grab-queue | 34 |
1 files changed, 18 insertions, 16 deletions
@@ -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('') |