Unverified Commit e5a19cde authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

re-use existing thumbnails if present; remove no-longer-required ones

parent b85a07ee
Loading
Loading
Loading
Loading
+48 −37
Original line number Diff line number Diff line
@@ -286,6 +286,7 @@ class Thumbnail:
        with_gps=False,
        group_key_template=None,
        file_key_template=None,
        have_thumbnail=dict(),
    ):
        self.filename = filename
        self.jpegname = None
@@ -333,6 +334,7 @@ class Thumbnail:
            if not self.thumbname.lower().endswith((".jpeg", ".jpg")):
                self.thumbname += ".jpg"

            if not have_thumbnail.pop(self.thumbname, False):
                if not filename.lower().endswith((".cr2", ".cr3", ".rw2")):
                    im = rotate_image(im, self.exif_tag)

@@ -368,6 +370,7 @@ class Thumbnail:
                        )
                        self.jpegname = jpegname
                        rotate_preview(jpegname, self.exif_tag)
                        have_thumbnail.pop(self.jpegname, None)
                    except FileNotFoundError:
                        pass

@@ -794,6 +797,10 @@ if __name__ == "__main__":

    os.makedirs(".thumbnails", exist_ok=True)

    rm_thumbnail = dict(
        map(lambda k: (".thumbnails/" + k, 1), os.listdir(".thumbnails"))
    )

    if not args.cdn:
        copy_files(f"{base_dir}/share")

@@ -876,6 +883,7 @@ if __name__ == "__main__":
            with_gps=args.with_nominatim,
            group_key_template=args.group,
            file_key_template=args.group_files,
            have_thumbnail=rm_thumbnail,
        )
        thumbnails.append(thumbnail)

@@ -923,6 +931,9 @@ if __name__ == "__main__":
                + [filename]
            )

    for rm_file in rm_thumbnail.keys():
        os.remove(rm_file)

    if args.sort == "time":
        thumbnails = list(
            sorted(thumbnails, key=lambda t: t.exif_dt, reverse=args.reverse)