Skip to content

Commit b5188db

Browse files
committed
jupyter - use helper fn
1 parent 8968cc8 commit b5188db

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

src/resources/jupyter/notebook.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@
3636

3737
NB_FORMAT_VERSION = 4
3838

39+
def get_language_from_nb_metadata(metadata):
40+
ks_lang = metadata.kernelspec.get("language", None)
41+
li_name = metadata.language_info.get("name", None)
42+
return ks_lang or li_name
43+
3944
# exception to indicate the kernel needs restarting
4045
class RestartKernel(Exception):
4146
pass
@@ -254,7 +259,7 @@ def handle_meta_object(obj):
254259
if cell.cell_type == 'code':
255260
total_code_cells += 1
256261
# map cells to their labels
257-
language = client.nb.metadata.kernelspec.get("language", client.nb.metadata.language_info.name)
262+
language = get_language_from_nb_metadata(client.nb.metadata)
258263
label = nb_cell_yaml_options(language, cell).get('label', '')
259264
cell_labels.append(label)
260265
# find max label length
@@ -436,7 +441,7 @@ def nb_cleanup_cell(nb, resource_dir):
436441

437442
def nb_language_cell(name, nb, resource_dir, allow_empty, **args):
438443
kernelspec = nb.metadata.kernelspec
439-
language = nb.metadata.kernelspec.get("language", nb.metadata.language_info.name)
444+
language = get_language_from_nb_metadata(nb.metadata)
440445
trace(json.dumps(nb.metadata, indent=2))
441446
source = ''
442447
lang_dir = os.path.join(resource_dir, 'jupyter', 'lang', language)
@@ -503,7 +508,7 @@ def nb_kernel_dependencies(setup_cell):
503508

504509
def cell_execute(client, cell, index, execution_count, eval_default, store_history):
505510

506-
language = client.nb.metadata.kernelspec.get("language", client.nb.metadata.language_info.name)
511+
language = get_language_from_nb_metadata(client.nb.metadata)
507512
# read cell options
508513
cell_options = nb_cell_yaml_options(language, cell)
509514

@@ -564,7 +569,7 @@ def clear_user_expressions():
564569
del metadata["user_expressions"]
565570

566571
# find expressions in source
567-
language = client.nb.metadata.kernelspec.get("language", client.nb.metadata.language_info.name)
572+
language = get_language_from_nb_metadata(client.nb.metadata)
568573
source = ''.join(cell.source)
569574
expressions = re.findall(
570575
fr'(?:^|[^`])`{{{language}}}[ \t]([^`]+)`',
@@ -627,7 +632,7 @@ def nb_parameterize(nb, params):
627632

628633
# alias kernel name and language
629634
kernel_name = nb.metadata.kernelspec.name
630-
language = nb.metadata.kernelspec.get("language", nb.metadata.language_info.name)
635+
language = get_language_from_nb_metadata(nb.metadata)
631636

632637
# find params index and note any tags/yaml on it (exit if no params)
633638
params_index = find_first_tagged_cell_index(nb, "parameters")
@@ -705,7 +710,7 @@ def find_first_tagged_cell_index(nb, tag):
705710
return parameters_indices[0]
706711

707712
def nb_strip_yaml_options(client, source):
708-
yaml_lines = nb_cell_yaml_lines(client.nb.metadata.kernelspec.get("language", client.nb.metadata.language_info.name), source)
713+
yaml_lines = nb_cell_yaml_lines(get_language_from_nb_metadata(client.nb.metadata), source)
709714
num_yaml_lines = len(yaml_lines)
710715
if num_yaml_lines > 0:
711716
return "\n".join(source.splitlines()[num_yaml_lines:])

0 commit comments

Comments
 (0)