101 lines
2.6 KiB
Python
101 lines
2.6 KiB
Python
|
|
import requests
|
||
|
|
|
||
|
|
apiKey = "Bknf8kidbluRfcKu3m3lKoxS8"
|
||
|
|
groups = [
|
||
|
|
"Armonk",
|
||
|
|
"Babylon",
|
||
|
|
"Bayside",
|
||
|
|
"Bedford",
|
||
|
|
"Cutchogue",
|
||
|
|
"East Hampton",
|
||
|
|
"East Setauket",
|
||
|
|
"Executive",
|
||
|
|
"Farmingville",
|
||
|
|
"Franklin Square",
|
||
|
|
"Garden City",
|
||
|
|
"Great Neck",
|
||
|
|
"Greenport",
|
||
|
|
"Hampton Bays",
|
||
|
|
"Hamptons",
|
||
|
|
"Huntington",
|
||
|
|
"Huntington Station",
|
||
|
|
"Katonah",
|
||
|
|
"Locust Valley",
|
||
|
|
"Long Beach",
|
||
|
|
"Long Island",
|
||
|
|
"Long Island City",
|
||
|
|
"Manhasset",
|
||
|
|
"Manhattan",
|
||
|
|
"Massapequa Park",
|
||
|
|
"Mattituck",
|
||
|
|
"Merrick",
|
||
|
|
"Montauk",
|
||
|
|
"New Hyde Park",
|
||
|
|
"New York",
|
||
|
|
"North Fork",
|
||
|
|
"Ocean Beach",
|
||
|
|
"Plainview",
|
||
|
|
"Port Washington",
|
||
|
|
"Queens",
|
||
|
|
"Quogue",
|
||
|
|
"Rockville Centre",
|
||
|
|
"Roslyn",
|
||
|
|
"Sag Harbor",
|
||
|
|
"Sayville",
|
||
|
|
"Scarsdale",
|
||
|
|
"Sea Cliff",
|
||
|
|
"Smithtown",
|
||
|
|
"Southampton",
|
||
|
|
"Syosset",
|
||
|
|
"Westchester",
|
||
|
|
"Westhampton Beach"
|
||
|
|
]
|
||
|
|
|
||
|
|
def findgroupIDs(apiKey, groups):
|
||
|
|
groupuuids = []
|
||
|
|
badGroups = []
|
||
|
|
for group in groups:
|
||
|
|
url = "https://api.northpass.com/v2/groups?filter[name][eq]="
|
||
|
|
headers = {
|
||
|
|
"accept": "application/json",
|
||
|
|
"X-Api-Key": apiKey
|
||
|
|
}
|
||
|
|
response = requests.get(url + group, headers=headers)
|
||
|
|
response = response.json()
|
||
|
|
try:
|
||
|
|
response = response["data"][0]["id"]
|
||
|
|
groupuuids.append(response)
|
||
|
|
except:
|
||
|
|
badGroups.append(group)
|
||
|
|
finally:
|
||
|
|
pass
|
||
|
|
#print(badGroups)
|
||
|
|
#print(groupuuids)
|
||
|
|
assignCourse(apiKey,url, groupuuids)
|
||
|
|
|
||
|
|
def assignCourse(apiKey, url, groupuuids):
|
||
|
|
for group in groupuuids:
|
||
|
|
try:
|
||
|
|
url = f"https://api.northpass.com/v2/groups/{group}/relationships/courses"
|
||
|
|
courseuuid = "10e9b174-cbad-4caa-b0ff-1a7338f2345a"
|
||
|
|
headers = {
|
||
|
|
"accept": "application/json",
|
||
|
|
"content-type": "application/json",
|
||
|
|
"X-Api-Key": apiKey
|
||
|
|
}
|
||
|
|
payload = {"data": [
|
||
|
|
{
|
||
|
|
"type": "courses",
|
||
|
|
"id": courseuuid
|
||
|
|
}
|
||
|
|
]}
|
||
|
|
print(f"Group {group} successfully accepted the course")
|
||
|
|
response = requests.post(url, json=payload, headers=headers)
|
||
|
|
except:
|
||
|
|
print(f"Group {group} does not have that course, yet")
|
||
|
|
finally:
|
||
|
|
pass
|
||
|
|
|
||
|
|
if __name__ == "__main__":
|
||
|
|
findgroupIDs(apiKey, groups)
|