diff --git a/pelican/plugins/pdf/pdf.py b/pelican/plugins/pdf/pdf.py index 3d538e8..8b3dbfb 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 rst2pdf.createpdf import RstToPdf @@ -98,6 +99,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""" @@ -107,6 +111,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