From abfa25a4d483b96871c462be716a411fb1727e4e Mon Sep 17 00:00:00 2001 From: Norm Rasmussen Date: Tue, 17 Dec 2024 17:02:46 -0500 Subject: [PATCH] Mostly migration work. Some Api test script updates. --- Scripts/API_Tests/Apikeys.py | 2 +- .../__pycache__/Apikeys.cpython-310.pyc | Bin 1624 -> 1622 bytes Scripts/API_Tests/bulk_invite_and_props.py | 2 +- .../get_courses_w_descriptions_or_props.py | 18 ++++++++++------- .../Migration_tool/create_scorm_activities.py | 19 +++++++++++------- .../Migration_tool/migration_playground.py | 4 ++-- .../utils/__pycache__/apikeys.cpython-310.pyc | Bin 205 -> 253 bytes .../utils/__pycache__/calls.cpython-310.pyc | Bin 1482 -> 1486 bytes Scripts/Migration_tool/utils/calls.py | 2 +- 9 files changed, 28 insertions(+), 19 deletions(-) diff --git a/Scripts/API_Tests/Apikeys.py b/Scripts/API_Tests/Apikeys.py index f05aadf2..a0ed49ad 100644 --- a/Scripts/API_Tests/Apikeys.py +++ b/Scripts/API_Tests/Apikeys.py @@ -5,7 +5,7 @@ FORCEMANAGER = "3ia7mWFkdeALYQFYoB51yh6Ov" TALKSPACE_CORE = "2vfHw6ksqGfT1gUhPM8pXx2wW" WILDHEALTH_EDPORTAL = "HWxj6VTNPwbc3WghFTPzr7SjE" NORMSANDBOX = "SlpQlju219WnWogn94dQUT6Yt" -WALMARTPROD = "6hUfJdAartHTHhHc0WIRZYPWe" +SPARKPROD = "6hUfJdAartHTHhHc0WIRZYPWe" RECAST = "9LISLpq7Ebqot3Xrggn5twKWZ" MIZUNO = "stXNF84HWL8aCGeRjHEo2rJ1U" MIZUNO_RUNNING = "XeRrtgm0BFYPjOjPekVwCdGkW" diff --git a/Scripts/API_Tests/__pycache__/Apikeys.cpython-310.pyc b/Scripts/API_Tests/__pycache__/Apikeys.cpython-310.pyc index c9fd931f85cd082f5386c1cc353b3e0e1223bfa1..c9a7881e8ab4b4473aa0811b0ce1132f2697dc12 100644 GIT binary patch delta 41 wcmcb?bB%{LpO=@50SJz7PfQQo$lJogev30Wz%j^s^DGt~M#iYg%UL%90Qi^;SO5S3 delta 43 xcmcb{bAyLBpO=@50SJl>-O__M^0u&WMsbHb`uI8qg>0U|!o$dTYw}XojR5W*3;X~8 diff --git a/Scripts/API_Tests/bulk_invite_and_props.py b/Scripts/API_Tests/bulk_invite_and_props.py index ee62e295..c77d5fc1 100644 --- a/Scripts/API_Tests/bulk_invite_and_props.py +++ b/Scripts/API_Tests/bulk_invite_and_props.py @@ -11,7 +11,7 @@ HEADERS = { "X-Api-Key": APIKEY, } BASEURL = "https://api.northpass.com/v2/" -IMPORTFILE = "/Users/normrasmussen/Downloads/cisa-112924.csv" +IMPORTFILE = "/Users/normrasmussen/Downloads/cisa-121724.csv" def bulk_invite_and_group(): diff --git a/Scripts/API_Tests/get_courses_w_descriptions_or_props.py b/Scripts/API_Tests/get_courses_w_descriptions_or_props.py index 2d6b2967..62aeb5c8 100644 --- a/Scripts/API_Tests/get_courses_w_descriptions_or_props.py +++ b/Scripts/API_Tests/get_courses_w_descriptions_or_props.py @@ -7,7 +7,7 @@ import requests import pandas as pd import Apikeys -APIKEY = Apikeys.ANTHOLOGY +APIKEY = Apikeys.SPARKPROD COURSES = [] HEADERS = {"accept": "application/json", "X-Api-Key": APIKEY} @@ -23,7 +23,7 @@ def get_course(): while True: count += 1 - url = f"https://api.northpass.com/v2/courses?page={count}" + url = f"https://api2.northpass.com/v2/courses?page={count}" response = requests.get(url, headers=HEADERS) data = response.json() nextlink = data["links"] @@ -36,13 +36,15 @@ def get_course(): name = response["attributes"]["name"] # full_description = response["attributes"]["full_description"] cprop = get_props(uuid) + print(cprop) course_dict = { "id": uuid, "name": name, "status": status, - "product_names": cprop, + # "product_names": cprop, # "full_description": full_description, } + course_dict.update(cprop) print(course_dict) try: @@ -60,13 +62,15 @@ def get_course(): def get_props(uuid): - cprop_url = f"https://api.northpass.com/v2/properties/courses/{uuid}?filter[]" + cprop_url = f"https://api2.northpass.com/v2/properties/courses/{uuid}?filter[]" cprop_resp = requests.get(cprop_url, headers=HEADERS) cdata = cprop_resp.json() + prop_dict = {} for ckey, cval in cdata["data"]["attributes"]["properties"].items(): - if ckey == "product_names_for_course_cards": - return cval + # if ckey == "product_names_for_course_cards": + prop_dict[ckey] = cval + return prop_dict def write_to_csv(courses): @@ -75,7 +79,7 @@ def write_to_csv(courses): Takes on parameter, the list of courses. """ df = pd.DataFrame.from_dict(courses) - df.to_csv("/Users/normrasmussen/Downloads/courses_with_property.csv") + df.to_csv("/Users/normrasmussen/Downloads/Spark_courses_with_property.csv") if __name__ == "__main__": diff --git a/Scripts/Migration_tool/create_scorm_activities.py b/Scripts/Migration_tool/create_scorm_activities.py index 232ede50..363ec545 100644 --- a/Scripts/Migration_tool/create_scorm_activities.py +++ b/Scripts/Migration_tool/create_scorm_activities.py @@ -3,7 +3,6 @@ import requests # JSON Payload for SCORM file baseurl = "https://api.northpass.com" -endpoint = f"{baseUrl}/v2/migration/projects/{projectid}/items/{activityitemid}/activity_resources" # Migration Sandbox Items # projectid = "f33ce6c1-65cf-48a2-96c8-825beee2ff88" @@ -11,9 +10,14 @@ endpoint = f"{baseUrl}/v2/migration/projects/{projectid}/items/{activityitemid}/ # course_uuid = "07b97dea-ca66-4a9c-ae32-ebf3aa7205c2" # Norm's Sandbox Items: -course_uuid = "5bee0361-3161-4d9b-9369-cba4bb4b2d84" +course_uuid = "1de95b11-f2b6-473c-9637-4a6b5f9f98be" +project_uuid = "a1a36fbf-f11e-40c7-add4-89a0ae7bf76c" +item_uuid = "3bec2531-705a-47c1-a1b6-5c68ec955698" +scorm_uuid = "a030164d-00b1-430c-8f41-211416d573e2" +section_uuid = "b6414605-9d43-4f27-9f85-bccd5928bafb" apikey = apikeys.NORMSANDBOX +endpoint = f"{baseurl}/v2/migration/projects/{project_uuid}/items/{item_uuid}/activity_resources" headers = { "X-Api-Key": apikey, "content-type": "application/json" } payload = { "data": [ @@ -23,14 +27,15 @@ payload = { "uuid": "6aeea279-e70e-40b8-98a0-776fa93779d8", "display_name": "SCORM File 38", "data": { - "name": "Introduction to Agile - SCORM", + "name": "Introduction to Agile SCORM", "type": "activities/scorm_sco", "course_id": course_uuid, - "section_id": "72efe0d0-b8ae-48db-ac71-cd2f450ec2e8", + "section_id": section_uuid, "activity_attributes": { - "scorm_sco_id": "a1ee4933-74b9-4d5f-ab88-380db1d04d7a", + "upload_id": scorm_uuid, "description": "Explore Agile as a concept and why it's effective in today's project environments. SCORM file", - "position": 5, + "body": scorm_uuid, + "position": 2 }, }, }, @@ -38,6 +43,6 @@ payload = { ] } -# post_load = requests.post(endpoint, headers=headers, json=payload) +post_load = requests.post(endpoint, headers=headers, json=payload) print(post_load.text) print(post_load.status_code) diff --git a/Scripts/Migration_tool/migration_playground.py b/Scripts/Migration_tool/migration_playground.py index 968032f5..734b23fb 100644 --- a/Scripts/Migration_tool/migration_playground.py +++ b/Scripts/Migration_tool/migration_playground.py @@ -309,10 +309,10 @@ def check_resources(): if __name__ == "__main__": - delete_all_projects() + # delete_all_projects() # read_json_docs() # create_project() - # get_all_projects() + get_all_projects() # get_specific_project() # create_enrollment() # check_resources() diff --git a/Scripts/Migration_tool/utils/__pycache__/apikeys.cpython-310.pyc b/Scripts/Migration_tool/utils/__pycache__/apikeys.cpython-310.pyc index abdae51737325f64dd2944737d47a111607eb41a..71c13eb8a484f13aecd347906aafda2cbe994e59 100644 GIT binary patch delta 161 zcmX@h_?MA4pO=@50SNTgC!_~YQb`g!?9xkZV^6RUkVSb&l&3>=IAfUPST delta 72 zcmey%c$SejpO=@50SK;~yPT#rkynOO4Lu2@fLfqqo0eD Xf5b|LB4(h9BIb$H;@OyhEDi<$hK&$O diff --git a/Scripts/Migration_tool/utils/__pycache__/calls.cpython-310.pyc b/Scripts/Migration_tool/utils/__pycache__/calls.cpython-310.pyc index 08ab93149a0e9acee7393880e78d9306b921960e..b6039adaa6889e42f4c0fa7d938b1d963eb32c42 100644 GIT binary patch delta 32 mcmX@beU6(qpO=@50SMO2OiT~k$Q#Pa%I)VL