##// END OF EJS Templates
Backport PR #7106: Changed the display order of rich output in nbconvert html...
Backport PR #7106: Changed the display order of rich output in nbconvert html The notebook rich output display order now matches that of nbconvert. This makes more sense than the other way around due to the need for the that are notebooks already shared on the web to remain consistent. Conversely local notebooks can simply be edited to match the new order.

File last commit:

r15238:ae2edd0e
r20383:70ced73a
Show More
login.py
62 lines | 1.9 KiB | text/x-python | PythonLexer
Brian E. Granger
Splitting handlers into different files....
r10642 """Tornado handlers logging into the notebook.
Brian E. Granger
Adding new files.
r10641
Authors:
* Brian Granger
"""
#-----------------------------------------------------------------------------
Brian E. Granger
Splitting handlers into different files....
r10642 # Copyright (C) 2011 The IPython Development Team
Brian E. Granger
Adding new files.
r10641 #
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
import uuid
from tornado.escape import url_escape
from IPython.lib.security import passwd_check
Brian E. Granger
Updating import statements after moving notebook files around.
r10649 from ..base.handlers import IPythonHandler
Brian E. Granger
Adding new files.
r10641
#-----------------------------------------------------------------------------
Brian E. Granger
Splitting handlers into different files....
r10642 # Handler
Brian E. Granger
Adding new files.
r10641 #-----------------------------------------------------------------------------
class LoginHandler(IPythonHandler):
def _render(self, message=None):
self.write(self.render_template('login.html',
MinRK
s/base_project_url/base_url/...
r15238 next=url_escape(self.get_argument('next', default=self.base_url)),
Brian E. Granger
Adding new files.
r10641 message=message,
))
def get(self):
if self.current_user:
MinRK
s/base_project_url/base_url/...
r15238 self.redirect(self.get_argument('next', default=self.base_url))
Brian E. Granger
Adding new files.
r10641 else:
self._render()
def post(self):
pwd = self.get_argument('password', default=u'')
if self.login_available:
if passwd_check(self.password, pwd):
self.set_secure_cookie(self.cookie_name, str(uuid.uuid4()))
else:
self._render(message={'error': 'Invalid password'})
return
MinRK
s/base_project_url/base_url/...
r15238 self.redirect(self.get_argument('next', default=self.base_url))
Brian E. Granger
Adding new files.
r10641
Brian E. Granger
More work on the handlers
r10647 #-----------------------------------------------------------------------------
# URL to handler mappings
#-----------------------------------------------------------------------------
default_handlers = [(r"/login", LoginHandler)]