proper '.py' and '.ipynb' download files

pull/37/head
Zachary Sailer 13 years ago committed by MinRK
parent 022b8324b2
commit d4ee2da291

@ -69,17 +69,22 @@ class NotebookHandler(IPythonHandler):
self.finish(jsonapi.dumps(notebooks))
else:
format = self.get_argument('format', default='json')
download = self.get_argument('download', default='False')
model = nbm.notebook_model(name,path)
last_mod, representation, name = nbm.get_notebook(name, path, format)
if format == u'json':
self.set_header('Content-Type', 'application/json')
self.set_header('Content-Disposition','attachment; filename="%s.ipynb"' % name)
elif format == u'py':
self.set_header('Content-Type', 'application/x-python')
self.set_header('Content-Disposition','attachment; filename="%s.py"' % name)
#self.set_header('Last-Modified', last_mod)
self.finish(jsonapi.dumps(model))
self.set_header('Last-Modified', last_mod)
if download == 'True':
if format == u'json':
self.set_header('Content-Type', 'application/json')
self.set_header('Content-Disposition','attachment; filename="%s.ipynb"' % name)
self.finish(representation)
elif format == u'py':
self.set_header('Content-Type', 'application/x-python')
self.set_header('Content-Disposition','attachment; filename="%s.py"' % name)
self.finish(representation)
else:
self.finish(jsonapi.dumps(model))
@web.authenticated
def patch(self, notebook_path):

@ -91,14 +91,14 @@ var IPython = (function (IPython) {
});
this.element.find('#download_ipynb').click(function () {
var notebook_name = IPython.notebook.get_notebook_name();
var url = that.baseProjectUrl() + 'api/notebooks/' +
notebook_name + '?format=json';
var url = that.baseProjectUrl() + 'api/notebooks/' + that.notebookPath() +
notebook_name + '?format=json'+ '&download=True';
window.location.assign(url);
});
this.element.find('#download_py').click(function () {
var notebook_name = IPython.notebook.get_notebook_name();
var url = that.baseProjectUrl() + 'api/notebooks/' +
notebook_name + '?format=py';
var url = that.baseProjectUrl() + 'api/notebooks/' + that.notebookPath() +
notebook_name + '?format=py' + '&download=True';
window.location.assign(url);
});
this.element.find('#rename_notebook').click(function () {

Loading…
Cancel
Save