Had to finish running a script for Zenjob even though I'm on PTO. There was a small error with the playwright function that I corrected.

This commit is contained in:
Norm Rasmussen
2024-07-25 09:54:11 +02:00
parent bfa5c7310e
commit 2309d6e75f

View File

@ -17,7 +17,7 @@ def delete_people_first():
delete_list = []
while True:
count += 1
person_url = f"{BASEURL}people?filter[sso_uid][cont]=zenjob.com&filter[partnerships_type][not_eq]=Partnerships::Admin&include=partnerships&page={count}"
person_url = f"{BASEURL}people?filter[email][cont]=zenjob.com&filter[partnerships_type][not_eq]=Partnerships::Admin&include=partnerships&page={count}"
person_resp = requests.get(person_url, headers=HEADERS)
persjson = person_resp.json()
nextlink = persjson["links"]
@ -31,39 +31,45 @@ def delete_people_first():
del_load = {"payload": delete_list}
print(len(delete_list))
# del_url = f"{BASEURL}bulk/people/delete"
del_url = f"{BASEURL}bulk/people/delete"
print("Running Post Func for Deleting Users")
# post_func(del_url, del_load)
post_func(del_url, del_load)
def run(playwright: Playwright):
df = pd.read_csv(IMPORTFILE)
emails = df["Work Email"].values.tolist()
# for email in emails:
# webkit = playwright.webkit
# browser = webkit.launch()
# context = browser.new_context()
# page = context.new_page()
# # page.goto(f"{BASEURL}{email}")
# print(f"{ZENJOBURL}{email}")
# context.close()
webkit = playwright.webkit
for email in emails:
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto(f"{ZENJOBURL}{email}")
print(page.url)
print(f"{ZENJOBURL}{email}")
context.close()
add_ppl_to_groups(emails)
# https://zenjob.northpass.com/?uid=testing.test@zenjob.com
def add_ppl_to_groups(emails):
def add_ppl_to_groups():
df = pd.read_csv(IMPORTFILE)
emails = df["Work Email"].values.tolist()
print("Assuming everyone was created with playwright, now I'm going to add everyone to the group.")
learner_list = []
for person in emails:
get_person_url = f"{BASEURL}people?filter[email][eq]={person}"
print(person)
get_person_url = f"{BASEURL}people?filter[sso_uid][eq]={person}"
get_person_resp = requests.get(get_person_url, headers=HEADERS)
person_json = get_person_resp.json()
print(person_json["data"][0]["id"])
learner_uuid = person_json["data"][0]["id"]
learner_list.append(learner_uuid)
bulk_to_groups_url = f"{BASEURL}bulk/people/membership"
bulk_payload = {"payload": {"person_ids": learner_list, "group_ids": ["940a5d24-32af-45f1-8ed4-8a6b4689d9c9"]}}
print("Running Post Func for Bulk Add to Groups")
# post_func(bulk_to_groups_url, bulk_payload)
post_func(bulk_to_groups_url, bulk_payload)
def post_func(url, payload):
@ -77,8 +83,9 @@ def post_func(url, payload):
if __name__ == "__main__":
delete_people_first()
time.sleep(5)
print("Sleeping to allow deletions to process.")
with sync_playwright() as playwright:
run(playwright)
add_ppl_to_groups()
# delete_people_first()
# time.sleep(15)
# print("Sleeping to allow deletions to process.")
# with sync_playwright() as playwright:
# run(playwright)