Supplier migration script to move learners from US academy, Mexico Group into MX academy
This commit is contained in:
5
Scripts/Walmart/Supplier/WALMART_API_KEYS.py
Normal file
5
Scripts/Walmart/Supplier/WALMART_API_KEYS.py
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
NORMSANDBOX = "SlpQlju219WnWogn94dQUT6Yt"
|
||||||
|
SPARKPROD = "6hUfJdAartHTHhHc0WIRZYPWe"
|
||||||
|
LUMINATE_US = "p5fidpuedHaOlPnd8EcpxzQMG"
|
||||||
|
SUPPLIERUSPROD = "DtRH9m4r0zMbJEx1yWBGKlObi"
|
||||||
|
SUPPLIERMXPROD = "zHIVw9dMzsNJLtFdqRXsJHGv3"
|
||||||
Binary file not shown.
@ -1,57 +1,34 @@
|
|||||||
import requests
|
import requests
|
||||||
import pprint
|
import pprint
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
import Apikeys
|
import WALMART_API_KEYS
|
||||||
|
|
||||||
pp = pprint.PrettyPrinter(indent=4)
|
pp = pprint.PrettyPrinter(indent=4)
|
||||||
APIKEY = Apikeys.SUPPLIER
|
APIKEY = WALMART_API_KEYS.SUPPLIERMXPROD
|
||||||
HEADERS = {
|
HEADERS = {
|
||||||
"accept": "application/json",
|
"accept": "application/json",
|
||||||
"X-Api-Key": APIKEY,
|
"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"
|
IMPORTFILE = "/Users/normrasmussen/Downloads/supplierus-crece-for-mx-import.csv"
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
print(APIKEY)
|
||||||
data = pd.read_csv(IMPORTFILE)
|
data = pd.read_csv(IMPORTFILE)
|
||||||
groups = data["Email"].unique()
|
emails = data["email"].unique()
|
||||||
groups = list(groups)
|
emails = list(emails)
|
||||||
print("Here are all groups within the CSV:")
|
url = f"{BASEURL}bulk/people"
|
||||||
print(groups)
|
payload_1 = []
|
||||||
print(" ")
|
for person in emails:
|
||||||
for group in groups:
|
miniload = {"email": person, "groups": "All Users"}
|
||||||
payload = ""
|
miniload2 = {"email": person, "groups": "Crece Con Walmart"}
|
||||||
print(group)
|
payload_1.append(miniload2)
|
||||||
tmp_group = data[data.Group == group]
|
payload_1.append(miniload)
|
||||||
people = list(tmp_group["Email"])
|
payload = {"data": {"attributes": {"people": payload_1}}}
|
||||||
group = str(tmp_group["Group"].unique())[2:-2]
|
print(payload)
|
||||||
print(f"Group --> {group} ... Amount of People --> {len(people)}")
|
response = requests.post(url, headers=HEADERS, json=payload)
|
||||||
url = f"{BASEURL}bulk/people"
|
print(f"Completed. Status code is {response.status_code}")
|
||||||
if len(people) > 1500:
|
print(response.text)
|
||||||
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)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
Reference in New Issue
Block a user