exif-py icon indicating copy to clipboard operation
exif-py copied to clipboard

str/bytes problems

Open srittau opened this issue 3 years ago • 0 comments

While writing type stubs for ExifRead (python/typeshed#9403), I've come across a few inconsistencies/bugs that are probably related to the str/bytes changes from Python 2 to Python 3.

  1. ord_ is only ever called with a bytes argument, but checks for a str and returns a bytes argument unchanged:

https://github.com/ianare/exif-py/blob/51d5c5adf638219632dd755c6b7a4ce2535ada62/exifread/utils.py#L9-L12

I believe this method is mostly obsolete and could be replaced by straight calls to ord().

  1. special_mode() in tags/makernote/olympus.py is (I think) passed a bytes string and returns a regular str. But in the case where the passed in string is empty, it will just return it unchanged (i.e. it will return bytes instead of str), possibly raise a TypeError:

https://github.com/ianare/exif-py/blob/51d5c5adf638219632dd755c6b7a4ce2535ada62/exifread/tags/makernote/olympus.py#L5-L26

srittau avatar Dec 23 '22 13:12 srittau