mirror of
https://github.com/jupyter/notebook.git
synced 2025-03-13 13:17:50 +08:00
validate output types in append_output
validates from files, as well as from kernels
This commit is contained in:
parent
19e4b74678
commit
829495c6b9
@ -286,6 +286,30 @@ var IPython = (function (IPython) {
|
||||
return remapped;
|
||||
};
|
||||
|
||||
|
||||
OutputArea.output_types = [
|
||||
'application/javascript',
|
||||
'text/html',
|
||||
'text/latex',
|
||||
'image/svg+xml',
|
||||
'image/png',
|
||||
'image/jpeg',
|
||||
'text/plain'
|
||||
];
|
||||
|
||||
OutputArea.prototype.validate_output = function (json) {
|
||||
// scrub invalid outputs
|
||||
// TODO: right now everything is a string, but JSON really shouldn't be.
|
||||
// nbformat 4 will fix that.
|
||||
$.map(OutputArea.output_types, function(key){
|
||||
if (json[key] !== undefined && typeof json[key] !== 'string') {
|
||||
console.log("Invalid type for " + key, json[key]);
|
||||
delete json[key];
|
||||
}
|
||||
});
|
||||
return json;
|
||||
};
|
||||
|
||||
OutputArea.prototype.append_output = function (json) {
|
||||
this.expand();
|
||||
// Clear the output if clear is queued.
|
||||
@ -294,6 +318,9 @@ var IPython = (function (IPython) {
|
||||
this.clear_output(false);
|
||||
needs_height_reset = true;
|
||||
}
|
||||
|
||||
// validate output data types
|
||||
json = this.validate_output(json);
|
||||
|
||||
if (json.output_type === 'pyout') {
|
||||
this.append_pyout(json);
|
||||
|
Loading…
Reference in New Issue
Block a user