diff --git a/ShioriFeed.py b/ShioriFeed.py index 2c1c641..4a98f19 100755 --- a/ShioriFeed.py +++ b/ShioriFeed.py @@ -4,7 +4,7 @@ # | [ ShioriFeed 🔖 (OctoSpacc) ] | # # | Simple service for getting an Atom/RSS feed from your Shiori profile | # # *----------------------------------------------------------------------* # -Version = '2023-02-16' +Version = '2023-02-28' # *----------------------------------------------------------------------* # # *-------------------------------------------* # @@ -20,6 +20,7 @@ DefFeedType = 'atom' # TODO: # - Cheking if Content mode content is actually present, otherwise fall back to Archive mode or original link (using API data is unreliable it seems) +# - HTML proxy (direct access to web UI, without JS) # - Actually valid RSS # - XML stylesheet # - Filtering (tags, etc.) @@ -39,22 +40,26 @@ from socketserver import ThreadingMixIn from urllib.parse import unquote as UrlUnquote from urllib.request import urlopen, Request +HtmlHead = ''' + + + + +ShioriFeed 🔖 + + + +''' + HomeTemplate = '''\ - - - - - ShioriFeed 🔖 - - - + {{HtmlHead}} + + + +
+ +
+
+ +
+ + + + + +
+ +

+ + + + + + +

+

+ + Date: + + +

+
+
+

+ +

+
+
+
+ +'''.replace('{{HtmlHead}}', HtmlHead) def RetDebugIf(): return f'\n\n{traceback.format_exc()}' if Debug else '' @@ -278,8 +375,9 @@ def MkFeed(Data, Remote, Username, Session, Type=DefFeedType): ''' if Type == 'atom': return f'''\ - +{XmlHead} + {XmlStyle} {FeedTitle} {Generator} {FeedDate} @@ -288,8 +386,9 @@ def MkFeed(Data, Remote, Username, Session, Type=DefFeedType): ''' elif Type == 'rss': return f'''\ - +{XmlHead} + {XmlStyle} {FeedTitle} {Generator} @@ -393,7 +492,7 @@ class Handler(BaseHTTPRequestHandler): Post = self.rfile.read(int(self.headers['Content-Length'])).decode() Body = HomeTemplate.replace('', f'''

- Here's your feed: + Here's your feed: