def retrieve_depcheck_db_if_exists(self, data_dir): """ Retrieve zipped CVE DB file as stored on S3 and extract""" if self.object_exists(self.DEPCHECK_DB_ARCHIVE): with tempdir() as archive_dir: archive_path = os.path.join(archive_dir, self.DEPCHECK_DB_ARCHIVE) self.retrieve_file(self.DEPCHECK_DB_ARCHIVE, archive_path) Archive.extract_zip(archive_path, data_dir) return True return False
def retrieve_victims_db_if_exists(self, victims_db_dir): """ Retrieve VICTIMS_DB_ARCHIVE from S3 and extract into victims_db_dir """ if self.object_exists(self.VICTIMS_DB_ARCHIVE): with tempdir() as temp_archive_dir: temp_archive_path = os.path.join(temp_archive_dir, self.VICTIMS_DB_ARCHIVE) self.retrieve_file(self.VICTIMS_DB_ARCHIVE, temp_archive_path) Archive.extract_zip(temp_archive_path, victims_db_dir) return True return False
def retrieve_index_if_exists(self, target_dir): """ Retrieve central-index.zip from S3 and extract into target_dir/central-index""" if self.object_exists(self._INDEX_ARCHIVE): with tempdir() as temp_dir: archive_path = os.path.join(temp_dir, self._INDEX_ARCHIVE) central_index_dir = os.path.join(target_dir, self._INDEX_DIRNAME) self.retrieve_file(self._INDEX_ARCHIVE, archive_path) Archive.extract_zip(archive_path, central_index_dir, mkdest=True) return True return False