DataSnipper internal templates had to be separated out. Fixed the Anthology script for group coursesgit status It's working

This commit is contained in:
Norm Rasmussen
2024-04-26 15:46:33 -04:00
parent 05fbcfad0e
commit 4fbd8329f7
217 changed files with 2856 additions and 50 deletions

View File

@ -48,63 +48,51 @@ def group_ids():
get_courses(ids)
def get_courses(ids):
df = pd.DataFrame()
courses = []
for tupe in ids:
id = tupe[0]
print(id)
group = tupe[1]
url2 = f"groups/{id}/courses?limit=100"
courseurl = f"{BASEURL}{url2}"
coursereq = requests.get(courseurl, headers=HEADERS)
coursedata = coursereq.json()
nextlink = coursedata["links"]
count = 0
while "next" in nextlink:
for count in range(10):
print(f"Next link for {group} and page {count}")
coursereq2 = requests.get(f"{courseurl}&page={count}", headers=HEADERS)
coursedata2 = coursereq2.json()
next = coursedata2["links"]
coursedict = parse_data(coursedata2, group)
print(f"While Coursedict --> {coursedict}")
if coursedict is None:
pass
else:
courses.append(coursedict)
if "next" not in next:
print(group)
for count in range(1, 10):
url2 = f"groups/{id}/courses?limit=100&page={count}"
courseurl = f"{BASEURL}{url2}"
coursereq = requests.get(courseurl, headers=HEADERS)
coursedata = coursereq.json()
nextlink = coursedata["links"]
for cdata in coursedata["included"]:
if cdata["attributes"]["status"] == "archived":
coursedict = parse_data(cdata, group)
print(f"Coursedict --> {coursedict} for page {count}")
if coursedict is not None:
courses.append(coursedict)
if "next" not in nextlink:
break
else:
print(f"Else Statement for {group}")
coursedict = parse_data(coursedata, group)
print(f"Else Coursedict --> {coursedict}")
if coursedict is None:
pass
else:
courses.append(coursedict)
pddata = df.from_records(courses)
pddata.to_csv("~/Downloads/Anthology_Course_IDs_Names.csv")
pddata.to_csv("~/Downloads/ARCHIVED-Anthology_Course_IDs_Names.csv")
def parse_data(coursedata, group):
for cdata in coursedata["included"]:
if cdata["attributes"]["status"] == "live":
name = cdata["attributes"]["name"]
courseid = cdata["attributes"]["share_course_link"].split("/")[5]
enrollments = cdata["attributes"]["enrollments_count"]
created = cdata["attributes"]["created_at"]
updated = cdata["attributes"]["updated_at"]
coursedict = {
"group": group,
"name": name,
"id": courseid,
"enrollments": enrollments,
"created at": created,
"updated at": updated,
}
if coursedict is not None:
return coursedict
def parse_data(cdata, group):
name = cdata["attributes"]["name"]
courseid = cdata["attributes"]["share_course_link"].split("/")[5]
enrollments = cdata["attributes"]["enrollments_count"]
created = cdata["attributes"]["created_at"]
updated = cdata["attributes"]["updated_at"]
status = cdata["attributes"]["status"]
coursedict = {
"group": group,
"name": name,
"id": courseid,
"enrollments": enrollments,
"created at": created,
"updated at": updated,
"status": status,
}
if coursedict is not None:
return coursedict
if __name__ == "__main__":