handlers.py
28 lines
| 878 B
| text/x-python
|
PythonLexer
Thomas Kluyver
|
r19010 | #encoding: utf-8 | |
"""Tornado handlers for the terminal emulator.""" | |||
# Copyright (c) IPython Development Team. | |||
# Distributed under the terms of the Modified BSD License. | |||
from tornado import web | |||
Thomas Kluyver
|
r19015 | from ..base.handlers import IPythonHandler, path_regex | |
Thomas Kluyver
|
r19011 | from ..utils import url_escape | |
Thomas Kluyver
|
r19010 | ||
class EditorHandler(IPythonHandler): | |||
Thomas Kluyver
|
r19015 | """Render the text editor interface.""" | |
Thomas Kluyver
|
r19010 | @web.authenticated | |
Thomas Kluyver
|
r19015 | def get(self, path): | |
Thomas Kluyver
|
r19011 | path = path.strip('/') | |
Thomas Kluyver
|
r19015 | if not self.contents_manager.file_exists(path): | |
raise web.HTTPError(404, u'File does not exist: %s' % path) | |||
Thomas Kluyver
|
r19011 | ||
Thomas Kluyver
|
r19040 | basename = path.rsplit('/', 1)[-1] | |
Thomas Kluyver
|
r19074 | self.write(self.render_template('edit.html', | |
Thomas Kluyver
|
r19015 | file_path=url_escape(path), | |
Thomas Kluyver
|
r19040 | basename=basename, | |
page_title=basename + " (editing)", | |||
Thomas Kluyver
|
r19011 | ) | |
) | |||
Thomas Kluyver
|
r19010 | ||
default_handlers = [ | |||
Thomas Kluyver
|
r19073 | (r"/edit%s" % path_regex, EditorHandler), | |
Thomas Kluyver
|
r19010 | ] |