def get_page_or_404(request, url=None): if not url: url = request.path page = babylon.get('PageCache', url) if not page: raise Http404 return page
def generate(self, url=False, pjax=False, request=False, *args, **kwargs): def fix_url(url): if url[-1] != '/': url = url + '/' if url[0] != '/': url = '/' + url return url if not request: return False try: url = fix_url(url) page = babylon.get('PageCache', url) template = page.template_override if not template: template = 'page.html' parent = 'base.html' if pjax: parent = 'pjax.html' return TemplateResponse(request, template, { 'active': page, 'page': page, 'parent': parent }).render().content except Page.DoesNotExist: return False return page
def rendered_page_or_404(request, url=None): if not url: url = request.path pjax = request.GET.get('HTTP_X_PJAX', False) content = babylon.get('RenderedPageCache', url, pjax, request=request) if not content: raise Http404 return content
def render(self, context): identifier = self.identifier.resolve(context) try: kwargs = {} if hasattr(context, 'active'): kwargs['active'] = context['active'] content = babylon.get('PageContentCache', identifier, **kwargs) context.push() context[self.as_var] = content output = self.nodelist.render(context) context.pop() return output except PageContent.DoesNotExist: return ''
def babylon_get(cache, *args, **kwargs): return babylon.get(cache, *args, **kwargs)