implement 'mtime' post-processor (#332)

This can set a file's modification time according to a UNIX timestamp
or a datetime object from its metadata.
This commit is contained in:
Mike Fährmann
2019-07-14 22:37:28 +02:00
parent 62097284fe
commit 16c582aaf9
6 changed files with 65 additions and 13 deletions

View File

@@ -15,6 +15,7 @@ modules = [
"classify",
"exec",
"metadata",
"mtime",
"ugoira",
"zip",
]

View File

@@ -0,0 +1,27 @@
# -*- coding: utf-8 -*-
# Copyright 2019 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
# published by the Free Software Foundation.
"""Use metadata as file modification time"""
from .common import PostProcessor
from ..text import parse_int
class MtimePP(PostProcessor):
def __init__(self, pathfmt, options):
PostProcessor.__init__(self)
self.key = options.get("key", "date")
def run(self, pathfmt):
mtime = pathfmt.keywords.get(self.key)
ts = getattr(mtime, "timestamp", None)
pathfmt.keywords["_mtime"] = ts() if ts else parse_int(mtime)
__postprocessor__ = MtimePP