ianare / exif-py

Easy to use Python module to extract Exif metadata from digital image files.
BSD 3-Clause "New" or "Revised" License
831 stars 191 forks source link

Bug when extracting GPS coordinates from EXIF metadata #200

Open VctorAHernndez opened 1 month ago

VctorAHernndez commented 1 month ago

Hi!

I've been using exifread for the last couple months and started reading the source code to understand how it works under the hood. I quickly noticed that there's a validation line in exifread.utils.get_gps_coords(...) that seems to be off: https://github.com/ianare/exif-py/blob/d60f18d3b5f701cd87523c577adacd91175f1365/exifread/utils.py#L64

I might be mistaken / speaking out of place, but I think the line should be changed to:

gps_tags = [lng_ref_tag_name, lng_tag_name, lat_ref_tag_name, lat_tag_name]

That way, we ensure that even if one of the metadata fields is missing, we return an empty tuple (or maybe raise an exception?).

Huge props to all contributors, by the way! This library is super helpful, and I imagine keeping track of all the little tidbits that went into parsing data from a fairly complex standard is super hard. I appreciate it immensely.

VctorAHernndez commented 1 month ago

I can get started on the pull request, if need be!