def _get_cached_page_html(self, pagename, text, update=False): from uliweb.utils.common import safe_str from uliweb import settings if settings.get_var('WIKI/WIKI_PAGE_CACHED'): handler = functions.get_staticize(subdir='wiki') key = 'wiki/' + pagename def creator(text=text): content, kwargs = self._get_page_html(text) return safe_str(repr(kwargs) + '||||' + content) x = handler.get(key, creator=creator, update=update) try: kwargs, content = x.split('||||') except: self._del_cached_page_html(pagename) return self._get_page_html(text) return content, eval(kwargs) else: return self._get_page_html(text)
def _del_cached_page_html(self, pagename): from uliweb import settings if settings.get_var('WIKI/WIKI_PAGE_CACHED'): handler = functions.get_staticize(subdir='wiki') handler.delete('wiki/' + pagename)