From 3485b6ffc5078441a8d17872c4eadd1ce63f6503 Mon Sep 17 00:00:00 2001 From: Norm Rasmussen Date: Wed, 8 Oct 2025 09:45:09 -0400 Subject: [PATCH] Supplier migration script to move learners from US academy, Mexico Group into MX academy --- Scripts/Walmart/Supplier/WALMART_API_KEYS.py | 5 ++ .../WALMART_API_KEYS.cpython-310.pyc | Bin 0 -> 402 bytes .../Walmart/Supplier/import_us_crece_to_mx.py | 59 ++++++------------ 3 files changed, 23 insertions(+), 41 deletions(-) create mode 100644 Scripts/Walmart/Supplier/WALMART_API_KEYS.py create mode 100644 Scripts/Walmart/Supplier/__pycache__/WALMART_API_KEYS.cpython-310.pyc diff --git a/Scripts/Walmart/Supplier/WALMART_API_KEYS.py b/Scripts/Walmart/Supplier/WALMART_API_KEYS.py new file mode 100644 index 00000000..2387911a --- /dev/null +++ b/Scripts/Walmart/Supplier/WALMART_API_KEYS.py @@ -0,0 +1,5 @@ +NORMSANDBOX = "SlpQlju219WnWogn94dQUT6Yt" +SPARKPROD = "6hUfJdAartHTHhHc0WIRZYPWe" +LUMINATE_US = "p5fidpuedHaOlPnd8EcpxzQMG" +SUPPLIERUSPROD = "DtRH9m4r0zMbJEx1yWBGKlObi" +SUPPLIERMXPROD = "zHIVw9dMzsNJLtFdqRXsJHGv3" diff --git a/Scripts/Walmart/Supplier/__pycache__/WALMART_API_KEYS.cpython-310.pyc b/Scripts/Walmart/Supplier/__pycache__/WALMART_API_KEYS.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3f0b7c03ca137bbf10e185ac5529f0f6ad69d284 GIT binary patch literal 402 zcmYk3%T9w(5Qd=_Q*G*6;uCZut=2{oW26BKlv_Cx z1Q*7CGXLbutp1s_*E^yroho0Ok7|C_@LzNVw^fsq$`A!9L_-=iU;{N_6SZIqwE@*X zfDDMTdGu7A4>>n+)5nAxp}Av^mpNp{8|OhmyoYnimNt?rL`nYaXJ*>2ytj#E@b!A*T#Qa_+YwdlG!^baG8aPa^D literal 0 HcmV?d00001 diff --git a/Scripts/Walmart/Supplier/import_us_crece_to_mx.py b/Scripts/Walmart/Supplier/import_us_crece_to_mx.py index 36877bd6..1ab76fcd 100644 --- a/Scripts/Walmart/Supplier/import_us_crece_to_mx.py +++ b/Scripts/Walmart/Supplier/import_us_crece_to_mx.py @@ -1,57 +1,34 @@ import requests import pprint import pandas as pd -import Apikeys +import WALMART_API_KEYS pp = pprint.PrettyPrinter(indent=4) -APIKEY = Apikeys.SUPPLIER +APIKEY = WALMART_API_KEYS.SUPPLIERMXPROD HEADERS = { "accept": "application/json", "X-Api-Key": APIKEY, } -BASEURL = "https://api.northpass.com/v2/" +BASEURL = "https://api2.northpass.com/v2/" IMPORTFILE = "/Users/normrasmussen/Downloads/supplierus-crece-for-mx-import.csv" def main(): + print(APIKEY) data = pd.read_csv(IMPORTFILE) - groups = data["Email"].unique() - groups = list(groups) - print("Here are all groups within the CSV:") - print(groups) - print(" ") - for group in groups: - payload = "" - print(group) - tmp_group = data[data.Group == group] - people = list(tmp_group["Email"]) - group = str(tmp_group["Group"].unique())[2:-2] - print(f"Group --> {group} ... Amount of People --> {len(people)}") - url = f"{BASEURL}bulk/people" - if len(people) > 1500: - for chunk in range(0, len(people), 1500): - i = chunk - payload_1 = [] - i_to_add = people[i : i + 1500] - for person in i_to_add: - miniload = {"email": person, "groups": group} - payload_1.append(miniload) - print(f"The long length {group} payload has {len(payload_1)}") - payload = {"data": {"attributes": {"people": payload_1}}} - response = requests.post(url, headers=HEADERS, json=payload) - print(f"Completed. Status code is {response.status_code}") - else: - payload_1 = [] - for person in people: - miniload = {"email": person, "groups": group} - payload_1.append(miniload) - print(f"The {group} payload has {len(payload_1)}") - payload = {"data": {"attributes": {"people": payload_1}}} - response = requests.post(url, headers=HEADERS, json=payload) - print(f"Completed. Status code is {response.status_code}") - print(response.text) - print("Running add props from func...") - time.sleep(3) - add_props_from_func(people, data, group) + emails = data["email"].unique() + emails = list(emails) + url = f"{BASEURL}bulk/people" + payload_1 = [] + for person in emails: + miniload = {"email": person, "groups": "All Users"} + miniload2 = {"email": person, "groups": "Crece Con Walmart"} + payload_1.append(miniload2) + payload_1.append(miniload) + payload = {"data": {"attributes": {"people": payload_1}}} + print(payload) + response = requests.post(url, headers=HEADERS, json=payload) + print(f"Completed. Status code is {response.status_code}") + print(response.text) if __name__ == "__main__":