From b0582099843f35688082637dfcee79713fdecbf5 Mon Sep 17 00:00:00 2001 From: Min RK Date: Tue, 1 Nov 2016 22:39:10 +0100 Subject: [PATCH] strip default metadata in Cell.toJSON avoids saving redundant default info in files --- notebook/static/notebook/js/cell.js | 9 +++++++++ notebook/static/notebook/js/codecell.js | 6 +++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/notebook/static/notebook/js/cell.js b/notebook/static/notebook/js/cell.js index 2b8ab238d..46810b488 100644 --- a/notebook/static/notebook/js/cell.js +++ b/notebook/static/notebook/js/cell.js @@ -489,6 +489,15 @@ define([ var data = {}; // deepcopy the metadata so copied cells don't share the same object data.metadata = JSON.parse(JSON.stringify(this.metadata)); + if (data.metadata.deletable) { + delete data.metadata.deletable; + } + if (data.metadata.editable) { + delete data.metadata.editable; + } + if (data.metadata.collapsed === false) { + delete data.metadata.collapsed; + } data.cell_type = this.cell_type; return data; }; diff --git a/notebook/static/notebook/js/codecell.js b/notebook/static/notebook/js/codecell.js index 435caa471..1cb10b85c 100644 --- a/notebook/static/notebook/js/codecell.js +++ b/notebook/static/notebook/js/codecell.js @@ -535,7 +535,11 @@ define([ var outputs = this.output_area.toJSON(); data.outputs = outputs; data.metadata.trusted = this.output_area.trusted; - data.metadata.collapsed = this.output_area.collapsed; + if (this.output_area.collapsed) { + data.metadata.collapsed = this.output_area.collapsed; + } else { + delete data.metadata.collapsed; + } if (this.output_area.scroll_state === 'auto') { delete data.metadata.scrolled; } else {