Skip to content

Commit

Permalink
Try to fix failing CI tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
HaudinFlorence committed Oct 7, 2024
1 parent 37485ef commit 2f911f7
Show file tree
Hide file tree
Showing 14 changed files with 111 additions and 244 deletions.
3 changes: 1 addition & 2 deletions nbconvert/exporters/html.py
Original file line number Diff line number Diff line change
Expand Up @@ -265,9 +265,8 @@ def from_notebook_node( # type:ignore[explicit-override, override]
if cell.cell_type == "markdown":
markdown_collection = markdown_collection + cell.source + "\n"

resources["tableofcontents"] = extract_titles_from_markdown_input(markdown_collection)

resources = self._init_resources(resources)
resources.update({"tableofcontents": extract_titles_from_markdown_input(markdown_collection)})

filter_data_type = WidgetsDataTypeFilter(
notebook_metadata=self._nb_metadata, parent=self, resources=resources
Expand Down
2 changes: 1 addition & 1 deletion nbconvert/exporters/slides.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ def preprocess(self, nb, resources=None):

in_fragment = False

for index, cell in enumerate(nb.cells[first_slide_ix + 1 :], start=(first_slide_ix + 1)):
for index, cell in enumerate(nb.cells[first_slide_ix + 1:], start=(first_slide_ix + 1)):
previous_cell = nb.cells[index - 1]

# Slides are <section> elements in the HTML, subslides (the vertically
Expand Down
8 changes: 2 additions & 6 deletions nbconvert/exporters/templateexporter.py
Original file line number Diff line number Diff line change
Expand Up @@ -203,9 +203,8 @@ def default_config(self):
enable_async = Bool(False, help="Enable Jinja async template execution").tag(
affects_environment=True
)

include_tableofcontents = Bool(False, allow_none=True, help="Enable to include a table of contents").tag(
config=True, affects_template=True
config=True, affects_template=True
)

_last_template_file = ""
Expand Down Expand Up @@ -289,8 +288,7 @@ def _template_extension_default(self):
).tag(config=True)

exclude_output = Bool(
False,
help="This allows you to exclude code cell outputs from all templates if set to True.",
False, help="This allows you to exclude code cell outputs from all templates if set to True.",
).tag(config=True)

exclude_output_prompt = Bool(
Expand Down Expand Up @@ -686,5 +684,3 @@ def _init_resources(self, resources):
resources["deprecated"] = deprecated
resources["include_tableofcontents"] = self.include_tableofcontents
return resources


2 changes: 1 addition & 1 deletion nbconvert/filters/ansi.py
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ def _ansi2anything(text, converter):
pass # Invalid color specification
else:
pass # Not a color code
chunk, text = text[: m.start()], text[m.end() :]
chunk, text = text[: m.start()], text[m.end():]
else:
chunk, text = text, ""

Expand Down
2 changes: 1 addition & 1 deletion nbconvert/filters/citation.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ def citation2latex(s):
outtext = ""
startpos = 0
for citation in parser.citelist:
outtext += s[startpos : citation[1]]
outtext += s[startpos: citation[1]]
outtext += "\\cite{%s}" % citation[0]
startpos = citation[2] if len(citation) == 3 else -1
outtext += s[startpos:] if startpos != -1 else ""
Expand Down
26 changes: 12 additions & 14 deletions nbconvert/filters/markdown_mistune.py
Original file line number Diff line number Diff line change
Expand Up @@ -385,7 +385,7 @@ def _embed_image_or_attachment(self, src: str) -> str:

attachment_prefix = "attachment:"
if src.startswith(attachment_prefix):
name = src[len(attachment_prefix) :]
name = src[len(attachment_prefix):]

if name not in self.attachments:
msg = f"missing attachment: {name}"
Expand Down Expand Up @@ -485,6 +485,7 @@ def render(self, source: str) -> str:
"""Render the HTML output for a Markdown source."""
return str(super().__call__(source))


def markdown2html_mistune(source: str) -> str:
"""Convert a markdown string to HTML using mistune"""
return MarkdownWithMath(renderer=IPythonRenderer(escape=False)).render(source)
Expand All @@ -500,27 +501,24 @@ def heading(self, text, level):
self.headings.append((level, text))
return "" # We return an empty string to avoid outputting the headings

def extract_titles (renderer):
mistune.create_markdown(renderer=renderer)


def extract_titles_from_markdown_input(markdown_input):
# Markdown_input is a single string with all the markdown content concatenated
# Initiate list of titles
titles_array = []

# Instantiate the custom renderer
renderer = HeadingExtractor()

# Create a Markdown parser with the custom renderer
extract_titles = mistune.create_markdown(renderer=renderer)

# Parse the Markdown
extract_titles(markdown_input)
headings = renderer.headings


# Extracted headings
for level, title in renderer.headings: # renderer.headings is an array for each markdown element
for item, title in headings:
children = title["children"]
attrs = title["attrs"]
raw_text = children[0]["raw"]
level = attrs["level"]
header_level = attrs["level"]
id = raw_text.replace(' ', '-')
href= "#" + id
titles_array.append([level, raw_text, id, href])
href = "#" + id
titles_array.append([header_level, raw_text, id, href])
return titles_array
4 changes: 2 additions & 2 deletions nbconvert/nbconvertapp.py
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ def _classes_default(self):

return classes

description = Unicode(# type:ignore[assignment]
description = Unicode( # type:ignore[assignment]
"""This application is used to convert notebook files (*.ipynb)
to various other formats.
Expand Down Expand Up @@ -342,7 +342,7 @@ def _postprocessor_class_changed(self, change):
if new:
self.postprocessor_factory = import_item(new)

export_format = Unicode(# type:ignore[call-overload]
export_format = Unicode( # type:ignore[call-overload]
allow_none=False,
help=f"""The export format to be used, either one of the built-in formats
{get_export_names()}
Expand Down
8 changes: 4 additions & 4 deletions tests/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -176,15 +176,15 @@ def assert_big_text_equal(a, b, chunk_size=80):
to give better info than vanilla assertEqual for large text blobs.
"""
for i in range(0, len(a), chunk_size):
chunk_a = a[i : i + chunk_size]
chunk_b = b[i : i + chunk_size]
chunk_a = a[i: i + chunk_size]
chunk_b = b[i: i + chunk_size]
assert chunk_a == chunk_b, "[offset: %i]\n%r != \n%r" % (i, chunk_a, chunk_b)

if len(a) > len(b):
raise AssertionError(
"Length doesn't match (%i > %i). Extra text:\n%r" % (len(a), len(b), a[len(b) :])
"Length doesn't match (%i > %i). Extra text:\n%r" % (len(a), len(b), a[len(b):])
)
if len(a) < len(b):
raise AssertionError(
"Length doesn't match (%i < %i). Extra text:\n%r" % (len(a), len(b), a[len(b) :])
"Length doesn't match (%i < %i). Extra text:\n%r" % (len(a), len(b), a[len(b):])
)
Loading

0 comments on commit 2f911f7

Please sign in to comment.