diff --git a/Scripts/Migration_tool/Luma_mass_completions/data.csv b/Scripts/Migration_tool/Luma_mass_completions/data.csv index aa56ce04..6cb5cad7 100644 --- a/Scripts/Migration_tool/Luma_mass_completions/data.csv +++ b/Scripts/Migration_tool/Luma_mass_completions/data.csv @@ -1,3 +1,23 @@ Completion Date,Email Address,Course Name -2024-04-19,norm@rsmsn.co,This is War -2024-04-20,norm@rsmsn.co,This is War +2019-01-11,kmillard@lumafintech.com,MassMutual Ascend: American Freedom Stars&Stripes5 +2019-01-11,kmillard@lumafintech.com,MassMutual Ascend: American Freedom Aspire Series +2019-01-11,kmillard@lumafintech.com,MassMutual Ascend: Assurance Select Series +2021-07-15,emma@wedbush.com,Prosperity Life Group - S.USA - Safe Solution Agent Training - TD Bank +2019-11-06,emma@wedbush.com,Prosperity Life Group - SBLI - Safe Solution Agent Training - TD Bank (New York) +2021-12-01,emma@wedbush.com,Prosperity Life Group - S.USA - Select Choice Plus Agent Training +2023-04-17,emma@wedbush.com,Prosperity Life Group - SBLI - Select Choice Plus Agent Training (NY & NH Only) +2021-07-07,emma@wedbush.com,The Standard - Product Training for TD Bank +2021-07-15,emma@wedbush.com,F&G - SecureBuilder Training +2021-07-15,emma@wedbush.com,F&G - SecureIncome 7 Training +2021-07-07,emma@wedbush.com,F&G - Secure MYGA Training (Combined) +2024-04-10,emma@wedbush.com,F&G - Secure Landing Product Training +2021-07-07,emma@wedbush.com,MassMutual Ascend: Assurance Select Series +2021-07-07,emma@wedbush.com,MassMutual Ascend: American Freedom Aspire Series +2021-07-07,emma@wedbush.com,MassMutual Ascend: American Freedom Stars&Stripes5 +2023-06-26,emma@wedbush.com,Western & Southern - IncomeSource January 2023 +2023-06-26,emma@wedbush.com,Western & Southern - Indextra (Feb 2023) +2023-06-26,emma@wedbush.com,Western & Southern - W&S Deferred Income Annuity (IncomeSource Select) Jan 2023 +2023-06-26,emma@wedbush.com,Western Southern - W&S Single Premium Deferred Annuity (SmartSelect) (January 2023) +2016-09-02,emma@wedbush.com,Symetra - Advantage Income Immediate Annuity +2022-11-17,emma@wedbush.com,Symetra - Edge Elite Enhanced Fixed Indexed +2022-11-17,emma@wedbush.com,Symetra - Select Pro and Select Max diff --git a/Scripts/Migration_tool/Luma_mass_completions/mark_course_as_complete.py b/Scripts/Migration_tool/Luma_mass_completions/mark_course_as_complete.py index f3833afc..8e6b4d6e 100644 --- a/Scripts/Migration_tool/Luma_mass_completions/mark_course_as_complete.py +++ b/Scripts/Migration_tool/Luma_mass_completions/mark_course_as_complete.py @@ -13,6 +13,7 @@ import manage_csv from datetime import datetime, timedelta import uuid import json +from urllib.parse import quote baseurl = calls.BASEURL @@ -78,12 +79,14 @@ def get_people(email): def get_courses(course): - url = f"{baseurl}/courses?filter[name][eq]={course}" + print(f"LOOKING FOR COURSE {course}") + encoded_course = quote(course) + url = f"{baseurl}/courses?filter[name][eq]={encoded_course}" returned = calls.get(url) for items in returned["data"]: course_uuid = items["id"] course_name = items["attributes"]["name"] - print(f"Cool. Course {course_uuid} exists.") + print(f"Cool. Course {course_uuid} - {course_name} exists.") return course_uuid @@ -148,9 +151,6 @@ def create_enrollment_payload(course_uuid, learner_uuid, date_str): } minienroll_loads.append(mini_enrollment_payload) enrollment_payload = {"data": minienroll_loads } - with open("payload.json", "w") as f: - f.write(str(enrollment_payload)) - print(enrollment_payload) return enrollment_payload @@ -226,4 +226,4 @@ if __name__ == "__main__": print(items) print(probject) get_data() - start_migration() + # start_migration() diff --git a/Scripts/Migration_tool/Luma_mass_completions/mark_course_two.py b/Scripts/Migration_tool/Luma_mass_completions/mark_course_two.py new file mode 100644 index 00000000..73d59506 --- /dev/null +++ b/Scripts/Migration_tool/Luma_mass_completions/mark_course_two.py @@ -0,0 +1,258 @@ +""" +Order of operations: +1. Get input of people and course +2. Create Project +3. Create Item with Course_attempt type +4. Create Course Attempt Resource with the same type. +5. Start Migration. +""" + +from sys import argv +from utils import calls +import manage_csv +from datetime import datetime, timedelta +import uuid +from urllib.parse import quote + +baseurl = calls.BASEURL + +probject = {} +items = {} +courses = {} +people = {} +miniattempt_loads = [] +minienroll_loads = [] + + +item_types = [ + "courses", + "sections", + "activities", + "people", + "enrollment_resources", + "course_attempts", + "quiz_attempts", + "certificates", + "learning_path_attempts", +] +project_name = argv[1] + +def get_data(): + + print() + print("Getting Data") + + df = manage_csv.import_as_dataframe() + df.columns = df.columns.str.lower() + # row_iterator = df.iterrows() + # _, last = next(row_iterator) + for i, row in df.iterrows(): + email = row["email address"] + course = row["course name"] + date = row["completion date"] + people_tuple = get_people(email) + if people_tuple is None: + pass + else: + course_uuid = get_courses(course) + attempt_payload = create_attempt_payload(course_uuid, people_tuple[0], date) + enrollment_payload = create_enrollment_payload( + course_uuid, people_tuple[0], date + ) + + create_attempt_resource(attempt_payload) + print() + print(f"On to Enrollments resource...") + print() + create_enrollment_resource(enrollment_payload) + + + + +def get_people(email): + print() + print(f"Getting People for {email}") + url = f"{baseurl}/people?filter[email][eq]={email}" + returned = calls.get(url) + if returned["data"] == []: + print("I couldn't find this user.") + else: + for api_items in returned["data"]: + if api_items["attributes"]["registration_status"] == "activated": + single_uuid = api_items["id"] + single_email = api_items["attributes"]["email"] + print(f"Cool. Person {single_uuid} exists.") + return (single_uuid, single_email) + else: + print(f"Person not found or activated. {email}") + + +def get_courses(course): + print() + print(f"Getting Courses for {course}") + encoded_course = quote(course) + url = f"{baseurl}/courses?filter[name][eq]={encoded_course}" + returned = calls.get(url) + for items in returned["data"]: + course_uuid = items["id"] + course_name = items["attributes"]["name"] + print(f"Cool. Course {course_uuid} exists.") + return course_uuid + + +def create_attempt_payload(course_uuid, learner_uuid, date_str): + print() + print(f"Creating Course Attempt Payload") + now = datetime.now() + date_format = "%Y-%m-%d %H:%M:%S" + if type(date_str) == str: + if len(date_str) >= 8 and len(date_str) <= 10: + date_str = f"{date_str} 00:00:00" + formatted_date = datetime.strptime(date_str, date_format) + formatted_date = str(formatted_date) + else: + formatted_date = datetime.strptime(date_str, date_format) + formatted_date = str(formatted_date) + mini_attempt_payload = { + "type": "course_attempt_resources", + "attributes": { + "uuid": str(uuid.uuid4()), + "display_name": f"{learner_uuid}s Attempt for course {course_uuid}", + "data": { + "learner_id": f"{learner_uuid}", + "course_id": f"{course_uuid}", + "progress": 100, + "enrolled_at": formatted_date, + "started_at": formatted_date, + "completed_at": formatted_date, + "completed_activities": [ + {"id": str(uuid.uuid4()), "completed_at": formatted_date} + ], + }, + }, + } + miniattempt_loads.append(mini_attempt_payload) + attempt_payload = { "data": miniattempt_loads } + #print(attempt_payload) + return attempt_payload + + +def create_enrollment_payload(course_uuid, learner_uuid, date_str): + print() + print(f"Creating Course Enrollment Payload") + now = datetime.now() + date_format = "%Y-%m-%d %H:%M:%S" + if type(date_str) == str: + if len(date_str) >= 8 and len(date_str) <= 10: + date_str = f"{date_str} 00:00:00" + formatted_date = datetime.strptime(date_str, date_format) + formatted_date = str(formatted_date) + else: + formatted_date = datetime.strptime(date_str, date_format) + formatted_date = str(formatted_date) + mini_enrollment_payload = { + "type": "enrollment_resource", + "attributes": { + "uuid": str(uuid.uuid4()), + "display_name": f"{learner_uuid}s enrollment for course {course_uuid}", + "data": { + "enrolled_at": formatted_date, + "course_id": course_uuid, + "learner_id": learner_uuid + } + } + } + minienroll_loads.append(mini_enrollment_payload) + enrollment_payload = {"data": minienroll_loads } + with open("payload.json", "w") as f: + f.write(str(enrollment_payload)) + #print(enrollment_payload) + return enrollment_payload + + +def create_enrollment_resource(enrollment_payload): + print() + print("Creating Enrollment Resource") + item = items["enrollments"] + enrollment_url = f"{baseurl}/migration/projects/{list(probject.values())[0]}/items/{item}/enrollment_resources" + print(enrollment_url) + #print(f"Enrollment Payload is: {enrollment_payload}") + enrollment_call = calls.post(enrollment_url, enrollment_payload) + print( + f"In trying the enrollment resource, the following code was returned: {enrollment_call.status_code}" + ) + + +def create_attempt_resource(attempt_payload): + print() + print("Creating Attempt Resource") + item = items["course_attempts"] + attempt_url = f"{baseurl}/migration/projects/{list(probject.values())[0]}/items/{item}/course_attempt_resources" + print(attempt_url) + #print(f"Attempt Payload is: {attempt_payload}") + attempt_call = calls.post(attempt_url, attempt_payload) + print(f"Attempt resource created successfully with status code: {attempt_call.status_code}") + # Status code 201 means the resource was created successfully + if attempt_call.status_code != 201: + print(f"Warning: Unexpected status code: {attempt_call.status_code}") + +def create_project(project_name): + print() + print("Creating Project") + proj_payload = { + "data": { + "type": "migration_projects", + "attributes": {"name": project_name}, + } + } + proj_full_url = f"{baseurl}/migration/projects" + tmp_p = calls.post(proj_full_url, proj_payload) + probject[project_name] = tmp_p["data"]["id"] + print(f"Created Project: {probject}") + + +def create_item(i_type): + print() + print("Creating Item") + # Item Type Options: 'courses', 'sections', 'activities', 'people', 'enrollments', 'course_attempts', 'quiz_attempts', 'certificates', 'learning_path_attempts' + item_full_url = f"{baseurl}/migration/projects/{list(probject.values())[0]}/items" + item_type = i_type + print(item_type) + item_payload = { + "data": { + "attributes": {"type": item_type}, + } + } + # "type": "migration_items", + item_return = calls.post(item_full_url, item_payload) + items[item_type] = item_return["data"]["id"] + item_id = item_return["data"]["id"] + print(f"Created Item ID: { items[item_type] }") + return item_id + + +def start_migration(): + print() + print("Starting Migration Function") + start_url = ( + f"{baseurl}/migration/projects/{list(probject.values())[0]}/start_migration" + ) + empty = "" + mig = calls.post(start_url, empty) + print(mig.text) + print(mig) + + +if __name__ == "__main__": + create_project(project_name) + create_item("course_attempts") + create_item("enrollments") + print() + print("Items: ") + print(items) + print() + print("Project: ") + print(probject) + get_data() + #start_migration() + print(f"Done.") diff --git a/Scripts/Migration_tool/Luma_mass_completions/payload.json b/Scripts/Migration_tool/Luma_mass_completions/payload.json index c7426344..ef4ee82c 100644 --- a/Scripts/Migration_tool/Luma_mass_completions/payload.json +++ b/Scripts/Migration_tool/Luma_mass_completions/payload.json @@ -1 +1 @@ -{'data': [{'type': 'enrollment_resource', 'attributes': {'uuid': '70e69e72-b666-4d42-8f17-f86c635a9425', 'display_name': '101d891d-f145-4cb2-8f7f-f0d8a90a743es enrollment for course e8b40b77-26a2-468e-bf07-6c93259fe7e9', 'data': {'enrolled_at': '2024-04-19 00:00:00', 'course_id': 'e8b40b77-26a2-468e-bf07-6c93259fe7e9', 'learner_id': '101d891d-f145-4cb2-8f7f-f0d8a90a743e'}}}, {'type': 'enrollment_resource', 'attributes': {'uuid': 'c6679c4e-19e8-43ba-8666-5e48d5c9020a', 'display_name': '101d891d-f145-4cb2-8f7f-f0d8a90a743es enrollment for course e8b40b77-26a2-468e-bf07-6c93259fe7e9', 'data': {'enrolled_at': '2024-04-20 00:00:00', 'course_id': 'e8b40b77-26a2-468e-bf07-6c93259fe7e9', 'learner_id': '101d891d-f145-4cb2-8f7f-f0d8a90a743e'}}}]} \ No newline at end of file +{'data': [{'type': 'enrollment_resource', 'attributes': {'uuid': 'a8eba855-ed68-4d1f-b83e-d4ecb4309151', 'display_name': 'b5ed6623-bd8f-4901-a4f0-3afa88660504s enrollment for course 5e35d91f-cdfe-4bc9-9cc8-e3378ec37f17', 'data': {'enrolled_at': '2019-01-11 00:00:00', 'course_id': '5e35d91f-cdfe-4bc9-9cc8-e3378ec37f17', 'learner_id': 'b5ed6623-bd8f-4901-a4f0-3afa88660504'}}}, {'type': 'enrollment_resource', 'attributes': {'uuid': '27516066-44bf-498f-ad8d-b95be5c2ad3c', 'display_name': 'b5ed6623-bd8f-4901-a4f0-3afa88660504s enrollment for course dad5ddc1-e962-4ac6-b2e8-38ec56d4da35', 'data': {'enrolled_at': '2019-01-11 00:00:00', 'course_id': 'dad5ddc1-e962-4ac6-b2e8-38ec56d4da35', 'learner_id': 'b5ed6623-bd8f-4901-a4f0-3afa88660504'}}}, {'type': 'enrollment_resource', 'attributes': {'uuid': '53be5479-06f2-4a1d-9bcc-2936de3738fa', 'display_name': 'b5ed6623-bd8f-4901-a4f0-3afa88660504s enrollment for course ecb6ecce-bf94-417f-ad46-bf00e4d043ba', 'data': {'enrolled_at': '2019-01-11 00:00:00', 'course_id': 'ecb6ecce-bf94-417f-ad46-bf00e4d043ba', 'learner_id': 'b5ed6623-bd8f-4901-a4f0-3afa88660504'}}}, {'type': 'enrollment_resource', 'attributes': {'uuid': '8a104cc4-a2df-401a-bc2a-52bf6451e267', 'display_name': 'd2d94536-fc02-4570-8e25-f65cb9f2525ds enrollment for course 2facd28d-21ce-4341-98fa-e2f38e623e59', 'data': {'enrolled_at': '2021-07-15 00:00:00', 'course_id': '2facd28d-21ce-4341-98fa-e2f38e623e59', 'learner_id': 'd2d94536-fc02-4570-8e25-f65cb9f2525d'}}}, {'type': 'enrollment_resource', 'attributes': {'uuid': '190d4d1a-7659-4c51-9a33-6ad38ec0091f', 'display_name': 'd2d94536-fc02-4570-8e25-f65cb9f2525ds enrollment for course 02aff3c2-fbed-49c8-95cb-ce23d0b564d3', 'data': {'enrolled_at': '2019-11-06 00:00:00', 'course_id': '02aff3c2-fbed-49c8-95cb-ce23d0b564d3', 'learner_id': 'd2d94536-fc02-4570-8e25-f65cb9f2525d'}}}, {'type': 'enrollment_resource', 'attributes': {'uuid': '98c42b62-1cd1-48f0-a761-fe5ae7451654', 'display_name': 'd2d94536-fc02-4570-8e25-f65cb9f2525ds enrollment for course 427bd79e-6177-4e5f-975d-a4b2f29eb45f', 'data': {'enrolled_at': '2021-12-01 00:00:00', 'course_id': '427bd79e-6177-4e5f-975d-a4b2f29eb45f', 'learner_id': 'd2d94536-fc02-4570-8e25-f65cb9f2525d'}}}, {'type': 'enrollment_resource', 'attributes': {'uuid': '51c33c0b-8572-41e1-b4ca-5e931fdc0f37', 'display_name': 'd2d94536-fc02-4570-8e25-f65cb9f2525ds enrollment for course ef022142-4beb-4e26-8a24-bd438511824c', 'data': {'enrolled_at': '2023-04-17 00:00:00', 'course_id': 'ef022142-4beb-4e26-8a24-bd438511824c', 'learner_id': 'd2d94536-fc02-4570-8e25-f65cb9f2525d'}}}, {'type': 'enrollment_resource', 'attributes': {'uuid': 'e3c67cad-5fae-4209-8fd4-1696b46efd56', 'display_name': 'd2d94536-fc02-4570-8e25-f65cb9f2525ds enrollment for course f7c4fa4d-2bc0-4d36-872a-acf5fd21dd64', 'data': {'enrolled_at': '2021-07-07 00:00:00', 'course_id': 'f7c4fa4d-2bc0-4d36-872a-acf5fd21dd64', 'learner_id': 'd2d94536-fc02-4570-8e25-f65cb9f2525d'}}}, {'type': 'enrollment_resource', 'attributes': {'uuid': '1fa589c4-e69c-4333-b74f-8d904c4eed52', 'display_name': 'd2d94536-fc02-4570-8e25-f65cb9f2525ds enrollment for course 48b75b03-f852-456d-a100-0dd63e86b871', 'data': {'enrolled_at': '2021-07-15 00:00:00', 'course_id': '48b75b03-f852-456d-a100-0dd63e86b871', 'learner_id': 'd2d94536-fc02-4570-8e25-f65cb9f2525d'}}}, {'type': 'enrollment_resource', 'attributes': {'uuid': '983d2862-4bda-45b4-a0e7-b341da6b2b81', 'display_name': 'd2d94536-fc02-4570-8e25-f65cb9f2525ds enrollment for course bd8a1ba5-49e6-496f-ac9b-6fe0f3e267ba', 'data': {'enrolled_at': '2021-07-15 00:00:00', 'course_id': 'bd8a1ba5-49e6-496f-ac9b-6fe0f3e267ba', 'learner_id': 'd2d94536-fc02-4570-8e25-f65cb9f2525d'}}}, {'type': 'enrollment_resource', 'attributes': {'uuid': 'cd7114a6-f941-4b3a-92f0-f5c33805fea1', 'display_name': 'd2d94536-fc02-4570-8e25-f65cb9f2525ds enrollment for course f000924f-771b-47dd-bbcc-3fa2d0bfde00', 'data': {'enrolled_at': '2021-07-07 00:00:00', 'course_id': 'f000924f-771b-47dd-bbcc-3fa2d0bfde00', 'learner_id': 'd2d94536-fc02-4570-8e25-f65cb9f2525d'}}}, {'type': 'enrollment_resource', 'attributes': {'uuid': 'a989b1be-9307-4d20-98dd-13804f6e40a2', 'display_name': 'd2d94536-fc02-4570-8e25-f65cb9f2525ds enrollment for course 712bf683-2e9c-4621-b5ac-0215ccc49ea4', 'data': {'enrolled_at': '2024-04-10 00:00:00', 'course_id': '712bf683-2e9c-4621-b5ac-0215ccc49ea4', 'learner_id': 'd2d94536-fc02-4570-8e25-f65cb9f2525d'}}}, {'type': 'enrollment_resource', 'attributes': {'uuid': '8f29236c-91ec-4f55-aa64-e529a19643fd', 'display_name': 'd2d94536-fc02-4570-8e25-f65cb9f2525ds enrollment for course ecb6ecce-bf94-417f-ad46-bf00e4d043ba', 'data': {'enrolled_at': '2021-07-07 00:00:00', 'course_id': 'ecb6ecce-bf94-417f-ad46-bf00e4d043ba', 'learner_id': 'd2d94536-fc02-4570-8e25-f65cb9f2525d'}}}, {'type': 'enrollment_resource', 'attributes': {'uuid': 'bd0e9ef3-1ef8-414a-b590-5d6732805bee', 'display_name': 'd2d94536-fc02-4570-8e25-f65cb9f2525ds enrollment for course dad5ddc1-e962-4ac6-b2e8-38ec56d4da35', 'data': {'enrolled_at': '2021-07-07 00:00:00', 'course_id': 'dad5ddc1-e962-4ac6-b2e8-38ec56d4da35', 'learner_id': 'd2d94536-fc02-4570-8e25-f65cb9f2525d'}}}, {'type': 'enrollment_resource', 'attributes': {'uuid': 'c23937ec-d226-4c85-a349-510e151453ed', 'display_name': 'd2d94536-fc02-4570-8e25-f65cb9f2525ds enrollment for course 5e35d91f-cdfe-4bc9-9cc8-e3378ec37f17', 'data': {'enrolled_at': '2021-07-07 00:00:00', 'course_id': '5e35d91f-cdfe-4bc9-9cc8-e3378ec37f17', 'learner_id': 'd2d94536-fc02-4570-8e25-f65cb9f2525d'}}}, {'type': 'enrollment_resource', 'attributes': {'uuid': 'ddf2c7b9-ba85-4ac5-a411-703ab88cfaad', 'display_name': 'd2d94536-fc02-4570-8e25-f65cb9f2525ds enrollment for course 290f16e7-68d3-48aa-8939-0a1e3de9ba1d', 'data': {'enrolled_at': '2023-06-26 00:00:00', 'course_id': '290f16e7-68d3-48aa-8939-0a1e3de9ba1d', 'learner_id': 'd2d94536-fc02-4570-8e25-f65cb9f2525d'}}}, {'type': 'enrollment_resource', 'attributes': {'uuid': '4551f236-72f0-47d4-8ac9-33233f8a86c6', 'display_name': 'd2d94536-fc02-4570-8e25-f65cb9f2525ds enrollment for course cf6fc769-d9a0-4408-b23e-28f52508b4f4', 'data': {'enrolled_at': '2023-06-26 00:00:00', 'course_id': 'cf6fc769-d9a0-4408-b23e-28f52508b4f4', 'learner_id': 'd2d94536-fc02-4570-8e25-f65cb9f2525d'}}}, {'type': 'enrollment_resource', 'attributes': {'uuid': 'e4403016-4fd7-48f9-ab69-55a4d4746ac6', 'display_name': 'd2d94536-fc02-4570-8e25-f65cb9f2525ds enrollment for course 7d6d1537-b3d7-4a29-94de-411ed7db70f2', 'data': {'enrolled_at': '2023-06-26 00:00:00', 'course_id': '7d6d1537-b3d7-4a29-94de-411ed7db70f2', 'learner_id': 'd2d94536-fc02-4570-8e25-f65cb9f2525d'}}}, {'type': 'enrollment_resource', 'attributes': {'uuid': 'fe7297be-6427-453a-89fa-9191008cfdca', 'display_name': 'd2d94536-fc02-4570-8e25-f65cb9f2525ds enrollment for course 35de5a18-79a2-435c-9a13-5de184509a71', 'data': {'enrolled_at': '2023-06-26 00:00:00', 'course_id': '35de5a18-79a2-435c-9a13-5de184509a71', 'learner_id': 'd2d94536-fc02-4570-8e25-f65cb9f2525d'}}}, {'type': 'enrollment_resource', 'attributes': {'uuid': '488e4fcc-1a65-4bc3-b712-47bdf1e8e9d9', 'display_name': 'd2d94536-fc02-4570-8e25-f65cb9f2525ds enrollment for course d553e9f8-2d80-469d-a1c9-12da30e4ad38', 'data': {'enrolled_at': '2016-09-02 00:00:00', 'course_id': 'd553e9f8-2d80-469d-a1c9-12da30e4ad38', 'learner_id': 'd2d94536-fc02-4570-8e25-f65cb9f2525d'}}}, {'type': 'enrollment_resource', 'attributes': {'uuid': '7924b08c-b7d7-4b05-9a6f-f3af980b455c', 'display_name': 'd2d94536-fc02-4570-8e25-f65cb9f2525ds enrollment for course b38db521-4c43-4575-b7a5-e629903e593d', 'data': {'enrolled_at': '2022-11-17 00:00:00', 'course_id': 'b38db521-4c43-4575-b7a5-e629903e593d', 'learner_id': 'd2d94536-fc02-4570-8e25-f65cb9f2525d'}}}, {'type': 'enrollment_resource', 'attributes': {'uuid': '1e39e2f4-f6cd-4aa3-9756-0fb3c84fb256', 'display_name': 'd2d94536-fc02-4570-8e25-f65cb9f2525ds enrollment for course a024088a-3fd2-4bc6-8718-a50dd257d974', 'data': {'enrolled_at': '2022-11-17 00:00:00', 'course_id': 'a024088a-3fd2-4bc6-8718-a50dd257d974', 'learner_id': 'd2d94536-fc02-4570-8e25-f65cb9f2525d'}}}]} \ No newline at end of file diff --git a/Scripts/Migration_tool/Luma_mass_completions/utils/__pycache__/apikeys.cpython-310.pyc b/Scripts/Migration_tool/Luma_mass_completions/utils/__pycache__/apikeys.cpython-310.pyc index 8941484b..b119d2ea 100644 Binary files a/Scripts/Migration_tool/Luma_mass_completions/utils/__pycache__/apikeys.cpython-310.pyc and b/Scripts/Migration_tool/Luma_mass_completions/utils/__pycache__/apikeys.cpython-310.pyc differ diff --git a/Scripts/Migration_tool/Luma_mass_completions/utils/__pycache__/calls.cpython-310.pyc b/Scripts/Migration_tool/Luma_mass_completions/utils/__pycache__/calls.cpython-310.pyc index e1aa738d..8b70e71a 100644 Binary files a/Scripts/Migration_tool/Luma_mass_completions/utils/__pycache__/calls.cpython-310.pyc and b/Scripts/Migration_tool/Luma_mass_completions/utils/__pycache__/calls.cpython-310.pyc differ diff --git a/Scripts/Migration_tool/Luma_mass_completions/utils/apikeys.py b/Scripts/Migration_tool/Luma_mass_completions/utils/apikeys.py index 4cadaafe..8a6b1d92 100644 --- a/Scripts/Migration_tool/Luma_mass_completions/utils/apikeys.py +++ b/Scripts/Migration_tool/Luma_mass_completions/utils/apikeys.py @@ -1 +1,2 @@ SANDBOX = "SlpQlju219WnWogn94dQUT6Yt" +LUMA = "oDFA7XSmjEKjEwIDIKLm0rxs1" diff --git a/Scripts/Migration_tool/Luma_mass_completions/utils/calls.py b/Scripts/Migration_tool/Luma_mass_completions/utils/calls.py index d814bb87..cb892a12 100644 --- a/Scripts/Migration_tool/Luma_mass_completions/utils/calls.py +++ b/Scripts/Migration_tool/Luma_mass_completions/utils/calls.py @@ -5,7 +5,7 @@ from json import JSONDecodeError PP = pprint.PrettyPrinter(indent=4) -APIKEY = apikeys.SANDBOX +APIKEY = apikeys.LUMA HEADERS = {"content-type": "application/json", "X-Api-Key": APIKEY} BASEURL = "https://api.northpass.com/v2" @@ -20,7 +20,6 @@ def get(url): ) finally: json_get = get_response.json() - # PP.pprint(json_get) return json_get @@ -35,7 +34,6 @@ def post(url, payload): print(f"Status code is {post_response.status_code}") json_post = post_response.json() if json_post: - print(json_post) return json_post else: return post_response