def download(self): """Downloads and extract files to disk. Returns ------- tuple A list of keywords. """ download_extract_urls(urls=self.urls, save_dir=self.data_path, extract_data=self.extract_data, verbose=self.verbose)
def test_download_extract_urls__files_exist(mocker): mock_path_exists = mocker.patch("os.path.exists", return_value=True) mock_check_urls = mocker.patch( "dbcollection.utils.url.check_if_url_files_exist", return_value=True) mock_makedirs = mocker.patch("os.makedirs") mock_download = mocker.patch.object(URL, "download") mock_extract_files = mocker.patch( "dbcollection.utils.url.extract_archive_file") urls = ['http://url1.zip', 'http://url2.zip'] save_dir = os.path.join('path', 'to', 'save', 'dir') download_extract_urls(urls, save_dir, True, True) mock_path_exists.assert_called_once_with(save_dir) mock_check_urls.assert_called_once_with(urls, save_dir) assert not mock_makedirs.called
def test_download_extract_urls__download_files_and_savedir_does_not_exist_and_skip_extract_data( mocker): mock_path_exists = mocker.patch("os.path.exists", return_value=False) mock_check_urls = mocker.patch( "dbcollection.utils.url.check_if_url_files_exist") mock_makedirs = mocker.patch("os.makedirs") mock_download = mocker.patch.object(URL, "download", return_value='filename.zip') mock_extract_files = mocker.patch( "dbcollection.utils.url.extract_archive_file") urls = ['http://url1.zip'] save_dir = os.path.join('path', 'to', 'save', 'dir') download_extract_urls(urls, save_dir, False, True) mock_path_exists.assert_called_once_with(save_dir) assert not mock_check_urls.called mock_makedirs.assert_called_once_with(save_dir) mock_download.assert_called_once_with(urls[0], save_dir, True) assert not mock_extract_files.called