##// END OF EJS Templates
Make the widget property_lock store the JSON state, not the original object...
Make the widget property_lock store the JSON state, not the original object Comparison between arbitrary python objects can get crazy, whereas we really only care about if the JSON state we are syncing is different. So with this change, we store and check against the JSON state.

File last commit:

r17538:53182995
r17674:60553571
Show More
handlers.py
84 lines | 2.8 KiB | text/x-python | PythonLexer
MinRK
teach contents service about non-notebook files
r17525 """Tornado handlers for the tree view."""
Brian E. Granger
Adding new files.
r10641
MinRK
teach contents service about non-notebook files
r17525 # Copyright (c) IPython Development Team.
# Distributed under the terms of the Modified BSD License.
Brian E. Granger
Adding new files.
r10641
MinRK
remove notebook read-only view...
r11644 from tornado import web
Thomas Kluyver
Move notebook URL fragment regexen into IPython.html.base.handlers
r13916 from ..base.handlers import IPythonHandler, notebook_path_regex, path_regex
Spencer Nelson
Remove unused imports
r16525 from ..utils import url_path_join, url_escape
Brian E. Granger
Adding new files.
r10641
MinRK
Simplify Tree handlers...
r13055 class TreeHandler(IPythonHandler):
"""Render the tree view, listing notebooks, clusters, etc."""
Brian E. Granger
Adding new files.
r10641
Brian E. Granger
Adding proper breadcrumb support.
r15073 def generate_breadcrumbs(self, path):
MinRK
s/base_project_url/base_url/...
r15238 breadcrumbs = [(url_escape(url_path_join(self.base_url, 'tree')), '')]
Brian E. Granger
Adding proper breadcrumb support.
r15073 comps = path.split('/')
ncomps = len(comps)
for i in range(ncomps):
if comps[i]:
MinRK
s/base_project_url/base_url/...
r15238 link = url_escape(url_path_join(self.base_url, 'tree', *comps[0:i+1]))
Brian E. Granger
Adding proper breadcrumb support.
r15073 breadcrumbs.append((link, comps[i]))
return breadcrumbs
Brian E. Granger
Nice dashboard page titles like /.../examples/notebooks/
r15085 def generate_page_title(self, path):
comps = path.split('/')
if len(comps) > 3:
for i in range(len(comps)-2):
comps.pop(0)
Spencer Nelson
Don't urlescape the text that goes into a title tag
r16524 page_title = url_path_join(*comps)
Brian E. Granger
Nice dashboard page titles like /.../examples/notebooks/
r15085 if page_title:
Brian E. Granger
Another variation of the dashboard page title.
r15089 return page_title+'/'
Brian E. Granger
Nice dashboard page titles like /.../examples/notebooks/
r15085 else:
Brian E. Granger
Another variation of the dashboard page title.
r15089 return 'Home'
Brian E. Granger
Nice dashboard page titles like /.../examples/notebooks/
r15085
MinRK
remove notebook read-only view...
r11644 @web.authenticated
MinRK
adjust definition of 'path' in notebooks...
r13067 def get(self, path='', name=None):
MinRK
strip '/' from paths in template-render handlers
r13117 path = path.strip('/')
MinRK
rename notebooks service to contents service...
r17524 cm = self.contents_manager
Zachary Sailer
fixing broken links from recent changes....
r13033 if name is not None:
MinRK
Simplify Tree handlers...
r13055 # is a notebook, redirect to notebook handler
MinRK
url_escape redirects
r13135 url = url_escape(url_path_join(
MinRK
s/base_project_url/base_url/...
r15238 self.base_url, 'notebooks', path, name
MinRK
url_escape redirects
r13135 ))
self.log.debug("Redirecting %s to %s", self.request.path, url)
MinRK
Simplify Tree handlers...
r13055 self.redirect(url)
Zachary Sailer
manual rebase tree/handlers.py
r12990 else:
MinRK
rename notebooks service to contents service...
r17524 if not cm.path_exists(path=path):
Brian E. Granger
Creating and testing IPython.html.utils.is_hidden.
r15097 # Directory is hidden or does not exist.
MinRK
Simplify Tree handlers...
r13055 raise web.HTTPError(404)
MinRK
rename notebooks service to contents service...
r17524 elif cm.is_hidden(path):
Paul Ivanov
fix test suite...
r15630 self.log.info("Refusing to serve hidden directory, via 404 Error")
raise web.HTTPError(404)
Brian E. Granger
Adding proper breadcrumb support.
r15073 breadcrumbs = self.generate_breadcrumbs(path)
Brian E. Granger
Nice dashboard page titles like /.../examples/notebooks/
r15085 page_title = self.generate_page_title(path)
Zachary Sailer
manual rebase tree/handlers.py
r12990 self.write(self.render_template('tree.html',
Brian E. Granger
Nice dashboard page titles like /.../examples/notebooks/
r15085 page_title=page_title,
Zachary Sailer
manual rebase tree/handlers.py
r12990 notebook_path=path,
Brian E. Granger
Adding proper breadcrumb support.
r15073 breadcrumbs=breadcrumbs
MinRK
Simplify Tree handlers...
r13055 ))
Zachary Sailer
manual rebase tree/handlers.py
r12990
class TreeRedirectHandler(IPythonHandler):
MinRK
Simplify Tree handlers...
r13055 """Redirect a request to the corresponding tree URL"""
Zachary Sailer
fixing path redirects, cleaning path logic
r12992
Zachary Sailer
rebase master- eliminate read-only
r13014 @web.authenticated
MinRK
adjust definition of 'path' in notebooks...
r13067 def get(self, path=''):
MinRK
url_escape redirects
r13135 url = url_escape(url_path_join(
MinRK
s/base_project_url/base_url/...
r15238 self.base_url, 'tree', path.strip('/')
MinRK
url_escape redirects
r13135 ))
self.log.debug("Redirecting %s to %s", self.request.path, url)
Zachary Sailer
manual rebase tree/handlers.py
r12990 self.redirect(url)
Zachary Sailer
added folder creation ability using '/-new'
r13003
Brian E. Granger
More work on the handlers
r10647 #-----------------------------------------------------------------------------
# URL to handler mappings
#-----------------------------------------------------------------------------
Zachary Sailer
manual rebase tree/handlers.py
r12990 default_handlers = [
Thomas Kluyver
Move notebook URL fragment regexen into IPython.html.base.handlers
r13916 (r"/tree%s" % notebook_path_regex, TreeHandler),
(r"/tree%s" % path_regex, TreeHandler),
MinRK
Simplify Tree handlers...
r13055 (r"/tree", TreeHandler),
Adam Hodgen
Remove / from route of TreeRedirectHandler....
r17230 (r"", TreeRedirectHandler),
Zachary Sailer
manual rebase tree/handlers.py
r12990 ]