Open
Description
#282 refactored normalisation of missing cell IDs, removing lines:
notebook_supports_cell_ids = ref is None and version >= 4 and version_minor >= 5
if notebook_supports_cell_ids and repair_duplicate_cell_ids:
# Auto-generate cell ids for cells that are missing them.
for cell in nbdict["cells"]:
if "id" not in cell:
# Generate cell ids if any are missing
cell["id"] = generate_corpus_id()
and replacing them with:
if (version, version_minor) >= (4, 5):
# if we support cell ids ensure default ids are provided
for cell in nbdict["cells"]:
if "id" not in cell:
warnings.warn(
"Code cell is missing an id field, this will become"
" a hard error in future nbformat versions. You may want"
" to use `normalize()` on your notebooks before validations"
" (available since nbformat 5.1.4). Previous versions of nbformat"
" are fixing this issue transparently, and will stop doing so"
" in the future.",
MissingIDFieldWarning,
stacklevel=3,
)
# Generate cell ids if any are missing
if repair_duplicate_cell_ids:
cell["id"] = generate_corpus_id()
changes += 1
However,
- during validation
repair_duplicate_cell_ids
is set toFalse
, and in general I do not understand why it is reusingrepair_duplicate_cell_ids
- was it meant to be a new variable for missing cell IDs? Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future
- this sentence is ambiguous; does it mean that current version still fixes this issue transparently or not?
Metadata
Metadata
Assignees
Labels
No labels