@@ -48,9 +48,10 @@ def email_user_new_login(user_email):
4848 print (f"Login to the new Clowder instance: { user_email } " )
4949
5050
51- def generate_user_api_key (user , password ):
51+ def generate_user_api_key (user , password = DEFAULT_PASSWORD ):
5252 """Generate an API key for a user."""
5353 login_endpoint = f"{ CLOWDER_V2 } /api/v2/login"
54+ user .update ({"password" : password })
5455 response = requests .post (login_endpoint , json = user )
5556 token = response .json ().get ("token" )
5657 current_headers = {"Authorization" : f"Bearer { token } " }
@@ -104,7 +105,7 @@ def add_v1_space_members_to_v2_group(space, group_id, headers):
104105 for member in space_members :
105106 member_email = member ["email" ]
106107 endpoint = f"{ CLOWDER_V2 } /api/v2/groups/{ group_id } /add/{ member_email } "
107- response = requests .post (
108+ requests .post (
108109 endpoint ,
109110 headers = headers ,
110111 )
@@ -127,7 +128,7 @@ def create_local_user(user_v1):
127128 if existing_user .get ("email" ) == user_v1 ["email" ]:
128129 print (f"User { user_v1 ['email' ]} already exists in Clowder v2." )
129130 return generate_user_api_key (
130- user_v1 , DEFAULT_PASSWORD
131+ existing_user , DEFAULT_PASSWORD
131132 ) # Return the existing user's API key
132133
133134 # User does not exist, proceed to create a new user
@@ -264,11 +265,11 @@ def download_and_upload_file(file, all_dataset_folders, dataset_v2_id, headers_v
264265 dataset_file_upload_endpoint = f"{ CLOWDER_V2 } /api/v2/datasets/{ dataset_v2_id } /files"
265266 if matching_folder :
266267 dataset_file_upload_endpoint += f"Multiple?folder_id={ matching_folder ['id' ]} "
267-
268- with open (filename , "rb" ) as file_data :
269- response = requests .post (
270- dataset_file_upload_endpoint , files = {"file" : file_data }, headers = headers_v2
271- )
268+ file_exists = os . path . exists ( filename )
269+ # with open(filename, "rb") as file_data:
270+ response = requests .post (
271+ dataset_file_upload_endpoint , headers = headers_v2 , files = {"file" : open ( filename , "rb" )}
272+ )
272273
273274 if response .status_code == 200 :
274275 print (f"Uploaded file: { filename } to dataset { dataset_v2_id } " )
@@ -287,6 +288,9 @@ def process_user_and_resources(user_v1, USER_MAP, DATASET_MAP):
287288 user_v1_datasets = get_clowder_v1_user_datasets (user_id = user_v1 ["id" ])
288289 user_v2_api_key = create_local_user (user_v1 )
289290 USER_MAP [user_v1 ["id" ]] = user_v2_api_key
291+ base_user_headers_v2 = {
292+ "x-api-key" : user_v2_api_key
293+ }
290294 user_headers_v2 = {
291295 "x-api-key" : user_v2_api_key ,
292296 "content-type" : "application/json" ,
@@ -313,7 +317,7 @@ def process_user_and_resources(user_v1, USER_MAP, DATASET_MAP):
313317
314318 for file in files_result :
315319 download_and_upload_file (
316- file , all_dataset_folders , dataset_v2_id , user_headers_v2
320+ file , all_dataset_folders , dataset_v2_id , base_user_headers_v2
317321 )
318322 return [USER_MAP , DATASET_MAP ]
319323
@@ -352,7 +356,8 @@ def process_user_and_resources(user_v1, USER_MAP, DATASET_MAP):
352356 print (f"Migrated user { user_v1 ['email' ]} and associated resources." )
353357 else :
354358 print (f"Skipping user { user_v1 ['email' ]} as it is not a local account." )
355- print (f"Now migrating spaces" )
359+
360+ print ("Now migrating spaces." )
356361 for user_v1 in users_v1 :
357362 print (f"Migrating spaces of user { user_v1 ['email' ]} " )
358363 user_v1_spaces = get_clowder_v1_user_spaces (user_v1 )
0 commit comments