flask-website/flask/floritiweb/lib/snippets/marginews.py
2025-05-15 21:05:28 +02:00

49 lines
1.4 KiB
Python

from markupsafe import Markup
#from jinja2 import Markup
def marginews(self, feed, heading, link, readMore, content_file, addLinks=None):
template = f"""
<div class="headlineRightColumn">
<a href="<% {feed} %>">
<img src="/bilder/rss.png" align="right" alt="RSS" />
</a>
<a href="{link}">{heading}</a>
</div>
<div class="boxRightColumn boxRightColumnStartseite">
"""
if isinstance(addLinks, list):
addLinks_str = '<div class="weiternews">'
for text, url in addLinks:
addLinks_str += f'<a href="{url}">{text}</a> &bull;'
addLinks_str += '</div>'
elif addLinks:
addLinks_str = ( '<!-- Error: addLinks is a ' + type(addLinks).__name__
+ ', needs to be list! -->' )
else:
addLinks_str = '<!-- No added links -->'
if readMore:
readMore = f"""
<div class="weiternews">
<a href="http://ub.blog.uni-heidelberg.de">
{self.i18n(de="Weiteres im UBlog", en="Earlier UBlog posts")}
&hellip;</a>
</div>
"""
else:
readMore = ''
readMore += '</div>'
try:
content_file = "/web/news/" + content_file + '.news'
with open(content_file, 'r') as content:
out_string = content.read()
except OSError as e:
return str(e)
else:
return Markup(template + out_string + addLinks_str + readMore)