Skip to content

Commit b4db0f4

Browse files
committed
should work now
1 parent e885a2a commit b4db0f4

File tree

1 file changed

+11
-31
lines changed

1 file changed

+11
-31
lines changed

scripts/migration/migrate_users.py

Lines changed: 11 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -282,17 +282,11 @@ async def process_users(
282282
es: Elasticsearch = Depends(dependencies.get_elasticsearchclient),
283283
rabbitmq_client: BlockingChannel = Depends(dependencies.get_rabbitmq),
284284
):
285-
# # add folder hierarchy
286-
# print('created a dataset')
287-
# result = await add_folder_hierarchy('/root/child/subchild', test_datast_id, current_headers=clowder_headers_v2)
288-
#
289285
print("We create a v2 admin user")
290-
# NEW_ADMIN_KEY_V2 = create_admin_user()
291-
# NEW_ADMIN_KEY_V2 = 'eyJ1c2VyIjoiYUBhLmNvbSIsImtleSI6IjlZdWxlcmxhbDlyODF5WDYwTVE5dVEifQ.0ygTBVGeStf7zUl7CBq7jDyc4ZI'
292-
# print('here')
286+
NEW_ADMIN_KEY_V2 = create_admin_user()
293287
users_v1 = get_clowder_v1_users()
294288
for user_v1 in users_v1:
295-
print(user_v1)
289+
print("migrating v1 user", user_v1)
296290
id = user_v1['id']
297291
email = user_v1['email']
298292
firstName = user_v1['firstName']
@@ -301,46 +295,31 @@ async def process_users(
301295
id_provider = user_v1['identityProvider']
302296
if '[Local Account]' in user_v1['identityProvider']:
303297
# get the v2 users
304-
# i create a user account in v2 with this username
298+
# create a user account in v2 with this username
305299
if email != "[email protected]":
306300
user_v1_datasets = get_clowder_v1_user_datasets(user_id=id)
307301
# TODO check if there is already a local user
308-
# user_v2 = get_clowder_v2_user_by_name(email)
309-
# user_v2 = create_local_user(user_v1)
310-
user_v2 = 'eyJ1c2VyIjoiYkBiLmNvbSIsImtleSI6ImkyNmJ6MXdPNVpiejJYQTA5ZlRMbXcifQ.JuLZJ6zOBj6fBXoEmX97cs_bx5c'
311-
# # user_v2_api_key = 'eyJ1c2VyIjoiYkBiLmNvbSIsImtleSI6Ik5yNUd1clFmNGhTZFd5ZEVlQ2FmSEEifQ.FTvhQrDgvmSgnwBGwafRNAXkxH8'
302+
user_v2 = create_local_user(user_v1)
312303
user_v2_api_key = user_v2
313-
# user_v2_api_key = 'eyJ1c2VyIjoiYkBiLmNvbSIsImtleSI6ImRvLUQtcG5kVWg1a3ZQVWVtWWNFTFEifQ.i_0jvyHKX0UmHrcps_pH4N2nru0'
314304
user_base_headers_v2 = {'X-API-key': user_v2_api_key}
315305
user_headers_v2 = {**user_base_headers_v2, 'Content-type': 'application/json',
316306
'accept': 'application/json'}
317307
for dataset in user_v1_datasets:
318-
print('creating a dataset in v2')
308+
print('creating a dataset in v2', dataset['id'], dataset['name'])
319309
dataset_v2_id = await create_v2_dataset(user_base_headers_v2, dataset, email)
320-
# dataset_v2_id = '665dfe7649c5719830e2c0e0'
321310
folders = await add_dataset_folders(dataset, dataset_v2_id, user_headers_v2)
322-
print('we got folders')
311+
print("Created folders in new dataset")
312+
323313
all_dataset_folders = await get_folder_and_subfolders(dataset_id=dataset_v2_id, folder=None, current_headers=user_headers_v2)
324314
dataset_files_endpoint = CLOWDER_V1 + 'api/datasets/' + dataset['id'] + '/files?=superAdmin=true'
325-
# move file stuff here
326-
print('we got a dataset id')
327-
328315
r_files = requests.get(dataset_files_endpoint, headers=clowder_headers_v1, verify=False)
329316
files_result = r_files.json()
330-
print('got a user')
331-
print('BEFORE FILES')
332-
files_with_folders = []
333-
for file in files_result:
334-
if 'folders' in file:
335-
print('a folder')
336-
files_with_folders.append(file)
337317
for file in files_result:
338318
file_folder = None
339319
file_id = file['id']
340320
filename = file['filename']
341321
if 'folders' in file:
342322
file_folder = file['folders']
343-
file_folder_name = file['folders']['name']
344323
# TODO download the file from v1 using api routes
345324
v1_download_url = CLOWDER_V1 + 'api/files/' + file_id + '?superAdmin=true'
346325
print('downloading file', filename)
@@ -363,8 +342,9 @@ async def process_users(
363342
dataset_file_upload_endoint = CLOWDER_V2 + 'api/v2/datasets/' + dataset_v2_id + '/files'
364343
response = requests.post(dataset_file_upload_endoint, files=file_data,
365344
headers=user_base_headers_v2)
366-
367-
result = response.json()
345+
if response.status_code == 200:
346+
result = response.json()
347+
print("added file", result)
368348
try:
369349
os.remove(filename)
370350
except Exception as e:
@@ -373,7 +353,7 @@ async def process_users(
373353
print('done with file upload')
374354

375355
else:
376-
print("not a local account")
356+
print("not a local account, not migrated at this time")
377357

378358
asyncio.run(process_users())
379359

0 commit comments

Comments
 (0)