comparison libervia/pages/blog/view/page_meta.py @ 1491:3002ea1d6ae9

pages (blog/view): don't use backend cache when "no cache" is requested
author Goffi <goffi@goffi.org>
date Wed, 26 Jan 2022 10:24:46 +0100
parents 595e7fef41f3
children 1702b8c821c4
comparison
equal deleted inserted replaced
1490:774a81a6e8b5 1491:3002ea1d6ae9
1 #!/usr/bin/env python3 1 #!/usr/bin/env python3
2 2
3 import html 3 import html
4 from typing import Dict, Any
4 from libervia.server.constants import Const as C 5 from libervia.server.constants import Const as C
5 from twisted.words.protocols.jabber import jid 6 from twisted.words.protocols.jabber import jid
6 from twisted.web import server 7 from twisted.web import server
7 from sat.core.i18n import _, D_ 8 from sat.core.i18n import _, D_
8 from sat.tools.common.template import safe 9 from sat.tools.common.template import safe
116 117
117 118
118 async def appendComments(self, request, blog_items, profile): 119 async def appendComments(self, request, blog_items, profile):
119 await self.fillMissingIdentities( 120 await self.fillMissingIdentities(
120 request, [i['author_jid'] for i in blog_items['items']]) 121 request, [i['author_jid'] for i in blog_items['items']])
122 extra: Dict[str, Any] = {C.KEY_ORDER_BY: C.ORDER_BY_CREATION}
123 if not self.useCache(request):
124 extra[C.KEY_USE_CACHE] = False
121 for blog_item in blog_items['items']: 125 for blog_item in blog_items['items']:
122 for comment_data in blog_item['comments']: 126 for comment_data in blog_item['comments']:
123 service = comment_data['service'] 127 service = comment_data['service']
124 node = comment_data['node'] 128 node = comment_data['node']
125 try: 129 try:
127 service, 131 service,
128 node, 132 node,
129 C.NO_LIMIT, 133 C.NO_LIMIT,
130 [], 134 [],
131 data_format.serialise( 135 data_format.serialise(
132 {C.KEY_ORDER_BY: C.ORDER_BY_CREATION} 136 extra
133 ), 137 ),
134 profile) 138 profile)
135 except Exception as e: 139 except Exception as e:
136 log.warning( 140 log.warning(
137 _("Can't get comments at {node} (service: {service}): {msg}").format( 141 _("Can't get comments at {node} (service: {service}): {msg}").format(
149 self, 153 self,
150 request: server.Request, 154 request: server.Request,
151 service: jid.JID, 155 service: jid.JID,
152 node: str, 156 node: str,
153 item_id, 157 item_id,
154 extra: dict, 158 extra: Dict[str, Any],
155 profile: str 159 profile: str
156 ) -> dict: 160 ) -> dict:
157 try: 161 try:
158 if item_id: 162 if item_id:
159 items_id = [item_id] 163 items_id = [item_id]
160 else: 164 else:
161 items_id = [] 165 items_id = []
166 if not self.useCache(request):
167 extra[C.KEY_USE_CACHE] = False
162 blog_data = await self.host.bridgeCall('mbGet', 168 blog_data = await self.host.bridgeCall('mbGet',
163 service.userhost(), 169 service.userhost(),
164 node, 170 node,
165 C.NO_LIMIT, 171 C.NO_LIMIT,
166 items_id, 172 items_id,