Joint-Teapot/joint_teapot/canvas.py
2021-06-09 20:55:50 +08:00

37 lines
1.2 KiB
Python

from canvasapi import Canvas as PyCanvas
from canvasapi.group import Group, GroupMembership
from joint_teapot.config import settings
class Canvas:
def __init__(
self,
access_token: str = settings.canvas_access_token,
courseID: int = settings.course_id,
):
self.canvas = PyCanvas("https://umjicanvas.com/", access_token)
self.course = self.canvas.get_course(courseID)
self.students = self.course.get_users(
enrollment_type=["student"], include=["email"]
)
self.assignments = self.course.get_assignments()
self.groups = self.course.get_groups()
# for attr in ["sis_login_id", "sortable_name"]:
# assert hasattr(
# self.students[0], attr
# ), f"Unable to gather students' {attr}, please contact the Canvas site admin"
group: Group
for group in self.groups:
membership: GroupMembership
print(group.__dict__)
for membership in group.get_memberships():
print(membership.user_id, end=", ")
print("")
if __name__ == "__main__":
canvas = Canvas()
# for student in canvas.students:
# print(student.__dict__)