view pages/news/page_meta.py @ 6:9ce41ef66dfa

python 3 port
author Goffi <goffi@goffi.org>
date Sat, 05 Oct 2019 01:26:51 +0200
parents 09d66acc7c73
children dc880664a8ec
line wrap: on
line source

#!/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 = "news"
template = "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('news_blog_dict', {})
        try:
            service = jid.JID(blog_dict['service'])
        except RuntimeError as e:
            log.warning(_("Can't parse service in news_blog_dict: {e}").format(e=e))
            service = None
        except KeyError:
            log.warnning(_("Missing service in news_blog_dict"))
            service = None
        node = blog_dict.get('node', '')
        if not blog_dict or service is None:
            log.warning(_('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['service'] = service
    data['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("blog_view")
    yield blog_page.prepare_render(self, request)