##// END OF EJS Templates
Merge pull request #6844 from minrk/nbformat4-from-backport...
Thomas Kluyver -
r18674:99527ea4 merge
parent child Browse files
Show More
@@ -2313,12 +2313,25 b' define(['
2313 2313 var orig_nbformat = nbmodel.metadata.orig_nbformat;
2314 2314 var orig_nbformat_minor = nbmodel.metadata.orig_nbformat_minor;
2315 2315 if (orig_nbformat !== undefined && nbmodel.nbformat !== orig_nbformat) {
2316 var msg = "This notebook has been converted from an older " +
2317 "notebook format (v"+orig_nbformat+") to the current notebook " +
2318 "format (v"+nbmodel.nbformat+"). The next time you save this notebook, the " +
2319 "newer notebook format will be used and older versions of IPython " +
2320 "may not be able to read it. To keep the older version, close the " +
2321 "notebook without saving it.";
2316 var src;
2317 if (nb.nbformat > nb.orig_nbformat) {
2318 src = " an older notebook format ";
2319 } else {
2320 src = " a newer notebook format ";
2321 }
2322
2323 var msg = "This notebook has been converted from" + src +
2324 "(v"+nb.orig_nbformat+") to the current notebook " +
2325 "format (v"+nb.nbformat+"). The next time you save this notebook, the " +
2326 "current notebook format will be used.";
2327
2328 if (nb.nbformat > nb.orig_nbformat) {
2329 msg += " Older versions of IPython may not be able to read the new format.";
2330 } else {
2331 msg += " Some features of the original notebook may not be available.";
2332 }
2333 msg += " To preserve the original version, close the " +
2334 "notebook without saving it.";
2322 2335 dialog.modal({
2323 2336 notebook: this,
2324 2337 keyboard_manager: this.keyboard_manager,
@@ -2330,7 +2343,7 b' define(['
2330 2343 }
2331 2344 }
2332 2345 });
2333 } else if (orig_nbformat_minor !== undefined && nbmodel.nbformat_minor !== orig_nbformat_minor) {
2346 } else if (orig_nbformat_minor !== undefined && nbmodel.nbformat_minor < orig_nbformat_minor) {
2334 2347 var that = this;
2335 2348 var orig_vs = 'v' + nbmodel.nbformat + '.' + orig_nbformat_minor;
2336 2349 var this_vs = 'v' + nbmodel.nbformat + '.' + this.nbformat_minor;
@@ -51,6 +51,11 b''
51 51 "type": "integer",
52 52 "minimum": 1
53 53 },
54 "orig_nbformat_minor": {
55 "description": "Original notebook format (minor number) before converting the notebook between versions.",
56 "type": "integer",
57 "minimum": 0
58 },
54 59 "worksheets" : {
55 60 "description": "Array of worksheets",
56 61 "type": "array",
@@ -241,9 +241,11 b' def downgrade(nb):'
241 241 cells = [ downgrade_cell(cell) for cell in nb.pop('cells') ]
242 242 nb.worksheets = [v3.new_worksheet(cells=cells)]
243 243 nb.metadata.setdefault('name', '')
244 nb.metadata.pop('orig_nbformat', None)
245 nb.metadata.pop('orig_nbformat_minor', None)
246
244
247 245 # Validate the converted notebook before returning it
248 246 _warn_if_invalid(nb, v3.nbformat)
247
248 nb.orig_nbformat = nb.metadata.pop('orig_nbformat', nbformat)
249 nb.orig_nbformat_minor = nb.metadata.pop('orig_nbformat_minor', nbformat_minor)
250
249 251 return nb
General Comments 0
You need to be logged in to leave comments. Login now