Files
Gainsight/Scripts/API_Tests/anthology-update-learner-props.py

79 lines
2.5 KiB
Python

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+
"""