aboutsummaryrefslogtreecommitdiffstats
path: root/rss_generator.py
diff options
context:
space:
mode:
authormjfernez <mjf@mjfer.net>2022-03-13 15:21:11 -0400
committermjfernez <mjf@mjfer.net>2022-03-13 15:21:11 -0400
commit94f71d6f8fc7301dfd470ccf2fee27e078321a78 (patch)
tree4a6864a043f764dd01e9d5c288ebb70b9be45abb /rss_generator.py
parent150b9695fdb0ebfeca0f8d5b268249bea46ea3f3 (diff)
downloadezcms-94f71d6f8fc7301dfd470ccf2fee27e078321a78.tar.gz
Pull changes from mjfer.net
This commit adds the changes from the mjfer.net which enable using git as the file last update tracker
Diffstat (limited to 'rss_generator.py')
-rw-r--r--rss_generator.py18
1 files changed, 12 insertions, 6 deletions
diff --git a/rss_generator.py b/rss_generator.py
index bde4645..05a8b39 100644
--- a/rss_generator.py
+++ b/rss_generator.py
@@ -1,5 +1,6 @@
import os
-from time import strftime, strptime
+from datetime import datetime
+from dateutil import parser
from siteconfig import siteconfig
from view_functions import is_hidden_path, file_last_modified
@@ -12,6 +13,7 @@ class RSS_Item:
Item data is generated from a given file path
"""
+
PARAGRAPHS = siteconfig.rss_channel_config['DESCRIPTION_LENGTH']
class NotAFile(Exception):
@@ -19,6 +21,7 @@ class RSS_Item:
Throws an exception if an RSS_Item is made out of a
directory or invalid file
"""
+
def __init__(self, path: str):
self.path = path
self.message = f"{path} not a file"
@@ -32,8 +35,8 @@ class RSS_Item:
self.TITLE = path.rsplit('.', 1)[0].split('/')[-1]
self.FILE_TYPE = path.rsplit('.', 1)[1]
self.DESCRIPTION = self.parse_file()
- self.LAST_UPDATE = self.last_updated()
self.URI = self.get_uri()
+ self.LAST_UPDATE = self.last_updated()
self.LINK = siteconfig.rss_channel_config['LINK'] + self.URI
def __str__(self):
@@ -42,7 +45,10 @@ class RSS_Item:
)
def short_timestamp(self):
- return strftime("%Y-%m-%d %H:%M", strptime(self.LAST_UPDATE))
+ if self.LAST_UPDATE is None:
+ return ""
+ dt_update = parser.parse(self.LAST_UPDATE)
+ return datetime.strftime(dt_update, "%Y-%m-%d %H:%M")
def parse_file(self):
"""
@@ -76,11 +82,11 @@ class RSS_Item:
return ''.join(description)
def last_updated(self):
- return file_last_modified(self.FULL_PATH)
+ return file_last_modified(self.URI)
def get_uri(self):
- # return everything after "./templates/"
- return '/'.join(self.FULL_PATH.split('/')[2:])
+ # return everything after "./templates/site"
+ return '/'.join(self.FULL_PATH.split('/')[3:])
def get_rss_channel():