Loading toMkdocs/gridTableTools.py +6 −7 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ class GridCell: self.colspan:int = 0 self.colspanAdjusted:bool = False self.alignment:str = 'align="center"' self.positionStart:Optional[int] = None self.position:Optional[int] = None self.listFlag:bool = False self.auxiliarIndex:int = 0 Loading @@ -57,19 +58,15 @@ class GridCell: defaultAlignments: The default alignments. hasHeader: True if the table has a header, False otherwise. """ if self.position is None: if self.position is None or self.positionStart is None: raise ValueError('Cell position must be set before calculating alignment.') if hasHeader: headerDelimiterIndex = 0 while headerDelimiterIndex < len(defaultAlignments) and self.position > headerDelimiterPositions[headerDelimiterIndex]: while headerDelimiterIndex < len(defaultAlignments) and self.positionStart > headerDelimiterPositions[headerDelimiterIndex]: headerDelimiterIndex += 1 if headerDelimiterIndex < len(defaultAlignments): if self.position < headerDelimiterPositions[headerDelimiterIndex]: self.alignment = defaultAlignments[headerDelimiterIndex] elif self.position == headerDelimiterPositions[headerDelimiterIndex]: self.alignment = defaultAlignments[headerDelimiterIndex] headerDelimiterIndex += 1 else: raise ValueError('Invalid table formatting') Loading Loading @@ -364,6 +361,7 @@ def parseGridTableWithSpans(gridTable:str) -> tuple[GridTableRowList, GridTableR cell = rows[-1][columnIndex] # Set position cell.positionStart = delimiterIndex - len(parts[rowIndex]) cell.position = delimiterIndex # Position of cell delimiter + # Set alignment as defined by header separator line Loading @@ -390,6 +388,7 @@ def parseGridTableWithSpans(gridTable:str) -> tuple[GridTableRowList, GridTableR if auxiliarCellIndex < numberOfColumns: auxDelimiterIndex += len(content) + 1 cell = rows[-1][auxiliarCellIndex] cell.positionStart = auxDelimiterIndex - len(content) # Position of cell delimiter + cell.position = auxDelimiterIndex # Position of cell delimiter + cell.calculateAndSetAlignment(headerDelimiterPositions, delimiterPositions, defaultAlignments, hasHeader) while auxDelimiterIndex > delimiterPositions[auxiliarCellIndex]: Loading Loading
toMkdocs/gridTableTools.py +6 −7 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ class GridCell: self.colspan:int = 0 self.colspanAdjusted:bool = False self.alignment:str = 'align="center"' self.positionStart:Optional[int] = None self.position:Optional[int] = None self.listFlag:bool = False self.auxiliarIndex:int = 0 Loading @@ -57,19 +58,15 @@ class GridCell: defaultAlignments: The default alignments. hasHeader: True if the table has a header, False otherwise. """ if self.position is None: if self.position is None or self.positionStart is None: raise ValueError('Cell position must be set before calculating alignment.') if hasHeader: headerDelimiterIndex = 0 while headerDelimiterIndex < len(defaultAlignments) and self.position > headerDelimiterPositions[headerDelimiterIndex]: while headerDelimiterIndex < len(defaultAlignments) and self.positionStart > headerDelimiterPositions[headerDelimiterIndex]: headerDelimiterIndex += 1 if headerDelimiterIndex < len(defaultAlignments): if self.position < headerDelimiterPositions[headerDelimiterIndex]: self.alignment = defaultAlignments[headerDelimiterIndex] elif self.position == headerDelimiterPositions[headerDelimiterIndex]: self.alignment = defaultAlignments[headerDelimiterIndex] headerDelimiterIndex += 1 else: raise ValueError('Invalid table formatting') Loading Loading @@ -364,6 +361,7 @@ def parseGridTableWithSpans(gridTable:str) -> tuple[GridTableRowList, GridTableR cell = rows[-1][columnIndex] # Set position cell.positionStart = delimiterIndex - len(parts[rowIndex]) cell.position = delimiterIndex # Position of cell delimiter + # Set alignment as defined by header separator line Loading @@ -390,6 +388,7 @@ def parseGridTableWithSpans(gridTable:str) -> tuple[GridTableRowList, GridTableR if auxiliarCellIndex < numberOfColumns: auxDelimiterIndex += len(content) + 1 cell = rows[-1][auxiliarCellIndex] cell.positionStart = auxDelimiterIndex - len(content) # Position of cell delimiter + cell.position = auxDelimiterIndex # Position of cell delimiter + cell.calculateAndSetAlignment(headerDelimiterPositions, delimiterPositions, defaultAlignments, hasHeader) while auxDelimiterIndex > delimiterPositions[auxiliarCellIndex]: Loading