Creating a script for Anthology to update all the names of their learner properties based on new subscription model. Downloaded and updated some templates for this same project.

This commit is contained in:
Norm Rasmussen
2025-08-21 15:40:52 -04:00
parent b52e7cfac1
commit 6edb965eef
120 changed files with 533 additions and 225 deletions

View File

@ -0,0 +1,78 @@
import pprint
import requests
import Apikeys
BASEURL = "https://api.northpass.com/v2"
APIKEY = Apikeys.ANTHOLOGY
HEADERS = {"accept": "*/*","X-Api-Key": APIKEY,"content-type": "application/json"}
pp=pprint.PrettyPrinter(indent=4)
def main():
count = 0
while True:
count += 1
getpplprops = f"{BASEURL}/properties/people"
# getppl = f"{BASEURL}/people?limit=100&page={count}"
getpplreq = requests.get(getpplprops, headers=HEADERS).json()
nextlink = getpplreq["links"]
for name in getpplreq['data']:
uuid = name['id']
subscription_levels = name['attributes']['properties']['subscription_levels']
if subscription_levels is not None:# or "Core" not in subscription_levels:
if "Core" not in subscription_levels:
try:
subs = subscription_levels.split(", ")
except AttributeError as e:
print(e)
subs = subscription_levels
# print(uuid, subs)
print(name["attributes"]["properties"]["email"])
change_property_values(uuid, subs)
print(count)
if "next" not in nextlink or count == 2:
break
def change_property_values(uuid, subs):
strip_list = []
subs = list(filter(lambda x: x != '', subs))
subs = list(filter(lambda x: x != ' ', subs))
print("\n")
print(subs)
print(len(subs))
for item in subs:
stripped = item.strip()
x = ""
if "Enhanced+" in stripped:
x = stripped.replace('Enhanced+', 'Premium')
strip_list.append(x)
else:
if "Enhanced" in stripped:
x = stripped.replace("Enhanced", "Core")
elif "Essential" in stripped:
x = stripped.replace("Essential", "Core")
strip_list.append(x)
strip_list = list(filter(lambda x: x != '', strip_list))
strip_list = set(strip_list)
print(strip_list)
print(len(strip_list))
if __name__ == "__main__":
main()
# str1 = "Anthology Encompass: Essential"
# str2 = str1.replace("Essential", "Core")
# print(str1)
# print(str2)
"""
Anthology 101: Essential Anthology Encompass: Essential
Anthology Insight: Essential
Blackboard Learn: Essential
Anthology Planning: Essential
Power BI: Essential
Anthology Student: Essential
Anthology Student: Enhanced
Anthology Student: Enhanced+
Anthology National University: Enhanced+
"""