From 983fa59231403732d08716c1d7677fa3b090bd44 Mon Sep 17 00:00:00 2001 From: Dirk Alders Date: Fri, 31 Jan 2020 08:23:10 +0100 Subject: [PATCH] BugFix: Clean cached field, if no data is available --- models.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/models.py b/models.py index c4ea1d5..9640a2b 100644 --- a/models.py +++ b/models.py @@ -424,14 +424,16 @@ class Item(models.Model): for key in self.MODEL_TO_MEDIA_DATA: value = data.get(key) if key == media.metadata.KEY_GPS: # Split GPS data in lon and lat - if value is not None: - for k in self.MODEL_TO_MEDIA_DATA[key]: - setattr(self, self.MODEL_TO_MEDIA_DATA[key][k], value[k]) + for k in self.MODEL_TO_MEDIA_DATA[key]: + value_k = value[k] if value is not None else None + setattr(self, self.MODEL_TO_MEDIA_DATA[key][k], value_k) else: - if key == media.metadata.KEY_TIME: # convert time to datetime - if data.get(media.metadata.KEY_TIME_IS_SUBSTITUTION) and self.type == TYPE_IMAGE: # don't use time substitution for images - break - value = datetime.datetime.fromtimestamp(value, tz=datetime.timezone.utc) + if value is not None: + if key == media.metadata.KEY_TIME: # convert time to datetime + if data.get(media.metadata.KEY_TIME_IS_SUBSTITUTION) and self.type == TYPE_IMAGE: # don't use time substitution for images + value = None + else: + value = datetime.datetime.fromtimestamp(value, tz=datetime.timezone.utc) setattr(self, self.MODEL_TO_MEDIA_DATA[key], value) def __update_other_file_data__(self, full_path):