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