Make plain text not affect scene separator insertion

This commit is contained in:
Veronica Berglyd Olsen
2024-02-25 22:49:12 +01:00
parent 4273ba5158
commit de16d2d6a1
+12 -16
View File
@@ -158,7 +158,7 @@ class Tokenizer(ABC):
# Instance Variables # Instance Variables
self._hFormatter = HeadingFormatter(self._project) self._hFormatter = HeadingFormatter(self._project)
self._allowSeparator = False # Flag to indicate that the first scene of the chapter self._skipSeparator = False # Flag to indicate that we skip the scene separator
# This File # This File
self._isNone = False # Document has unknown layout self._isNone = False # Document has unknown layout
@@ -665,13 +665,9 @@ class Tokenizer(ABC):
for n, token in enumerate(self._tokens): for n, token in enumerate(self._tokens):
if token[0] == self.T_TEXT: if token[0] == self.T_TITLE: # Title
# If we see text before a scene, we consider it a "scene"
self._allowSeparator = False
elif token[0] == self.T_TITLE: # Title
# For new titles, we reset all counters # For new titles, we reset all counters
self._allowSeparator = True self._skipSeparator = True
self._hFormatter.resetAll() self._hFormatter.resetAll()
elif token[0] == self.T_HEAD1: # Partition elif token[0] == self.T_HEAD1: # Partition
@@ -682,10 +678,10 @@ class Tokenizer(ABC):
) )
# Set scene variables # Set scene variables
self._allowSeparator = True self._skipSeparator = True
self._hFormatter.resetScene() self._hFormatter.resetScene()
elif token[0] in (self.T_HEAD2, self.T_UNNUM): # Chapter elif token[0] in (self.T_HEAD2, self.T_UNNUM): # Chapter, Unnumbered
# Numbered or Unnumbered # Numbered or Unnumbered
if token[0] == self.T_UNNUM: if token[0] == self.T_UNNUM:
@@ -700,7 +696,7 @@ class Tokenizer(ABC):
) )
# Set scene variables # Set scene variables
self._allowSeparator = True self._skipSeparator = True
self._hFormatter.resetScene() self._hFormatter.resetScene()
elif token[0] == self.T_HEAD3: # Scene elif token[0] == self.T_HEAD3: # Scene
@@ -714,21 +710,21 @@ class Tokenizer(ABC):
) )
elif tTemp == "" and not self._hideScene: elif tTemp == "" and not self._hideScene:
self._tokens[n] = ( self._tokens[n] = (
self.T_EMPTY if self._allowSeparator else self.T_SKIP, token[1], self.T_EMPTY if self._skipSeparator else self.T_SKIP, token[1],
"", [], self.A_NONE if self._allowSeparator else token[4] "", [], self.A_NONE if self._skipSeparator else token[4]
) )
elif tTemp == self._fmtScene: elif tTemp == self._fmtScene:
self._tokens[n] = ( self._tokens[n] = (
self.T_EMPTY if self._allowSeparator else self.T_SEP, token[1], self.T_EMPTY if self._skipSeparator else self.T_SEP, token[1],
"" if self._allowSeparator else tTemp, [], "" if self._skipSeparator else tTemp, [],
self.A_NONE if self._allowSeparator else (token[4] | self.A_CENTRE) self.A_NONE if self._skipSeparator else (token[4] | self.A_CENTRE)
) )
else: else:
self._tokens[n] = ( self._tokens[n] = (
token[0], token[1], tTemp, [], token[4] token[0], token[1], tTemp, [], token[4]
) )
self._allowSeparator = False self._skipSeparator = False
elif token[0] == self.T_HEAD4: # Section elif token[0] == self.T_HEAD4: # Section