From 9e1409be8ce7abd20dcda5d3414ce453a8c4ee83 Mon Sep 17 00:00:00 2001 From: HafeezOJ <32125238+HafeezOJ@users.noreply.github.com> Date: Wed, 22 Jul 2026 09:49:28 -0700 Subject: [PATCH] Check if folder_strucuture key exists in API result. --- figshare/Article.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/figshare/Article.py b/figshare/Article.py index 57ae72a..8b92c07 100644 --- a/figshare/Article.py +++ b/figshare/Article.py @@ -539,7 +539,8 @@ def __download_files(self, files, version_data, folder_name): folder_for_file = '' # if an item version has no folders, folders dict will be empty - if len(version_data['folder_structure'].keys()) > 0 and str(file['id']) in version_data['folder_structure'].keys(): + if 'folder_structure' in version_data.keys() and len(version_data['folder_structure'].keys()) > 0 and \ + str(file['id']) in version_data['folder_structure'].keys(): folder_for_file = version_data['folder_structure'][str(file['id'])] filepath = os.path.join(article_folder_path, folder_for_file) if not os.path.exists(filepath): @@ -760,7 +761,8 @@ def __check_file_hash(self, files, version_data, folder_path): self.logs.write_log_in_file('info', "Comparing Figshare file hashes against existing local files.", True) for file in files: # if an item version has no folders, folders dict will be empty - if len(version_data['folder_structure'].keys()) > 0 and str(file['id']) in version_data['folder_structure'].keys(): + if 'folder_structure' in version_data.keys() and len(version_data['folder_structure'].keys()) > 0 and \ + str(file['id']) in version_data['folder_structure'].keys(): folder_for_file = version_data['folder_structure'][str(file['id'])] else: folder_for_file = ''