halcy / Mastodon.py

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

Unable to use at optimisation level 2 #347

Open mirabilos opened 1 year ago

mirabilos commented 1 year ago
File "/usr/lib/python3/dist-packages/mastodon/Mastodon.py", line 103, in api_min_version_decorator
  function.__doc__ = function.__doc__ + "\n\n        *Added: Mastodon v" + created_ver + ", last changed: Mastodon v" + last_changed_ver + "*"
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'

(line numbers match 1.5.1-1 in Debian bullseye)

This is because python3 -OO strips away docstrings. A test for the presence of __doc__ should probably suffice.

halcy commented 1 year ago

oof. I'll add that next release. Please tell me it doesn't also strip annotations

codl commented 1 year ago

-O strips asserts and sets __debug__ to False -OO does that and also strips docstrings https://docs.python.org/3/using/cmdline.html#cmdoption-O