Have addFragment except list of fragments
This commit is contained in:
@@ -374,12 +374,12 @@ class Line:
|
||||
return lineSpacing
|
||||
|
||||
|
||||
def addFragment(
|
||||
self,
|
||||
frag: Fragment,
|
||||
) -> None:
|
||||
def addFragment(self, frags: Fragment|list[Fragment],) -> None:
|
||||
SPEAKER = "\U0001F508"
|
||||
|
||||
if not isinstance(frags, list):
|
||||
frags = [frags, ]
|
||||
for frag in frags:
|
||||
if frag.audio().isValid():
|
||||
frag.setText(frag.text() + " " + SPEAKER)
|
||||
|
||||
|
||||
@@ -362,8 +362,7 @@ def do_sense(sense: Sense|None, indent:int=3) -> tuple[list[Fragment], list[Line
|
||||
line = Line()
|
||||
line.addFragment(frag)
|
||||
(newFrags, newLines) = do_dt(trycast(list[list[Pair]], sdsense['dt']), indent=indent)
|
||||
for frag in newFrags:
|
||||
line.addFragment(frag)
|
||||
line.addFragment(newFrags)
|
||||
lines.append(line)
|
||||
lines += newLines
|
||||
elif k == 'sls':
|
||||
@@ -387,7 +386,6 @@ def do_pseq(outer: int,
|
||||
for entry in pseq:
|
||||
for pair in entry:
|
||||
if pair['objType'] == 'bs':
|
||||
# TODO - bs has to be more than just a wrapper for Sense
|
||||
sense = pair['obj']['sense']
|
||||
(newFrags, newLines) = do_sense(trycast(Sense, sense))
|
||||
if first:
|
||||
@@ -395,8 +393,7 @@ def do_pseq(outer: int,
|
||||
first = False
|
||||
else:
|
||||
line = Line()
|
||||
for frag in newFrags:
|
||||
line.addFragment(frag)
|
||||
line.addFragment(newFrags)
|
||||
lines.append(line)
|
||||
lines += newLines
|
||||
elif pair['objType'] == 'sense':
|
||||
@@ -413,8 +410,7 @@ def do_pseq(outer: int,
|
||||
frag.setIndent(3)
|
||||
line.addFragment(frag)
|
||||
(newFrags, newLines) = do_sense(trycast(Sense, pair['obj']), indent=4)
|
||||
for frag in newFrags:
|
||||
line.addFragment(frag)
|
||||
line.addFragment(newFrags)
|
||||
lines.append(line)
|
||||
lines += newLines
|
||||
count += 1
|
||||
@@ -439,8 +435,7 @@ def do_sseq(sseq:list[list[list[Pair]]]) -> list[Line]:
|
||||
if objType == 'sense':
|
||||
sense = trycast(Sense, pair['obj'])
|
||||
(frags, newlines) = do_sense(sense)
|
||||
for frag in frags:
|
||||
line.addFragment(frag)
|
||||
line.addFragment(frags)
|
||||
lines.append(line)
|
||||
line = Line()
|
||||
lines += newlines
|
||||
@@ -448,13 +443,17 @@ def do_sseq(sseq:list[list[list[Pair]]]) -> list[Line]:
|
||||
raise NotImplementedError(f"sen unimplimented")
|
||||
elif objType == 'pseq':
|
||||
(frags, newlines) = do_pseq(inner, outer, pair['obj'])
|
||||
for frag in frags:
|
||||
line.addFragment(frag)
|
||||
line.addFragment(frags)
|
||||
lines.append(line)
|
||||
line = Line()
|
||||
lines += newlines
|
||||
elif objType == 'bs':
|
||||
raise NotImplementedError(f"bs unimplimented")
|
||||
sense = pair['obj']['sense']
|
||||
(newFrags, newLines) = do_sense(trycast(Sense, sense))
|
||||
line.addFragment(newFrags)
|
||||
lines.append(line)
|
||||
line = Line()
|
||||
lines += newLines
|
||||
else:
|
||||
raise NotImplementedError(f"Unknown object[{objType}] for \n{json.dumps(pair['obj'],indent=2)}")
|
||||
return lines
|
||||
|
||||
Reference in New Issue
Block a user