summaryrefslogtreecommitdiff
path: root/src/pyssg/page.py
diff options
context:
space:
mode:
authorDavid Luevano Alvarado <david@luevano.xyz>2022-12-27 02:59:59 -0600
committerDavid Luevano Alvarado <david@luevano.xyz>2022-12-27 02:59:59 -0600
commit48cabe1df739d1452e7ecc5164122a067157b057 (patch)
tree39aff6842941e6d7fc511c068d8dff51fb228ed9 /src/pyssg/page.py
parent369944746e3bf52b93919fe4b10262fa31f15a83 (diff)
add extra method for date conversionsv0.8.3
Diffstat (limited to 'src/pyssg/page.py')
-rw-r--r--src/pyssg/page.py27
1 files changed, 21 insertions, 6 deletions
diff --git a/src/pyssg/page.py b/src/pyssg/page.py
index 0161f25..85a6a47 100644
--- a/src/pyssg/page.py
+++ b/src/pyssg/page.py
@@ -59,6 +59,23 @@ class Page:
log.debug('getting metadata "%s" failed, using optional value "%s"', var, or_else)
return or_else
+ def cdate(self, format: str) -> str:
+ if format in self.config['fmt']:
+ return self.cdatetime.strftime(self.config['fmt'][format])
+ else:
+ log.warning('format "%s" not found in config["fmt"], returning empty string', format)
+ return ''
+
+ def mdate(self, format: str) -> str:
+ if self.mdatetime is None:
+ log.warning('no mdatetime found, can\'t return a formatted string')
+ return ''
+ if format in self.config['fmt']:
+ return self.mdatetime.strftime(self.config['fmt'][format]) # type: ignore
+ else:
+ log.warning('format "%s" not found in config["fmt"], returning empty string', format)
+ return ''
+
# parses meta from self.meta, for og, it prioritizes,
# the actual og meta
def parse_metadata(self):
@@ -70,16 +87,14 @@ class Page:
log.debug('parsing timestamp')
self.cdatetime = datetime.fromtimestamp(self.ctimestamp, tz=timezone.utc)
- cdate = lambda x : self.cdatetime.strftime(self.config['fmt'][x])
- self.cdate_rss = cdate('rss_date')
- self.cdate_sitemap = cdate('sitemap_date')
+ self.cdate_rss = self.cdate('rss_date')
+ self.cdate_sitemap = self.cdate('sitemap_date')
if self.mtimestamp != 0.0:
log.debug('parsing modified timestamp')
self.mdatetime = datetime.fromtimestamp(self.mtimestamp, tz=timezone.utc)
- mdate = lambda x : self.mdatetime.strftime(self.config['fmt'][x]) # type: ignore
- self.mdate_rss = mdate('rss_date')
- self.mdate_sitemap = mdate('sitemap_date')
+ self.mdate_rss = self.mdate('rss_date')
+ self.mdate_sitemap = self.mdate('sitemap_date')
else:
log.debug('not parsing modified timestamp, hasn\'t been modified')