view pages/news/page_meta.py @ 10:0e9e97777fe0

doc: `-` in doc name is replace by `/`: this is needed for Cagou which is deskop/mobile frontend.
author Goffi <goffi@goffi.org>
date Fri, 23 Apr 2021 11:04:23 +0200
parents dc880664a8ec
children 5fd933e238bb
line wrap: on
line source

from libervia.server.constants import Const as C
from twisted.words.protocols.jabber import jid
from sat.core.i18n import _
from sat.core.log import getLogger

log = getLogger(__name__)

name = "news"
template = "news/news.html"
service = None
node = None


async 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")
    await blog_page.prepare_render(self, request)