diff --git a/galerie/models.py b/galerie/models.py index 21181996..ae49f15a 100644 --- a/galerie/models.py +++ b/galerie/models.py @@ -123,7 +123,16 @@ class Galerie(models.Model): raise ValueError from e exif = obr.getexif() # Pokud tam není, tak si Pillow podle zdrojáků vyhaluzí prázdný. - date_str = exif.get(ExifTags.Base.DateTime, None) or exif.get(ExifTags.Base.DateTimeOriginal, None) or exif.get(ExifTags.Base.DateTimeDigitized, None) + ifd_exif = {} + if ExifTags.IFD.Exif in exif: ifd_exif = exif.get_ifd(ExifTags.IFD.Exif) + date_str = (False # zarovnání + or exif.get(ExifTags.Base.DateTimeOriginal, None) + or ifd_exif.get(ExifTags.Base.DateTimeOriginal, None) + or exif.get(ExifTags.Base.DateTime, None) + or ifd_exif.get(ExifTags.Base.DateTime, None) + or exif.get(ExifTags.Base.DateTimeDigitized, None) + or ifd_exif.get(ExifTags.Base.DateTimeDigitized, None) + ) if date_str is None: continue dt = datetime.strptime(date_str, EXIF_DATETIME_FMT) poradi = int(dt.strftime("1%d%H%M%S"))