From 2eca1c6c154212d799a4fc970fbca7bb42879d17 Mon Sep 17 00:00:00 2001 From: "Antonio J. Delgado" Date: Wed, 8 Sep 2021 15:35:36 +0300 Subject: [PATCH] Move no-images files --- image_classifier/image_classifier.py | 42 ++++++++++++++-------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/image_classifier/image_classifier.py b/image_classifier/image_classifier.py index d7ab252..ba81f9e 100755 --- a/image_classifier/image_classifier.py +++ b/image_classifier/image_classifier.py @@ -76,6 +76,7 @@ class image_classifier: self.metadata.read() dirname = os.path.dirname(os.path.realpath(file)) filename = os.path.basename(file) + new_path = False people = self.find_faces(file) if people: self._log.debug(f"Found {len(people)} known people in the image.") @@ -86,27 +87,26 @@ class image_classifier: self._log.debug(f"People (after): {self.metadata['Xmp.iptcExt.PersonInImage'].raw_value} (type: {type(self.metadata['Xmp.iptcExt.PersonInImage'].raw_value)})") self.metadata.write() self._log.debug(f"Updated file '{file}'.") - new_path = False - if 'Exif.Photo.DateTimeOriginal' in self.metadata.exif_keys: - original_date = self.metadata['Exif.Photo.DateTimeOriginal'].value - self._log.debug(f"File creation time: {original_date} (type: {type(original_date)})") - new_path = os.path.join(dirname, original_date.strftime('%Y/%m/%d'), filename) - if not new_path: - match = re.search(r'(?P20[0-9]{2})[\-/\._]?(?P[0-1]?[0-9])[\-/\._]?(?P[0-3]?[0-9])', filename) - if match: - new_path = os.path.join(dirname, match.group('year'), match.group('month'), match.group('day'), filename) - if not new_path: - match = re.search(r'(?P[0-3]?[0-9])[\-/\._]?(?P[0-1]?[0-9])[\-/\._]?(?P20[0-9]{2})', filename) - if match: - new_path = os.path.join(dirname, match.group('year'), match.group('month'), match.group('day'), filename) - if not new_path: - new_path = os.path.join(dirname, 'unknown-time', filename) - os.makedirs(os.path.dirname(new_path), exist_ok=True) - if self.no_move == False: - self._log.info(f"Moving file '{file}' to '{new_path}'...") - shutil.move(file, new_path) - else: - self._log.info(f"NOT moving file '{file}' to '{new_path}' because of --no-move") + if 'Exif.Photo.DateTimeOriginal' in self.metadata.exif_keys: + original_date = self.metadata['Exif.Photo.DateTimeOriginal'].value + self._log.debug(f"File creation time: {original_date} (type: {type(original_date)})") + new_path = os.path.join(dirname, original_date.strftime('%Y/%m/%d'), filename) + if not new_path: + match = re.search(r'(?P20[0-9]{2})[\-/\._]?(?P[0-1]?[0-9])[\-/\._]?(?P[0-3]?[0-9])', filename) + if match: + new_path = os.path.join(dirname, match.group('year'), match.group('month'), match.group('day'), filename) + if not new_path: + match = re.search(r'(?P[0-3]?[0-9])[\-/\._]?(?P[0-1]?[0-9])[\-/\._]?(?P20[0-9]{2})', filename) + if match: + new_path = os.path.join(dirname, match.group('year'), match.group('month'), match.group('day'), filename) + if not new_path: + new_path = os.path.join(dirname, 'unknown-time', filename) + os.makedirs(os.path.dirname(new_path), exist_ok=True) + if self.no_move == False: + self._log.info(f"Moving file '{file}' to '{new_path}'...") + shutil.move(file, new_path) + else: + self._log.info(f"NOT moving file '{file}' to '{new_path}' because of --no-move") def print_metadata(self): print("IPTC keys:")