From e21532cc62f726880b8dd71d5ca51ad8988f13a4 Mon Sep 17 00:00:00 2001 From: Mathias Rasmussen Date: Sat, 27 Jul 2019 12:08:27 +0200 Subject: [PATCH 1/2] Set file modification time according to UTC --- elodie/filesystem.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/elodie/filesystem.py b/elodie/filesystem.py index 8a71ab5f..314d255c 100644 --- a/elodie/filesystem.py +++ b/elodie/filesystem.py @@ -10,6 +10,7 @@ import re import shutil import time +import calendar from elodie import compatability from elodie import geolocation @@ -628,5 +629,5 @@ def set_utime_from_metadata(self, metadata, file_path): else: # We don't make any assumptions about time zones and # assume local time zone. - date_taken_in_seconds = time.mktime(date_taken) + date_taken_in_seconds = calendar.timegm(date_taken) os.utime(file_path, (time.time(), (date_taken_in_seconds))) From 31ec19a78c8a370a3bc9a409b34c8cadf2e80ef8 Mon Sep 17 00:00:00 2001 From: Mathias Rasmussen Date: Sat, 27 Jul 2019 12:33:44 +0200 Subject: [PATCH 2/2] Fix bug photo `get_date_taken` The return type should be `struct_time` --- elodie/media/photo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/elodie/media/photo.py b/elodie/media/photo.py index b070877b..cee4f217 100644 --- a/elodie/media/photo.py +++ b/elodie/media/photo.py @@ -60,7 +60,7 @@ def get_date_taken(self): exif = self.get_exiftool_attributes() if not exif: - return seconds_since_epoch + return time.gmtime(seconds_since_epoch) # We need to parse a string from EXIF into a timestamp. # EXIF DateTimeOriginal and EXIF DateTime are both stored