Mercurial > libervia-website
diff pages/news/page_meta.py @ 0:09d66acc7c73
initial commit, website first draft:
- presentation page
- documentation (generated from backend and Libervia)
- social contract (HTML generated from sat repository)
- press/conferences (adapted from former website)
- association page (adpated from former website)
- news (a selected blog is displayed)
- fr i18n
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 26 May 2019 22:26:30 +0200 |
parents | |
children | 9ce41ef66dfa |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pages/news/page_meta.py Sun May 26 22:26:30 2019 +0200 @@ -0,0 +1,46 @@ +#!/usr/bin/env python2.7 +# -*- coding: utf-8 -*- + +from libervia.server.constants import Const as C +from twisted.words.protocols.jabber import jid +from twisted.internet import defer +from sat.core.i18n import _ +from sat.core.log import getLogger + +log = getLogger(__name__) + +name = u"news" +template = u"news/news.html" +service = None +node = None + + +@defer.inlineCallbacks +def prepare_render(self, request): + global service, node + if service is None: + blog_dict = self.getConfig(u'news_blog_dict', {}) + try: + service = jid.JID(blog_dict['service']) + except RuntimeError as e: + log.warning(_(u"Can't parse service in news_blog_dict: {e}").format(e=e)) + service = None + except KeyError: + log.warnning(_(u"Missing service in news_blog_dict")) + service = None + node = blog_dict.get('node', u'') + if not blog_dict or service is None: + log.warning(_(u'No value set for news_blog_dict, "news" page can\'t be used')) + self.pageError(request, C.HTTP_SERVICE_UNAVAILABLE) + + data = self.getRData(request) + data[u'service'] = service + data[u'node'] = node + + # self.checkCache( + # request, C.CACHE_PUBSUB, service=service, node=node, short="microblog") + + # we now need blog items, using blog common page + # this will fill the "items" template data + blog_page = self.getPageByName(u"blog_view") + yield blog_page.prepare_render(self, request)