From 89a6fd58ee4f335b022c63046c14fc8d1781a974 Mon Sep 17 00:00:00 2001 From: Norm Rasmussen Date: Fri, 7 Feb 2025 16:09:44 -0500 Subject: [PATCH] Mizuno scripts. Finished Source & Supplier's removing enrollments from LP. --- Custom_Templates/customer_templates/.DS_Store | Bin 20484 -> 22532 bytes Scripts/API_Tests/add-pgaids.py | 4 +- .../get_lp_enrollments_and_drop_everyone.py | 50 ++++++++++++++++++ 3 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 Scripts/API_Tests/get_lp_enrollments_and_drop_everyone.py diff --git a/Custom_Templates/customer_templates/.DS_Store b/Custom_Templates/customer_templates/.DS_Store index df8e689cecde92ce084e34df345249470782b7a4..8acb5ea0ba1d2c872d50706b962c0fc90e3e776b 100644 GIT binary patch delta 1164 zcmZo!z}T{ZQJ8^&fzhcn#gKs^0LbJ3;(&?5HjLsM1Kb%We-u`k{N6!&^EF0OK1Q3# z2Si*ZTPgEyP8Dflsh4L6XGmnoVaNrNMGPej3Jk#v$qbncc|dk1P&@}HuE5|7B=dkc z18%P5^KnX$i0}PX8BsDhkNd9M=*r2hPTS0-* zcJexVt<7c*8`&psb(a-DRnNe%nMdF;^XBi?0xTTtpcD-(OeXVtNHFqj7G!$PJel9e Vmj@V*ph6}BB)K`mr=A&P5CFQx^#A|> delta 154 zcmZqKz}T{YQJ8^&fzhcn#gKu)1IXk6VvmW!HjLaG1Kb%WzjW8xe3;RLkI`dtfQQaz z2aoN{lh1mKPF}?*I5|uB4=2lQ(RGqxeUTd?N!$$VWYt5y3 vbMt`)vI8*?cueLGkYMEAEXeenc`|>9FApQcJ_aBiusI{7o*ATtDK{SgYE>u3 diff --git a/Scripts/API_Tests/add-pgaids.py b/Scripts/API_Tests/add-pgaids.py index 423c6c39..60ba1c50 100644 --- a/Scripts/API_Tests/add-pgaids.py +++ b/Scripts/API_Tests/add-pgaids.py @@ -4,7 +4,7 @@ from pathlib import Path import Apikeys import os -basefile = "/Users/normrasmussen/Downloads/mizuno-completions-dec24.csv" +basefile = "/Users/normrasmussen/Downloads/mizuno-lp-jan25.csv" api_key = Apikeys.MIZUNO uuid_url = "https://api.northpass.com/v2/people?filter[email][eq]=" prop_url = "https://api.northpass.com/v2/properties/people/" @@ -51,7 +51,7 @@ def load_file(basefile): completions = completions[completions["userid"] != "0"] # completions = completions.iloc[:, 0:] completions.to_csv( - "/Users/normrasmussen/Downloads/Mizuno-Dec2024-with-PGAID.csv", + "/Users/normrasmussen/Downloads/Mizuno-LP-Jan25-with-PGAID.csv", index=False, ) diff --git a/Scripts/API_Tests/get_lp_enrollments_and_drop_everyone.py b/Scripts/API_Tests/get_lp_enrollments_and_drop_everyone.py new file mode 100644 index 00000000..1e5d2742 --- /dev/null +++ b/Scripts/API_Tests/get_lp_enrollments_and_drop_everyone.py @@ -0,0 +1,50 @@ +import requests +import Apikeys +import sys +import pprint + +pp = pprint.PrettyPrinter(indent=4) +APIKEY = Apikeys.SUPPLIERPROD +LP_UUID = sys.argv[1] +HEADERS = { + "accept": "*/*", + "x-api-key": APIKEY, + "content-type": "application/json", +} +# Category Advisory Services +# 6afe6b7e-088b-4dfa-9a0f-e8aefcd81cdf + +# Sandbox - Ascent LP +# 6ef5c9db-81d7-427c-846b-babb9a9a2ad1 + +def get_enrollments(): + page = 0 + person_list = [] + while True: + page += 1 + url = f"https://api2.northpass.com/v2/learning_paths/{LP_UUID}/enrollments?limit=100&page={page}" + response = requests.get(url, headers=HEADERS) + data = response.json() + nextlink = data["links"] + + for items in data["data"]: + person_uuid = items["attributes"]["person_id"] + person_list.append(person_uuid) + + if "next" not in nextlink: + break + + print(person_list) + print(len(person_list)) + + for person in person_list: + delete_enrollments(person, LP_UUID) + +def delete_enrollments(person_uuid, lp_uuid): + url = f"https://api2.northpass.com/v1/people/{person_uuid}/relationships/learning_paths" + payload = { "data": [{ "type": "enrolled-courses", "id": lp_uuid }] } + delsponse = requests.delete(url, headers=HEADERS, json=payload) + print(delsponse.status_code) + +if __name__ == "__main__": + get_enrollments()