##// END OF EJS Templates
Allow IPython directory to be passed down to kernel selection from App...
Allow IPython directory to be passed down to kernel selection from App With apologies to @ivanov for creating a new Manager class.

File last commit:

r15310:310e2b97
r16382:52d1090d
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;
MinRK
various unicode fixes...
r15234 var Session = function(notebook, options){
Zachary Sailer
manual rebase static/services (add session.js)
r12987 this.kernel = null;
Zachary Sailer
Fixed session js ajax request....
r13060 this.id = null;
MinRK
review pass on multidir js
r13103 this.notebook = notebook;
MinRK
various unicode fixes...
r15234 this.name = notebook.notebook_name;
this.path = notebook.notebook_path;
MinRK
s/base_project_url/base_url/...
r15238 this.base_url = notebook.base_url;
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
s/base_project_url/base_url/...
r15238 var url = utils.url_join_encode(this.base_url, '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
s/base_project_url/base_url/...
r15238 var url = utils.url_join_encode(this.base_url, '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
s/base_project_url/base_url/...
r15238 var url = utils.url_join_encode(this.base_url, '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
remove base_kernel_url
r15310 var kernel_service_url = utils.url_path_join(this.base_url, "api/kernels");
MinRK
fix url encoding in services...
r15242 this.kernel = new IPython.Kernel(kernel_service_url);
MinRK
Cells shouldn't know about Sessions
r13133 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));