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