def comic_most_recent(request): page = ( session.query(ComicPage) .join(ComicPage.chapter) # "Most recent" never includes the queue .filter(~ ComicPage.is_queued) .order_by(ComicPage.order.desc()) .first() ) comic = page.chapter.comic include_queued = request.has_permission('queue', comic) adjacent_pages = get_adjacent_pages(page, include_queued) # TODO this is duplicated below lol from spline_wiki.models import Wiki wiki = Wiki(request.registry.settings['spline.wiki.root']) transcript = wiki['!comic-pages'][str(page.id)]['en'] ns = dict( comic=comic, page=page, transcript=transcript, adjacent_pages=adjacent_pages, ) # TODO sometime maybe the landing page will be a little more interesting # and this can go away if page: renderer = 'spline_comic:templates/page.mako' else: renderer = 'spline_comic:templates/comic-landing.mako' return render_to_response(renderer, ns, request=request)
def comic_most_recent(request): page = ( session.query(ComicPage).join(ComicPage.chapter) # "Most recent" never includes the queue .filter(~ComicPage.is_queued).order_by(ComicPage.order.desc()).first()) comic = page.chapter.comic include_queued = request.has_permission('queue', comic) adjacent_pages = get_adjacent_pages(page, include_queued) # TODO this is duplicated below lol from spline_wiki.models import Wiki wiki = Wiki(request.registry.settings['spline.wiki.root']) transcript = wiki['!comic-pages'][str(page.id)]['en'] ns = dict( comic=comic, page=page, transcript=transcript, adjacent_pages=adjacent_pages, ) # TODO sometime maybe the landing page will be a little more interesting # and this can go away if page: renderer = 'spline_comic:templates/page.mako' else: renderer = 'spline_comic:templates/comic-landing.mako' return render_to_response(renderer, ns, request=request)
def render_current_page(request): # TODO it would be nice, in theory, if there were a little plugin-scoped # bucket for storing data in, in case there's something expensive that # multiple blocks need latest_page = get_recent_pages().first() adjacent_pages = get_adjacent_pages(latest_page, include_queued=False) return dict( page=latest_page, adjacent_pages=adjacent_pages, )
def comic_page(page, request): include_queued = request.has_permission("queue", page.comic) if page.is_queued and not include_queued: # 404 instead of 403 to prevent snooping return HTTPNotFound() adjacent_pages = get_adjacent_pages(page, include_queued) from spline_wiki.models import Wiki wiki = Wiki(request.registry.settings["spline.wiki.root"]) transcript = wiki["!comic-pages"][str(page.id)]["en"] return dict(comic=page.comic, page=page, transcript=transcript, adjacent_pages=adjacent_pages)
def comic_page(page, request): include_queued = request.has_permission('queue', page.comic) if page.is_queued and not include_queued: # 404 instead of 403 to prevent snooping return HTTPNotFound() adjacent_pages = get_adjacent_pages(page, include_queued) from spline_wiki.models import Wiki wiki = Wiki(request.registry.settings['spline.wiki.root']) transcript = wiki['!comic-pages'][str(page.id)]['en'] return dict( comic=page.comic, page=page, transcript=transcript, adjacent_pages=adjacent_pages, )