def _download_tars(self, check_integrity=True): if check_integrity: check_pkgs_integrity(self.retrieved_packages, self.logger, self.ftp) print >> sys.stdout, "\nDownloading %i tar packages." \ % (len(self.retrieved_packages)) # Create progrss bar p_bar = progress_bar(len(self.files_list)) # Print stuff sys.stdout.write(p_bar.next()) sys.stdout.flush() for filename in self.retrieved_packages.iterkeys(): self.logger.info("Downloading tar package: %s" % (filename,)) unpack_path = join(CFG_TAR_FILES, filename) self.retrieved_packages_unpacked.append(unpack_path) try: tar_file = open(unpack_path, 'wb') self.ftp.retrbinary('RETR %s' % filename, tar_file.write) tar_file.close() except: register_exception(alert_admin=True, prefix="Elsevier package download faild.") self.logger.error("Error downloading tar file: %s" % (filename,)) print >> sys.stdout, "\nError downloading %s file!" % (filename,) print >> sys.stdout, sys.exc_info() # Print stuff sys.stdout.write(p_bar.next()) sys.stdout.flush() return self.retrieved_packages_unpacked
def _download_tars(self, check_integrity=True): self.retrieved_packages_unpacked = [] # Prints stuff if self.files_list: if check_integrity: check_pkgs_integrity(self.files_list, self.logger, self.ftp) print >> sys.stdout, "\nDownloading %i tar packages." \ % (len(self.files_list)) # Create progrss bar p_bar = progress_bar(len(self.files_list)) # Print stuff sys.stdout.write(p_bar.next()) sys.stdout.flush() for filename in self.files_list: self.logger.info("Downloading tar package: %s" % (filename,)) unpack_path = join(CFG_TAR_FILES, filename) self.retrieved_packages_unpacked.append(unpack_path) try: tar_file = open(unpack_path, 'wb') self.ftp.retrbinary('RETR %s' % filename, tar_file.write) tar_file.close() except: self.logger.error("Error downloading tar file: %s" % (filename,)) print >> sys.stdout, "\nError downloading %s file!" % (filename,) print >> sys.stdout, sys.exc_info() # Print stuff sys.stdout.write(p_bar.next()) sys.stdout.flush() return self.retrieved_packages_unpacked else: print >> sys.stdout, "No new packages to download." self.logger.info("No new packages to download.") raise NoNewFiles