Skip to content

Commit 4640c19

Browse files
committed
folder hierarchy is now properly created
1 parent 19fb46b commit 4640c19

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

scripts/migration/migrate.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -245,22 +245,23 @@ def process_dataset_files(dataset, headers_v1, headers_v2, parent_type, parent_i
245245

246246
for folder_v1 in dataset_v1_folders:
247247
current_folder_hierarchy = folder_v1['name']
248-
# TODO CHECK HERE
249248
add_folder_hierarchy_to_migration_folder(folder_hierarchy=current_folder_hierarchy,
250249
dataset_v2=dataset_v2_id,
251250
folder_id_v2=parent_id,
252251
headers=headers_v2
253252
)
254-
print(f"This is the folder")
255253

254+
all_v2_dataset_folders = get_all_folder_and_subfolders(dataset_v2_id, headers_v2)
256255
files_endpoint = f"{CLOWDER_V1}/api/datasets/{dataset['id']}/files"
257256
files_response = requests.get(files_endpoint, headers=headers_v1)
258257
files_json = files_response.json()
259258
for file in files_json:
260259
if 'folders' in file:
261260
print(f"This file is in a folder")
262-
# TODO get folder
263-
folder_endpoint = f"{CLOWDER_V1}/api/datasets/{dataset['id']}/files"
261+
matching_folder = None
262+
for folder_v2 in all_v2_dataset_folders:
263+
if folder_v2['name'] == file['folders']['name']:
264+
print(f"Upload this file to a folder")
264265
else:
265266
print(f"This file is not in a folder")
266267
# TODO upload it to the folder
@@ -574,13 +575,13 @@ def add_folder_hierarchy(folder_hierarchy, dataset_v2, headers):
574575

575576
def create_folder_if_not_exists_or_get(folder, parent, dataset_v2, headers):
576577
"""Create a folder if it does not exist or return the existing folder."""
577-
current_folders = get_folder_and_subfolders(dataset_v2, headers)
578+
# current_folders = get_folder_and_subfolders(dataset_v2, headers)
578579
current_all_folders = get_all_folder_and_subfolders(dataset_v2, headers)
579580
folder_data = (
580581
{"name": folder, "parent_folder": parent} if parent else {"name": folder}
581582
)
582583

583-
for existing_folder in current_folders:
584+
for existing_folder in current_all_folders:
584585
if existing_folder["name"] == folder:
585586
return existing_folder
586587

@@ -593,9 +594,9 @@ def create_folder_if_not_exists_or_get(folder, parent, dataset_v2, headers):
593594

594595
def get_all_folder_and_subfolders(dataset_id, headers):
595596
"""Retrieve all folders and subfolders in a dataset."""
596-
endpoint = f"{CLOWDER_V2}/api/v2/datasets/{dataset_id}/folders"
597+
endpoint = f"{CLOWDER_V2}/api/v2/datasets/{dataset_id}/all_folders"
597598
response = requests.get(endpoint, headers=headers)
598-
folder_response = response.json()
599+
folder_response = response.json().get("data", [])
599600
return folder_response
600601

601602

0 commit comments

Comments
 (0)