You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using upload_comment in the submission.py the files that are uploaded are always attached to attempt 1 regardless of which attempt the comment was meant for
To Reproduce
Submit an assignment to canvas.
Use upload_comment to attach a file as a comment to the submission attempt.
Resubmit to the same assignment as the same student.
Use upload_comment again to upload another file comment.
See that both files are attached to attempt 1, not attempt 1 and then attempt 2.
Expected behavior
When you upload a file as a comment it is attached to the most recent attempt, not attempt 1 always
[@spruce ~]$ pip show canvasapi
Name: canvasapi
Version: 3.1.0
Summary: API wrapper for the Canvas LMS
Home-page: https://github.com/ucfopen/canvasapi
Author: University of Central Florida - Center for Distributed Learning
Author-email: [email protected]
License: MIT License
Location: /home/staff/dmcphers/.local/lib/python3.9/site-packages
Requires: arrow, pytz, requests
Required-by:
Additional context
I already know how to fix this.
Line 180 change it from this:
Lots of weirdness around how uploading files to a submission works.
(see for example ucfopen#496ucfopen#554ucfopen#631).
This isn't really a fix for any of those. This is just a quick hack
to make it work for my use case. At present, a call to
Submission.upload_comment() to upload a file to attach to a comment,
includes an implicit call to Submission.edit() that creates an empty
comment (i.e, no text) on the submission, or, attached the file to any
previous comment.
This doesn't seem to fit with the description in the Canvas API
documentation and is never what you actually want. This change
removes that implicit call to .edit().
To comment on a submission and attache a file, first call
.upload_comment() to upload the file, and then call .edit() including
your comment text, grade etc. as well as the file id returned by
.upload_comment().
When using upload_comment in the submission.py the files that are uploaded are always attached to attempt 1 regardless of which attempt the comment was meant for
To Reproduce
Expected behavior
When you upload a file as a comment it is attached to the most recent attempt, not attempt 1 always
Environment information
Python version (
python --version
)[@spruce ~]$ python --version
Python 3.9.16
CanvasAPI version (
pip show canvasapi
)[@spruce ~]$ pip show canvasapi
Name: canvasapi
Version: 3.1.0
Summary: API wrapper for the Canvas LMS
Home-page: https://github.com/ucfopen/canvasapi
Author: University of Central Florida - Center for Distributed Learning
Author-email: [email protected]
License: MIT License
Location: /home/staff/dmcphers/.local/lib/python3.9/site-packages
Requires: arrow, pytz, requests
Required-by:
Additional context
I already know how to fix this.
Line 180 change it from this:
self.edit(comment={"file_ids": [response[1]["id"]]})
Line 180 change it to this:
self.edit(comment={"file_ids": [response[1]["id"]], "attempt": self.attempt})
The text was updated successfully, but these errors were encountered: