annotate src/pages/u/page_meta.py @ 1034:f82c355ffa6e

pages (u): top page (blog) is now cached
author Goffi <goffi@goffi.org>
date Mon, 22 Jan 2018 22:21:13 +0100
parents 1c9b6d2c30b5
children ff503f23ac37
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
929
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
1 #!/usr/bin/env python2.7
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
2 # -*- coding: utf-8 -*-
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
3
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
4 from libervia.server.constants import Const as C
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
5 from twisted.internet import defer
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
6 from twisted.words.protocols.jabber import jid
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
7
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
8 """page used to target a user profile, e.g. for public blog"""
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
9
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
10 name = u"user"
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
11 access = C.PAGES_ACCESS_PUBLIC # can be a callable
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
12 template = u"blog/articles.html"
1020
1c9b6d2c30b5 pages (u): activated URL caching, avoiding bridge calls on each request.
Goffi <goffi@goffi.org>
parents: 929
diff changeset
13 url_cache = True
929
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
14
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
15
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
16 @defer.inlineCallbacks
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
17 def parse_url(self, request):
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
18 try:
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
19 prof_requested = self.nextPath(request)
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
20 except IndexError:
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
21 self.pageError(request)
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
22
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
23 data = self.getRData(request)
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
24
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
25 target_profile = yield self.host.bridge.profileNameGet(prof_requested)
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
26 request.template_data[u'target_profile'] = target_profile
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
27 target_jid = yield self.host.bridge.asyncGetParamA('JabberID', 'Connection', 'value', profile_key=target_profile)
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
28 target_jid = jid.JID(target_jid)
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
29 data[u'service'] = target_jid
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
30
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
31
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
32 @defer.inlineCallbacks
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
33 def prepare_render(self, request):
1034
f82c355ffa6e pages (u): top page (blog) is now cached
Goffi <goffi@goffi.org>
parents: 1020
diff changeset
34 data = self.getRData(request)
f82c355ffa6e pages (u): top page (blog) is now cached
Goffi <goffi@goffi.org>
parents: 1020
diff changeset
35 self.checkCache(request, C.CACHE_PUBSUB, service=data[u'service'], node=None, short='microblog')
929
2345577da5ca pages (u): added u page for user public pages, for now it display blog items
Goffi <goffi@goffi.org>
parents:
diff changeset
36 self.pageRedirect(u'blog', request)