Continuation of the story.
I've looked into few feed generating libraries but they either seems
outdated or too large and complex for my needs.
So for now I just decided to generate very simple RSS XML manually:
@expose()
def rssfeed(self):
feed = u'<?xml version="1.0" encoding="utf-8"?>' \
'<rss version="2.0">'\
'<channel>' \
'<title>Кафе Альфа — новости</title>' \
'<link>http://127.0.0.1:8000</link>' \
'<description>Новости команды Кафе
Альфа</description><language>ru</language>'
feed +=
'<lastBuildDate>{0}</lastBuildDate>'.format(datetime.today())
for news in
DBSession.query(News).order_by(News.id.desc()).limit(5).all(): # last 5
news
item = u'<item>' \
u'<title>{title}</title>' \
u'<link>{link}</link>' \
u'<description>{description}</description>' \
u'<dc:creator
xmlns:dc="http://purl.org/dc/elements/1.1/">{author}</dc:creator>' \
u'<pubDate>{date}</pubDate>' \
u'</item>'.format(title=news.title, link=news.url,
description=news.text,
author=news.author.display_name,
date=news.date)
feed += item
feed += u'</channel></rss>'
return feed
суббота, 4 апреля 2020 г., 18:48:20 UTC+3 пользователь Mikhail написал:
>
> Hello!
> I continue to port my project from some old version of Turbogears to 2.4.
>
> To generate RSS feed I've used webhelpers.feedgenerator which seems
> outdated. Newer WebHelpers2 have not built in feed generators and recommend
> to use Mako templates.
>
> So my decision was to use Kajiki engine we already have to generate feed.
> The issue is Kajiki refuses to process this required xml part:
>
> <?xml version="1.0" encoding="utf-8" ?>
>
> on top of the template file with error
>
> kajiki.xml_template.XMLTemplateParseError
>
> kajiki.xml_template.XMLTemplateParseError:
> [/home/uni/projects/cafealpha-tg23/venv/cafealpha/cafealpha/templates/rssfeed.xhtml:1]
>
> XML or text declaration not at start of entity
>
>
> --> <!DOCTYPE kajiki SYSTEM "kajiki.dtd"><?xml version="1.0"
> encoding="utf-8" ?>
> <rss version="2.0">
> <channel>
>
> Setting first tag to <!DOCTYPE xml> doesn't help.
>
> Does anyone know right way to generate RSS or Atom feed using latest
> TurboGears?
>
>
>
--
You received this message because you are subscribed to the Google Groups
"TurboGears" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/turbogears/2c1cda12-d813-438e-a78e-2fd1737a3219%40googlegroups.com.