From 6917a578aa61d9d65ae2a95289b2ca707f23ea74 Mon Sep 17 00:00:00 2001 From: Matteo Crocetti <75637780+cocciasecca@users.noreply.github.com> Date: Sun, 29 Sep 2024 14:22:54 +0200 Subject: [PATCH 1/2] Update bereal_exporter.py Added deleted posts handling. There might be an entry in memories.json that doesn't have a corresponding picture in the Photos/{post/bereal}/ folder. --- bereal_exporter.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/bereal_exporter.py b/bereal_exporter.py index 660d0cf..ff56272 100644 --- a/bereal_exporter.py +++ b/bereal_exporter.py @@ -135,11 +135,14 @@ class BeRealExporter: if self.time_span[0] <= memory_dt <= self.time_span[1]: for img_name, type in zip(img_names, types): old_img_name = os.path.join(self.bereal_path, f"Photos/post/{self.get_img_filename(memory[type[0]])}") - self.verbose_msg(f"Export Memory nr {i} {type[0]}:") - if 'location' in memory: - self.export_img(old_img_name, img_name, memory_dt, memory['location']) + if os.path.isfile(old_img_name): + self.verbose_msg(f"Export Memory nr {i} {type[0]}:") + if 'location' in memory: + self.export_img(old_img_name, img_name, memory_dt, memory['location']) + else: + self.export_img(old_img_name, img_name, memory_dt) else: - self.export_img(old_img_name, img_name, memory_dt) + self.verbose_msg(f"File {old_img_name} not found. Skipping this memory.") self.print_progress_bar(i + 1, memory_count, prefix="Exporting Memories", suffix=f"- {memory_dt.strftime('%Y-%m-%d')}") self.verbose_msg(f"\n\n{'#'*100}\n") @@ -189,4 +192,4 @@ if __name__ == '__main__': except FileNotFoundError: print("realmojis.json file not found.") except json.JSONDecodeError: - print("Error decoding realmojis.json file.") \ No newline at end of file + print("Error decoding realmojis.json file.") From 34201c0259d8bedabc1b03cf4b52efc20f267a53 Mon Sep 17 00:00:00 2001 From: lmluk Date: Mon, 30 Sep 2024 11:47:55 +0200 Subject: [PATCH 2/2] moved 'deleted post handling' to export_img() method --- bereal_exporter.py | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/bereal_exporter.py b/bereal_exporter.py index ff56272..ab1b239 100644 --- a/bereal_exporter.py +++ b/bereal_exporter.py @@ -97,21 +97,25 @@ class BeRealExporter: Makes a copy of the image and adds EXIF tags to the image. """ self.verbose_msg(f"Export {old_img_name} image to {img_name}") - cp(old_img_name, img_name) - tags = {"DateTimeOriginal": img_dt.strftime("%Y:%m:%d %H:%M:%S")} - if img_location: - self.verbose_msg(f"Add metadata to image:\n - DateTimeOriginal={img_dt}\n - GPS=({img_location['latitude']}, {img_location['longitude']})") - tags.update({ - "GPSLatitude*": img_location['latitude'], - "GPSLongitude*": img_location['longitude'] - }) - else: - self.verbose_msg(f"Add metadata to image:\n - DateTimeOriginal={img_dt}") - if self.exiftool_path: - et(executable=self.exiftool_path).set_tags(img_name, tags=tags, params=["-P", "-overwrite_original"]) + if os.path.isfile(old_img_name): + cp(old_img_name, img_name) + tags = {"DateTimeOriginal": img_dt.strftime("%Y:%m:%d %H:%M:%S")} + if img_location: + self.verbose_msg(f"Add metadata to image:\n - DateTimeOriginal={img_dt}\n - GPS=({img_location['latitude']}, {img_location['longitude']})") + tags.update({ + "GPSLatitude*": img_location['latitude'], + "GPSLongitude*": img_location['longitude'] + }) + else: + self.verbose_msg(f"Add metadata to image:\n - DateTimeOriginal={img_dt}") + + if self.exiftool_path: + et(executable=self.exiftool_path).set_tags(img_name, tags=tags, params=["-P", "-overwrite_original"]) + else: + et().set_tags(img_name, tags=tags, params=["-P", "-overwrite_original"]) else: - et().set_tags(img_name, tags=tags, params=["-P", "-overwrite_original"]) + self.verbose_msg(f"File {old_img_name} not found. Skipping this image.") def export_memories(self, memories: list): @@ -135,14 +139,11 @@ class BeRealExporter: if self.time_span[0] <= memory_dt <= self.time_span[1]: for img_name, type in zip(img_names, types): old_img_name = os.path.join(self.bereal_path, f"Photos/post/{self.get_img_filename(memory[type[0]])}") - if os.path.isfile(old_img_name): - self.verbose_msg(f"Export Memory nr {i} {type[0]}:") - if 'location' in memory: - self.export_img(old_img_name, img_name, memory_dt, memory['location']) - else: - self.export_img(old_img_name, img_name, memory_dt) + self.verbose_msg(f"Export Memory nr {i} {type[0]}:") + if 'location' in memory: + self.export_img(old_img_name, img_name, memory_dt, memory['location']) else: - self.verbose_msg(f"File {old_img_name} not found. Skipping this memory.") + self.export_img(old_img_name, img_name, memory_dt) self.print_progress_bar(i + 1, memory_count, prefix="Exporting Memories", suffix=f"- {memory_dt.strftime('%Y-%m-%d')}") self.verbose_msg(f"\n\n{'#'*100}\n")