diff --git a/gallery_dl/postprocessor/mtime.py b/gallery_dl/postprocessor/mtime.py index 098984a9..3f8d90a7 100644 --- a/gallery_dl/postprocessor/mtime.py +++ b/gallery_dl/postprocessor/mtime.py @@ -9,7 +9,8 @@ """Use metadata as file modification time""" from .common import PostProcessor -from ..text import parse_int +from .. import text, util +from datetime import datetime class MtimePP(PostProcessor): @@ -27,8 +28,11 @@ class MtimePP(PostProcessor): def run(self, pathfmt): mtime = pathfmt.kwdict.get(self.key) - ts = getattr(mtime, "timestamp", None) - pathfmt.kwdict["_mtime"] = ts() if ts else parse_int(mtime) + pathfmt.kwdict["_mtime"] = ( + util.datetime_to_timestamp(mtime) + if isinstance(mtime, datetime) else + text.parse_int(mtime) + ) __postprocessor__ = MtimePP diff --git a/test/test_postprocessor.py b/test/test_postprocessor.py index 84d27471..e23cfa2d 100644 --- a/test/test_postprocessor.py +++ b/test/test_postprocessor.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -# Copyright 2019-2021 Mike Fährmann +# Copyright 2019-2022 Mike Fährmann # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as @@ -16,7 +16,7 @@ import logging import zipfile import tempfile import collections -from datetime import datetime, timezone as tz +from datetime import datetime sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from gallery_dl import extractor, output, path # noqa E402 @@ -345,7 +345,7 @@ class MtimeTest(BasePostprocessorTest): self.assertEqual(pp.key, "date") def test_mtime_datetime(self): - self._create(None, {"date": datetime(1980, 1, 1, tzinfo=tz.utc)}) + self._create(None, {"date": datetime(1980, 1, 1)}) self._trigger() self.assertEqual(self.pathfmt.kwdict["_mtime"], 315532800)