From 0dd27c0b240ee1fe156093f5a82f25c4483c612a Mon Sep 17 00:00:00 2001
From: ankraft <an.kraft@gmail.com>
Date: Mon, 28 Apr 2025 14:26:47 +0200
Subject: [PATCH] Improved printing

---
 toMkdocs/gridTableFilter.py | 4 +++-
 toMkdocs/gridTableTools.py  | 6 +++---
 toMkdocs/markdownTools.py   | 1 +
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/toMkdocs/gridTableFilter.py b/toMkdocs/gridTableFilter.py
index 027c69f..0f1112d 100644
--- a/toMkdocs/gridTableFilter.py
+++ b/toMkdocs/gridTableFilter.py
@@ -11,6 +11,8 @@
 	result to stdout.
 """
 
+_print = print	# save the original print function
+from rich import print
 import argparse, sys
 from markdownTools import analyseMarkdown, setLoggers
 
@@ -27,7 +29,7 @@ def main() -> None:
 			   error=lambda m: print(f'[red]{m}', file=sys.stderr) if args.verbose else None)  
 
 	# Read the input from stdin and write the result to stdout
-	print(analyseMarkdown(inLines=sys.stdin.readlines()), file=sys.stdout)
+	_print(analyseMarkdown(inLines=sys.stdin.readlines()), file=sys.stdout)
 
 
 if __name__ == '__main__':
diff --git a/toMkdocs/gridTableTools.py b/toMkdocs/gridTableTools.py
index 6b4161c..8c37901 100644
--- a/toMkdocs/gridTableTools.py
+++ b/toMkdocs/gridTableTools.py
@@ -484,7 +484,7 @@ def parseGridTableWithSpans(gridTable:str) -> tuple[GridTableRowList, GridTableR
 
 	# Check if there are any data rows
 	if not dataRows and not headerRows:
-		raise ValueError('No valid rows found in the provided grid table.')
+		raise ValueError('No valid rows found in the provided grid table. Wrong format of line separator?')
 
 	# Format text
 	for gridRows in [headerRows, dataRows]:
@@ -538,7 +538,7 @@ def parseGridTableWithSpans(gridTable:str) -> tuple[GridTableRowList, GridTableR
 					colspan += 1
 
 		if not sum == numberOfColumns:
-			raise ValueError('Grid table not converted properly')
+			raise ValueError(f'Grid table not converted properly. Number of columns in header row {idx} is {sum} instead of {numberOfColumns}')
 
 	# Checking the data rows
 	forwardRowspan = []
@@ -561,7 +561,7 @@ def parseGridTableWithSpans(gridTable:str) -> tuple[GridTableRowList, GridTableR
 					colspan += 1
 					
 		if not sum == numberOfColumns:
-			raise ValueError('Grid table not converted properly')
+			raise ValueError(f'Grid table not converted properly. Number of columns in data row {idx} is {sum} instead of {numberOfColumns}')
 
 	return headerRows, dataRows
 
diff --git a/toMkdocs/markdownTools.py b/toMkdocs/markdownTools.py
index 67fafa5..783c0c2 100644
--- a/toMkdocs/markdownTools.py
+++ b/toMkdocs/markdownTools.py
@@ -429,6 +429,7 @@ def analyseMarkdown(filename:Optional[str]=None, inLines:Optional[list[str]]=Non
 			printDebug(htmltable)
 		except Exception as e:
 			printError(f"Error: {e}")
+			htmltable = f'<mark>Conversion error: {e}</mark>\n'
 		outClauses[-1].append(Line(htmltable, LineType.RAWHTML))
 		gridTable = ''
 
-- 
GitLab