Mercurial > libervia-web
comparison libervia/server/pages.py @ 1167:7d2e098ea3f4
pages (cache): separate cached pages using locales, to avoid having a page cache in a specific locale used for an other one.
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 12 Apr 2019 13:58:02 +0200 |
parents | 6424d3684d1e |
children | ea0caa7b1bcc |
comparison
equal
deleted
inserted
replaced
1166:5baf7ece44a0 | 1167:7d2e098ea3f4 |
---|---|
925 u'registered')) | 925 u'registered')) |
926 return | 926 return |
927 if profile != C.SERVICE_PROFILE: | 927 if profile != C.SERVICE_PROFILE: |
928 # only service profile is cache for now | 928 # only service profile is cache for now |
929 return | 929 return |
930 session_data = self.host.getSessionData(request, session_iface.ISATSession) | |
931 locale = session_data.locale | |
932 if locale == C.DEFAULT_LOCALE: | |
933 # no need to duplicate cache here | |
934 locale = None | |
930 try: | 935 try: |
931 cache = (self.cache[profile][cache_type][service][node] | 936 cache = (self.cache[profile][cache_type][service][node] |
932 [self.vhost_root][request.uri][self]) | 937 [self.vhost_root][request.uri][locale][self]) |
933 except KeyError: | 938 except KeyError: |
934 # no cache yet, let's subscribe to the pubsub node | 939 # no cache yet, let's subscribe to the pubsub node |
935 d1 = self.host.bridgeCall( | 940 d1 = self.host.bridgeCall( |
936 "psSubscribe", service.full(), node, {}, profile | 941 "psSubscribe", service.full(), node, {}, profile |
937 ) | 942 ) |
938 d1.addCallback(self.checkCacheSubscribeCb, service, node) | 943 d1.addCallback(self.checkCacheSubscribeCb, service, node) |
939 d1.addErrback(self.checkCacheSubscribeEb, service, node) | 944 d1.addErrback(self.checkCacheSubscribeEb, service, node) |
940 d2 = self.host.bridgeCall("psNodeWatchAdd", service.full(), node, profile) | 945 d2 = self.host.bridgeCall("psNodeWatchAdd", service.full(), node, profile) |
941 d2.addErrback(self.psNodeWatchAddEb, service, node) | 946 d2.addErrback(self.psNodeWatchAddEb, service, node) |
942 self._do_cache = [self, profile, cache_type, service, node, | 947 self._do_cache = [self, profile, cache_type, service, node, |
943 self.vhost_root, request.uri] | 948 self.vhost_root, request.uri, locale] |
944 # we don't return the Deferreds as it is not needed to wait for | 949 # we don't return the Deferreds as it is not needed to wait for |
945 # the subscription to continue with page rendering | 950 # the subscription to continue with page rendering |
946 return | 951 return |
947 | 952 |
948 else: | 953 else: |