'/sources/(.*)', 'sources', '/messages/', 'messages', '/devices/(.*)', 'devices', '/profile', 'profile', '/notifry', 'notifry', '/page/(.*)', 'page', ) # Create the renderer and the initial context. renderer = Renderer('templates/') renderer.addTemplate('user', users.get_current_user()) renderer.addTemplate('title', '') renderer.addTemplate('dateformat', '%A, %d %B %Y %H:%M UTC') # Helper function to make sure the user is aware that login is required. def login_required(): if not users.get_current_user(): if renderer.get_mode() == 'html': # Redirect to a login page, coming back here when done. raise web.found(users.create_login_url(web.url())) elif renderer.get_mode() == 'json': # Return an error in JSON. renderer.addData('error', 'Not logged in.') return renderer.render('apionly.html')