Skip to content

File objects get attribute content-type which must be accessed through getattr #647

Description

@dbosk

Describe the bug

File objects get attribute content-type which must be accessed through getattr. All other attributes can be accessed by some_file.attribute, but due to the - that doesn't work for the content-type attribute.

To Reproduce

Steps to reproduce the behavior:

Get an attachment from a submission (submission.attachments). Then one must use getattr(attachment, "content-type") to get the content type. But one can access attachment.filename by dot notation.

Expected behavior

I would expect the content-type attribute to be translated to content_type.

Environment information

  • Python version (python --version): Python 3.10.12
  • CanvasAPI version (pip show canvasapi):
Name: canvasapi
Version: 3.2.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: techrangers@ucf.edu
License: MIT License
Location: /home/dbosk/.cache/pypoetry/virtualenvs/canvaslms-WPDgHmeP-py3.10/lib/python3.10/site-packages
Requires: arrow, pytz, requests
Required-by: canvaslms

Additional context

Probably adding a translation of - to _ in CanvasObject.set_attributes should suffice. Not sure if this would break anything.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions