def _items_cachekey(fun, self): # try to get modified time of taxonomy utility try: mtime = self.terms.terms.data._p_mtime key = '{0}-{1}'.format(self.field.__name__, mtime) return key except AttributeError: # XXX: this happens with newly created taxonomies # from profiles/xxx/taxonomies ... why are they not an utility? # do not cache this. raise ram.DontCache()
def _render_cachekey(fun, self): if self.anonymous: raise ram.DontCache() key = StringIO() print >> key, self.request.URL.decode('ascii', 'replace') print >> key, get_language(aq_inner(self.context), self.request) if self.is_site_home: print >> key, self.portal.modified() else: print >> key, self.context.modified() return key.getvalue()
def _render_cachekey(fun, self): context = aq_inner(self.context) if not self.updated: self.update() if self.calendar.getUseSession(): raise ram.DontCache() else: portal_state = getMultiAdapter((context, self.request), name=u'plone_portal_state') key = StringIO() print >> key, [k.encode('utf-8') for k in self.data.kw] print >> key, self.data.review_state print >> key, self.data.name print >> key, portal_state.navigation_root_url() print >> key, cache.get_language(context, self.request) print >> key, self.calendar.getFirstWeekDay() year, month = self.getYearAndMonthToDisplay() print >> key, year print >> key, month navigation_root_path = self.root() start = DateTime('%s/%s/1' % (year, month)) end = DateTime('%s/%s/1 23:59:59' % self.getNextMonth(year, month)) - 1 catalog = getToolByName(context, 'portal_catalog') self.options = {} if navigation_root_path: root_content = self.context.restrictedTraverse( navigation_root_path) if IATTopic.providedBy(root_content): self.options = root_content.buildQuery() elif ICollection.providedBy(root_content): self.options = parseFormquery( root_content, root_content.getField('query').getRaw(root_content)) print >> key, root_content.modified() self.options['start'] = {'query': end, 'range': 'max'} self.options['end'] = {'query': start, 'range': 'min'} _define_search_options(self, self.options) brains = catalog(**self.options) for brain in brains: add_cachekey(key, brain) return key.getvalue()
def _render_cachekey(fun, self): if self.anonymous: raise ram.DontCache() context = aq_inner(self.context) def add(object): brain = object[1] path = brain.getPath().decode('ascii', 'replace') return "%s\n%s\n%s\n\n" % (path, object[0], brain.modified) fingerprint = "".join(map(add, self._data())) anonymous = getToolByName(context, 'portal_membership').isAnonymousUser() return "".join((getToolByName(aq_inner(self.context), 'portal_url')(), get_language(aq_inner(self.context), self.request), str(anonymous), self.manager.__name__, self.data.__name__, fingerprint))
def _render_cachekey(fun, self): context = aq_inner(self.context) if not self.updated: self.update() if self.calendar.getUseSession(): raise ram.DontCache() else: portal_state = getMultiAdapter( (context, self.request), name='plone_portal_state') key = StringIO() print >> key, portal_state.navigation_root_url() print >> key, cache.get_language(context, self.request) print >> key, self.calendar.getFirstWeekDay() year, month = self.getYearAndMonthToDisplay() print >> key, year print >> key, month navigation_root_path = portal_state.navigation_root_path() start = DateTime('%s/%s/1' % (year, month)) end = DateTime('%s/%s/1 23:59:59' % self.getNextMonth(year, month)) - 1 def add(brain): key.write(brain.getPath()) key.write('\n') key.write(brain.modified) key.write('\n\n') catalog = getToolByName(context, 'portal_catalog') path = navigation_root_path brains = catalog( portal_type=self.calendar.getCalendarTypes(), review_state=self.calendar.getCalendarStates(), start={'query': end, 'range': 'max'}, end={'query': start, 'range': 'min'}, path=path) for brain in brains: add(brain) return key.getvalue()
def _render_cachekey(fun, self): if self.anonymous: raise ram.DontCache() context = aq_inner(self.context) def add(brain): path = self.request.URL.decode('ascii','replace') return "%s\n%s\n\n" % (path,brain.has_key('lastchangedate') and brain['lastchangedate']) fingerprint = "".join(map(add, self._data())) anonymous = getToolByName(context, 'portal_membership').isAnonymousUser() return "".join(( getToolByName(aq_inner(self.context), 'portal_url')(), get_language(aq_inner(self.context), self.request), str(anonymous), self.manager.__name__, self.data.__name__, fingerprint))
def _render_cachekey(fun, self): if self.anonymous: raise ram.DontCache() context = aq_inner(self.context) def add(brain): path = brain.getPath().decode('ascii', 'replace') return "%s\n%s\n\n" % (path, brain.modified) objdata = self._data() objalldata = [objdata.extend(self._data(k)) for k in self.typesToShow] fingerprint = "".join(map(add, objdata)) + "\n" + "\n".join( [str(k) for k in self.data.resultscount.values()]) anonymous = getToolByName(context, 'portal_membership').isAnonymousUser() return "".join((getToolByName(aq_inner(self.context), 'portal_url')(), get_language(aq_inner(self.context), self.request), str(anonymous), self.manager.__name__, self.data.__name__, fingerprint))
def _render_cachekey(fun, self): if self.anonymous: raise ram.DontCache() context = aq_inner(self.context) def add(object): name = object['id'].decode('ascii','replace') return "%s\n%s\n\n" % (name,object['count']) path = "/".join(self.context.getPhysicalPath()).decode('ascii', 'replace') if self.is_site_home: path = "/".join(self.portal.getPhysicalPath()).decode('ascii', 'replace') fingerprint = "".join(map(add,self._data())) + "\n" + path + "\n\n" anonymous = getToolByName(context, 'portal_membership').isAnonymousUser() return "".join(( getToolByName(aq_inner(self.context), 'portal_url')(), get_language(aq_inner(self.context), self.request), str(anonymous), self.manager.__name__, self.data.__name__, fingerprint))
def _render_cachekey(fun, self): raise ram.DontCache() if self.anonymous: raise ram.DontCache() return render_cachekey(fun, self)