Skip to content
Snippets Groups Projects
Commit 1ea0f0c9 authored by Andreas Kraft's avatar Andreas Kraft
Browse files

Added missing sys import. Added figure caption handling.

parent e4f5e2da
No related branches found
No related tags found
No related merge requests found
Pipeline #89 passed
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
# License: BSD 3-Clause License. See the LICENSE file for further details. # License: BSD 3-Clause License. See the LICENSE file for further details.
# #
import argparse, os, re import argparse, os, re, sys
from rich import print from rich import print
from rich.progress import Progress, TextColumn, TimeElapsedColumn from rich.progress import Progress, TextColumn, TimeElapsedColumn
...@@ -98,11 +98,38 @@ def replaceTableCaptions(progress:Progress, mdLines:list[str]) -> list[str]: ...@@ -98,11 +98,38 @@ def replaceTableCaptions(progress:Progress, mdLines:list[str]) -> list[str]:
return _lines return _lines
def replaceFigureCaptions(progress:Progress, mdLines:list[str]) -> list[str]:
""" Replace table captions with a pandoc table caption.
"""
_taskID = progress.add_task('[blue]Replacing figure captions', start=False, total=0)
# progress.update()
figureregex = re.compile('^\*\*(Figure .*)\*\*')
_lines:list[str] = []
for line in mdLines:
matches = re.findall(figureregex, line)
if matches:
# Replace the previous figure markdown name with the captions
_idx = len(_lines) - 1
while _idx >= 0 and not _lines[_idx].startswith('!['):
_idx -= 1
if _idx > 0:
_lines[_idx] = re.sub(r'^.*?]', f'![{matches[0]}]', _lines[_idx])
else:
_lines.append(line)
progress.stop_task(_taskID)
return _lines
def process(document:str, outDirectory:str) -> None: def process(document:str, outDirectory:str) -> None:
with Progress(TextColumn('{task.description}'), TimeElapsedColumn()) as progress: with Progress(TextColumn('{task.description}'), TimeElapsedColumn()) as progress:
mdLines = readMDFile(progress, document) mdLines = readMDFile(progress, document)
mdLines = correctTOC(progress, mdLines) mdLines = correctTOC(progress, mdLines)
mdLines = replaceTableCaptions(progress, mdLines) mdLines = replaceTableCaptions(progress, mdLines)
mdLines = replaceFigureCaptions(progress, mdLines)
writeMDFile(progress, mdLines, document, outDirectory) writeMDFile(progress, mdLines, document, outDirectory)
def main(args=None): def main(args=None):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment