From 38bc6430d31e0cd57d9e335d4d5c12c6796167a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Fri, 10 Apr 2020 22:24:32 +0200 Subject: [PATCH] [downloader:http] don't overwrite existing '_mtime' fields --- gallery_dl/downloader/http.py | 6 +++++- gallery_dl/util.py | 17 ++++++++--------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/gallery_dl/downloader/http.py b/gallery_dl/downloader/http.py index 844e422c..64a29789 100644 --- a/gallery_dl/downloader/http.py +++ b/gallery_dl/downloader/http.py @@ -164,7 +164,11 @@ class HttpDownloader(DownloaderBase): self.downloading = False if self.mtime: - pathfmt.kwdict["_mtime"] = response.headers.get("Last-Modified") + pathfmt.kwdict.setdefault( + "_mtime", response.headers.get("Last-Modified")) + else: + pathfmt.kwdict["_mtime"] = None + return True def receive(self, response, file): diff --git a/gallery_dl/util.py b/gallery_dl/util.py index 47fad9ec..83cf84bb 100644 --- a/gallery_dl/util.py +++ b/gallery_dl/util.py @@ -840,16 +840,15 @@ class PathFormat(): shutil.copyfile(self.temppath, self.realpath) os.unlink(self.temppath) - if "_mtime" in self.kwdict: + mtime = self.kwdict.get("_mtime") + if mtime: # Set file modification time - mtime = self.kwdict["_mtime"] - if mtime: - try: - if isinstance(mtime, str): - mtime = mktime_tz(parsedate_tz(mtime)) - os.utime(self.realpath, (time.time(), mtime)) - except Exception: - pass + try: + if isinstance(mtime, str): + mtime = mktime_tz(parsedate_tz(mtime)) + os.utime(self.realpath, (time.time(), mtime)) + except Exception: + pass class DownloadArchive():