From d55c4640db7d924e155af2c6f3a17c9d263f6a18 Mon Sep 17 00:00:00 2001 From: Dominik Wombacher Date: Sat, 10 Jun 2023 01:48:33 +0200 Subject: [PATCH] feat: set modified time of generated pdf equal to related article --- pelican/plugins/pdf/pdf.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pelican/plugins/pdf/pdf.py b/pelican/plugins/pdf/pdf.py index faac68d..0854439 100644 --- a/pelican/plugins/pdf/pdf.py +++ b/pelican/plugins/pdf/pdf.py @@ -9,6 +9,7 @@ import logging import os import re +import time from pelican import signals from pelican.generators import Generator @@ -102,6 +103,9 @@ def _create_pdf(self, obj, output_path): self.pdfcreator.createPdf(text=(header + text), output=output_pdf) + if obj.date is not None: + self._set_file_utime(output_pdf, obj.date) + def _get_intrasite_link_regex(self): intrasite_link_regex = self.settings["INTRASITE_LINK_REGEX"] regex = r""" @@ -111,6 +115,11 @@ def _get_intrasite_link_regex(self): ) return re.compile(regex, re.X) + def _set_file_utime(self, path, datetime): + """Set modified time (mtime) of specified file.""" + mtime = time.mktime(datetime.timetuple()) + os.utime(path, (mtime, mtime)) + def generate_context(self): pass