push-to-canvas: course with no sis_user_id
Here in canvas_utils.py:
for stud in students:
stud_name, stud_id, stud_sis_id, stud_sis_login_id = (
stud.user["sortable_name"],
stud.id,
stud.sis_user_id,
stud.user["integration_id"],
)
we have a whole course where this raises:
Traceback (most recent call last):
File "./plom-push-to-canvas.py", line 264, in <module>
download_classlist(course)
File "/zfs/users/xxxxxxx/.local/lib/python3.8/site-packages/plom/canvas/canvas_utils.py", line 86, in download_classlist
stud.sis_user_id,
File "/zfs/users/xxxxxxx/.local/lib/python3.8/site-packages/canvasapi/canvas_object.py", line 14, in __getattribute__
return super(CanvasObject, self).__getattribute__(name)
AttributeError: 'Enrollment' object has no attribute 'sis_user_id'
If the TA (have not tried Instructor) generates a .csv by exporting the Grade book, it has no "SIS User ID" column...!
Edited by Colin Macdonald