Show More
@@ -0,0 +1,43 b'' | |||||
|
1 | """A notebook manager for when the logic is done client side (in JavaScript).""" | |||
|
2 | ||||
|
3 | #----------------------------------------------------------------------------- | |||
|
4 | # Copyright (C) 2011 The IPython Development Team | |||
|
5 | # | |||
|
6 | # Distributed under the terms of the BSD License. The full license is in | |||
|
7 | # the file COPYING, distributed as part of this software. | |||
|
8 | #----------------------------------------------------------------------------- | |||
|
9 | ||||
|
10 | #----------------------------------------------------------------------------- | |||
|
11 | # Imports | |||
|
12 | #----------------------------------------------------------------------------- | |||
|
13 | ||||
|
14 | from .nbmanager import NotebookManager | |||
|
15 | ||||
|
16 | from fnmatch import fnmatch | |||
|
17 | import itertools | |||
|
18 | import os | |||
|
19 | ||||
|
20 | from IPython.config.configurable import LoggingConfigurable | |||
|
21 | from IPython.nbformat import current, sign | |||
|
22 | from IPython.utils.traitlets import Instance, Unicode, List | |||
|
23 | ||||
|
24 | #----------------------------------------------------------------------------- | |||
|
25 | # Classes | |||
|
26 | #----------------------------------------------------------------------------- | |||
|
27 | ||||
|
28 | class ClientSideNotebookManager(NotebookManager): | |||
|
29 | # The notebook directory is meaningless since we are not using | |||
|
30 | # the local filesystem. | |||
|
31 | notebook_dir = '' | |||
|
32 | ||||
|
33 | def path_exists(self, path): | |||
|
34 | # Always return true, because this check is now done client side. | |||
|
35 | return True | |||
|
36 | ||||
|
37 | def is_hidden(self, path): | |||
|
38 | # Always return false, because this check is now done client side. | |||
|
39 | return False | |||
|
40 | ||||
|
41 | def notebook_exists(self, name, path=''): | |||
|
42 | # Always return true, because this check is now done client side. | |||
|
43 | return True |
@@ -137,6 +137,13 b' class IPythonHandler(AuthenticatedHandler):' | |||||
137 | def ws_url(self): |
|
137 | def ws_url(self): | |
138 | return self.settings.get('websocket_url', '') |
|
138 | return self.settings.get('websocket_url', '') | |
139 |
|
139 | |||
|
140 | @property | |||
|
141 | def contentmanager_js_source(self): | |||
|
142 | self.log.debug("Using contentmanager: %s", self.settings.get('contentmanager_js_source', | |||
|
143 | 'base/js/contentmanager')) | |||
|
144 | return self.settings.get('contentmanager_js_source', | |||
|
145 | 'base/js/contentmanager') | |||
|
146 | ||||
140 | #--------------------------------------------------------------- |
|
147 | #--------------------------------------------------------------- | |
141 | # Manager objects |
|
148 | # Manager objects | |
142 | #--------------------------------------------------------------- |
|
149 | #--------------------------------------------------------------- | |
@@ -224,7 +231,8 b' class IPythonHandler(AuthenticatedHandler):' | |||||
224 | logged_in=self.logged_in, |
|
231 | logged_in=self.logged_in, | |
225 | login_available=self.login_available, |
|
232 | login_available=self.login_available, | |
226 | static_url=self.static_url, |
|
233 | static_url=self.static_url, | |
227 | sys_info=sys_info |
|
234 | sys_info=sys_info, | |
|
235 | contentmanager_js_source=self.contentmanager_js_source, | |||
228 | ) |
|
236 | ) | |
229 |
|
237 | |||
230 | def get_json_body(self): |
|
238 | def get_json_body(self): |
@@ -5,7 +5,7 b' require([' | |||||
5 | 'base/js/namespace', |
|
5 | 'base/js/namespace', | |
6 | 'jquery', |
|
6 | 'jquery', | |
7 | 'notebook/js/notebook', |
|
7 | 'notebook/js/notebook', | |
8 |
' |
|
8 | 'contentmanager', | |
9 | 'base/js/utils', |
|
9 | 'base/js/utils', | |
10 | 'base/js/page', |
|
10 | 'base/js/page', | |
11 | 'notebook/js/layoutmanager', |
|
11 | 'notebook/js/layoutmanager', |
@@ -7,7 +7,7 b' require([' | |||||
7 | 'base/js/events', |
|
7 | 'base/js/events', | |
8 | 'base/js/page', |
|
8 | 'base/js/page', | |
9 | 'base/js/utils', |
|
9 | 'base/js/utils', | |
10 |
' |
|
10 | 'contentmanager', | |
11 | 'tree/js/notebooklist', |
|
11 | 'tree/js/notebooklist', | |
12 | 'tree/js/clusterlist', |
|
12 | 'tree/js/clusterlist', | |
13 | 'tree/js/sessionlist', |
|
13 | 'tree/js/sessionlist', |
@@ -30,6 +30,7 b'' | |||||
30 | moment: "components/moment/moment", |
|
30 | moment: "components/moment/moment", | |
31 | codemirror: 'components/codemirror', |
|
31 | codemirror: 'components/codemirror', | |
32 | termjs: "components/term.js/src/term" |
|
32 | termjs: "components/term.js/src/term" | |
|
33 | contentmanager: '{{ contentmanager_js_source }}', | |||
33 | }, |
|
34 | }, | |
34 | shim: { |
|
35 | shim: { | |
35 | underscore: { |
|
36 | underscore: { |
General Comments 0
You need to be logged in to leave comments.
Login now