diff --git a/IPython/html/notebook/handlers.py b/IPython/html/notebook/handlers.py index 6730017..2f963ba 100644 --- a/IPython/html/notebook/handlers.py +++ b/IPython/html/notebook/handlers.py @@ -74,7 +74,7 @@ class NotebookRedirectHandler(IPythonHandler): default_handlers = [ - (r"/notebooks/?%s" % _notebook_path_regex, NotebookHandler), - (r"/notebooks/?%s" % _path_regex, NotebookRedirectHandler), + (r"/notebooks%s" % _notebook_path_regex, NotebookHandler), + (r"/notebooks%s" % _path_regex, NotebookRedirectHandler), ] diff --git a/IPython/html/services/notebooks/handlers.py b/IPython/html/services/notebooks/handlers.py index a2cdb06..0505fb6 100644 --- a/IPython/html/services/notebooks/handlers.py +++ b/IPython/html/services/notebooks/handlers.py @@ -229,18 +229,18 @@ class ModifyNotebookCheckpointsHandler(IPythonHandler): #----------------------------------------------------------------------------- -_path_regex = r"(?P.*)" +_path_regex = r"(?P(?:/.*)*)" _checkpoint_id_regex = r"(?P[\w-]+)" _notebook_name_regex = r"(?P[^/]+\.ipynb)" _notebook_path_regex = "%s/%s" % (_path_regex, _notebook_name_regex) default_handlers = [ - (r"/api/notebooks/?%s/copy" % _notebook_path_regex, NotebookCopyHandler), - (r"/api/notebooks/?%s/checkpoints" % _notebook_path_regex, NotebookCheckpointsHandler), - (r"/api/notebooks/?%s/checkpoints/%s" % (_notebook_path_regex, _checkpoint_id_regex), + (r"/api/notebooks%s/copy" % _notebook_path_regex, NotebookCopyHandler), + (r"/api/notebooks%s/checkpoints" % _notebook_path_regex, NotebookCheckpointsHandler), + (r"/api/notebooks%s/checkpoints/%s" % (_notebook_path_regex, _checkpoint_id_regex), ModifyNotebookCheckpointsHandler), - (r"/api/notebooks/?%s" % _notebook_path_regex, NotebookHandler), - (r"/api/notebooks/?%s/?" % _path_regex, NotebookHandler), + (r"/api/notebooks%s" % _notebook_path_regex, NotebookHandler), + (r"/api/notebooks%s" % _path_regex, NotebookHandler), ] diff --git a/IPython/html/tree/handlers.py b/IPython/html/tree/handlers.py index 01b23cd..6c6c564 100644 --- a/IPython/html/tree/handlers.py +++ b/IPython/html/tree/handlers.py @@ -64,10 +64,8 @@ class TreeRedirectHandler(IPythonHandler): default_handlers = [ - (r"/tree/(.*)/", TreeRedirectHandler), - (r"/tree/?%s" % _notebook_path_regex, TreeHandler), - (r"/tree/?%s" % _path_regex, TreeHandler), - (r"/tree/", TreeRedirectHandler), + (r"/tree%s" % _notebook_path_regex, TreeHandler), + (r"/tree%s" % _path_regex, TreeHandler), (r"/tree", TreeHandler), (r"/", TreeRedirectHandler), ]