Skip to content

Instantly share code, notes, and snippets.

@inklesspen
Created May 4, 2013 06:54
Show Gist options
  • Select an option

  • Save inklesspen/5516525 to your computer and use it in GitHub Desktop.

Select an option

Save inklesspen/5516525 to your computer and use it in GitHub Desktop.
from wsgiref.simple_server import make_server
from pyramid.config import Configurator
from pyramid.httpexceptions import HTTPFound
def show_popular(request):
pageno_s = request.matchdict['pageno']
if pageno_s == '':
pageno_s = '1'
pageno = int(pageno_s)
if pageno < 1:
return HTTPFound(request.route_path('popular', pageno=1))
retval = {
'pageno': pageno,
'next': request.route_url('popular', pageno=pageno+1)
}
if pageno > 1:
retval['prev'] = request.route_url('popular', pageno=pageno-1)
return retval
def popular_pregenerator(request, elements, kw):
if kw['pageno'] == 1:
kw['pageno'] = ''
return elements, kw
if __name__ == '__main__':
config = Configurator()
config.add_route('popular', '/popular/{pageno:\d*}', pregenerator=popular_pregenerator)
config.add_view(show_popular, route_name='popular', renderer='json')
app = config.make_wsgi_app()
server = make_server('0.0.0.0', 8080, app)
server.serve_forever()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment