##// END OF EJS Templates
allow purging local results as long as they are not outstanding...
allow purging local results as long as they are not outstanding also switch to RuntimeError, not assert

File last commit:

r13693:4daff2b9
r13917:06a51242
Show More
session.js
118 lines | 3.4 KiB | application/javascript | JavascriptLexer
Zachary Sailer
manual rebase static/services (add session.js)
r12987 //----------------------------------------------------------------------------
MinRK
review pass on multidir js
r13103 // Copyright (C) 2013 The IPython Development Team
Zachary Sailer
manual rebase static/services (add session.js)
r12987 //
// Distributed under the terms of the BSD License. The full license is in
// the file COPYING, distributed as part of this software.
//----------------------------------------------------------------------------
//============================================================================
// Notebook
//============================================================================
var IPython = (function (IPython) {
MinRK
review pass on multidir js
r13103 "use strict";
Zachary Sailer
manual rebase static/services (add session.js)
r12987
MinRK
review pass on multidir js
r13103 var utils = IPython.utils;
var Session = function(notebook_name, notebook_path, notebook){
Zachary Sailer
manual rebase static/services (add session.js)
r12987 this.kernel = null;
Zachary Sailer
Fixed session js ajax request....
r13060 this.id = null;
this.name = notebook_name;
this.path = notebook_path;
MinRK
review pass on multidir js
r13103 this.notebook = notebook;
this._baseProjectUrl = notebook.baseProjectUrl();
Zachary Sailer
manual rebase static/services (add session.js)
r12987 };
MinRK
Cells shouldn't know about Sessions
r13133 Session.prototype.start = function(callback) {
MinRK
review pass on multidir js
r13103 var that = this;
var model = {
notebook : {
name : this.name,
path : this.path
}
};
Zachary Sailer
changes after session manager code review
r13057 var settings = {
processData : false,
cache : false,
type : "POST",
MinRK
review pass on multidir js
r13103 data: JSON.stringify(model),
Zachary Sailer
changes after session manager code review
r13057 dataType : "json",
MinRK
Cells shouldn't know about Sessions
r13133 success : function (data, status, xhr) {
that._handle_start_success(data);
if (callback) {
callback(data, status, xhr);
}
},
Zachary Sailer
changes after session manager code review
r13057 };
MinRK
make sure to encode URL components for API requests...
r13693 var url = utils.url_join_encode(this._baseProjectUrl, 'api/sessions');
Zachary Sailer
changes after session manager code review
r13057 $.ajax(url, settings);
Zachary Sailer
manual rebase static/services (add session.js)
r12987 };
MinRK
Cells shouldn't know about Sessions
r13133 Session.prototype.rename_notebook = function (name, path) {
Zachary Sailer
Fixed session js ajax request....
r13060 this.name = name;
this.path = path;
MinRK
review pass on multidir js
r13103 var model = {
notebook : {
name : this.name,
path : this.path
}
};
Zachary Sailer
Add 'patch' to session & notebook, rename working
r12997 var settings = {
processData : false,
cache : false,
type : "PATCH",
MinRK
review pass on multidir js
r13103 data: JSON.stringify(model),
Zachary Sailer
Add 'patch' to session & notebook, rename working
r12997 dataType : "json",
};
MinRK
make sure to encode URL components for API requests...
r13693 var url = utils.url_join_encode(this._baseProjectUrl, 'api/sessions', this.id);
Zachary Sailer
Add 'patch' to session & notebook, rename working
r12997 $.ajax(url, settings);
MinRK
review pass on multidir js
r13103 };
Zachary Sailer
Add 'patch' to session & notebook, rename working
r12997
MinRK
Cells shouldn't know about Sessions
r13133 Session.prototype.delete = function() {
Zachary Sailer
Add 'patch' to session & notebook, rename working
r12997 var settings = {
processData : false,
cache : false,
type : "DELETE",
dataType : "json",
};
Paul Ivanov
fix: JS kernel state should reflect killed state
r13308 this.kernel.running = false;
MinRK
make sure to encode URL components for API requests...
r13693 var url = utils.url_join_encode(this._baseProjectUrl, 'api/sessions', this.id);
Zachary Sailer
Add 'patch' to session & notebook, rename working
r12997 $.ajax(url, settings);
};
Zachary Sailer
manual rebase static/services (add session.js)
r12987 // Kernel related things
/**
MinRK
Cells shouldn't know about Sessions
r13133 * Create the Kernel object associated with this Session.
Zachary Sailer
manual rebase static/services (add session.js)
r12987 *
MinRK
Cells shouldn't know about Sessions
r13133 * @method _handle_start_success
Zachary Sailer
manual rebase static/services (add session.js)
r12987 */
MinRK
Cells shouldn't know about Sessions
r13133 Session.prototype._handle_start_success = function (data, status, xhr) {
this.id = data.id;
MinRK
review pass on multidir js
r13103 var base_url = utils.url_path_join($('body').data('baseKernelUrl'), "api/kernels");
MinRK
Cells shouldn't know about Sessions
r13133 this.kernel = new IPython.Kernel(base_url);
this.kernel._kernel_started(data.kernel);
Zachary Sailer
manual rebase static/services (add session.js)
r12987 };
/**
* Prompt the user to restart the IPython kernel.
*
* @method restart_kernel
*/
Session.prototype.restart_kernel = function () {
Zachary Sailer
fix restart/interrupt kernel buttons
r12994 this.kernel.restart();
Zachary Sailer
manual rebase static/services (add session.js)
r12987 };
Zachary Sailer
fix restart/interrupt kernel buttons
r12994 Session.prototype.interrupt_kernel = function() {
this.kernel.interrupt();
Zachary Sailer
fix kill_and_exit button in notebook
r12995 };
Session.prototype.kill_kernel = function() {
MinRK
review pass on multidir js
r13103 this.kernel.kill();
Zachary Sailer
fix kill_and_exit button in notebook
r12995 };
Zachary Sailer
fix restart/interrupt kernel buttons
r12994
Zachary Sailer
manual rebase static/services (add session.js)
r12987 IPython.Session = Session;
return IPython;
}(IPython));