49 lines
1.4 KiB
Python
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> •'
|
|
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")}
|
|
…</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)
|
|
|
|
|