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.

Reply via email to