mirror of
https://github.com/jupyter/notebook.git
synced 2025-01-12 11:45:38 +08:00
support contiguous stream output in notebook
Consecutive messages to stdout or stderr will not be split into separate divs, until a new message to different stream arrives. Appending will only occur when the latest output is the same as the new one. Interleaving messages will still result in multiple divs.
This commit is contained in:
parent
b4392a5e4f
commit
a9d9a8b72c
@ -251,6 +251,23 @@ var IPython = (function (IPython) {
|
||||
|
||||
|
||||
CodeCell.prototype.append_stream = function (json) {
|
||||
// temporary fix: if stream undefined (json file written prior to this patch),
|
||||
// default to most likely stdout:
|
||||
if (json.stream == undefined){
|
||||
json.stream = 'stdout';
|
||||
}
|
||||
if (this.outputs.length > 0){
|
||||
// have at least one output to consider
|
||||
var last = this.outputs[this.outputs.length-1];
|
||||
if (last.output_type == 'stream' && json.stream == last.stream){
|
||||
// latest output was in the same stream,
|
||||
// so append directly into its pre tag
|
||||
this.element.find('div.output_stream').last().find('pre').append(json.text);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// If we got here, attach a new div
|
||||
var toinsert = this.create_output_area();
|
||||
this.append_text(json.text, toinsert);
|
||||
this.element.find('div.output').append(toinsert);
|
||||
|
@ -710,7 +710,8 @@ var IPython = (function (IPython) {
|
||||
var json = {};
|
||||
json.output_type = msg_type;
|
||||
if (msg_type === "stream") {
|
||||
json.text = utils.fixConsole(content.data + '\n');
|
||||
json.text = utils.fixConsole(content.data);
|
||||
json.stream = content.name;
|
||||
} else if (msg_type === "display_data") {
|
||||
json = this.convert_mime_types(json, content.data);
|
||||
} else if (msg_type === "pyout") {
|
||||
|
Loading…
Reference in New Issue
Block a user