halcy / Mastodon.py

Python wrapper for the Mastodon ( https://github.com/mastodon/mastodon/ ) API.
MIT License
867 stars 150 forks source link

content_type is not ignored on incompatible servers #371

Open crablab opened 4 months ago

crablab commented 4 months ago

From the documentation:

    **Specific to "pleroma" feature set:**: Specify `content_type` to set
    the content type of your post on Pleroma. It accepts 'text/plain' (default),
    'text/markdown', 'text/html' and 'text/bbcode'. This parameter is not
    supported on Mastodon servers, but will be safely ignored if set.

However, in the actual logic this is enforced very strictly:

https://github.com/halcy/Mastodon.py/blob/47aa316c36307ec891e41d34c1d4db91cca7b433/mastodon/statuses.py#L118

Expected behaviour: when setting this flag on an incompatible instance (eg. Mastodon) it's either sent to the server (which is safe?) or silently dropped. That way, clients of the library are abstracted from the underlying Mastodon server type.

Actual behaviour: exception is raised.

I'm happy to correct either the code or the docs. It's not clear to me which is the intended behaviour.

Apologies if I've got the wrong end of the stick.

halcy commented 4 months ago

yeah I think the docs should be the behaviour we have (or, ideally: configurable at module level)

"not Mainline Mastodon" support is kind of a mess and needs to be reworked, probably, but if you want to go for a fix, I'd ask you to just take the check out

crablab commented 4 months ago

I'll aim to get a PR in today to remove the check :)