diff --git a/IPython/html/static/notebook/js/outputarea.js b/IPython/html/static/notebook/js/outputarea.js
index 3ce7023..73fbbee 100644
--- a/IPython/html/static/notebook/js/outputarea.js
+++ b/IPython/html/static/notebook/js/outputarea.js
@@ -254,44 +254,26 @@ var IPython = (function (IPython) {
this.append_output(json, true);
};
- var mime_types = ['application/javascript', 'application/json',
- 'image/jpeg', 'image/png', 'image/svg+xml', 'text/html',
- 'text/latex', 'text/plain'];
+ OutputArea.mime_map = {
+ "text/plain" : "text",
+ "text/html" : "html",
+ "image/svg+xml" : "svg",
+ "image/png" : "png",
+ "image/jpeg" : "jpeg",
+ "text/latex" : "latex",
+ "application/json" : "json",
+ "application/javascript" : "javascript",
+ };
OutputArea.prototype.convert_mime_types = function (json, data) {
- if (data === undefined) {
+ if (!data) {
return json;
}
- if (data['text/plain'] !== undefined) {
- json.text = data['text/plain'];
- }
- if (data['text/html'] !== undefined) {
- json.html = data['text/html'];
- }
- if (data['image/svg+xml'] !== undefined) {
- json.svg = data['image/svg+xml'];
- }
- if (data['image/png'] !== undefined) {
- json.png = data['image/png'];
- }
- if (data['image/jpeg'] !== undefined) {
- json.jpeg = data['image/jpeg'];
- }
- if (data['text/latex'] !== undefined) {
- json.latex = data['text/latex'];
- }
- if (data['application/json'] !== undefined) {
- json.json = data['application/json'];
- }
- if (data['application/javascript'] !== undefined) {
- json.javascript = data['application/javascript'];
- }
// non-mimetype-keyed metadata used to get dropped here, this code
// re-injects it into the json.
- for (x in data){
- if( !(x in mime_types) ) {
- json[x] = data[x];
- }
+ for (var key in data) {
+ var json_key = OutputArea.mime_map[key] || key;
+ json[json_key] = data[key];
}
return json;
};