Prevent crash with empty layout box.
parent
87143cb36f
commit
eabe72ee63
|
@ -556,10 +556,12 @@ class LTLayoutContainer(LTContainer):
|
||||||
box = boxes[line]
|
box = boxes[line]
|
||||||
if box in done: continue
|
if box in done: continue
|
||||||
done.add(box)
|
done.add(box)
|
||||||
yield box
|
if not box.is_empty():
|
||||||
|
yield box
|
||||||
return
|
return
|
||||||
|
|
||||||
def group_textboxes(self, laparams, boxes):
|
def group_textboxes(self, laparams, boxes):
|
||||||
|
assert boxes
|
||||||
def dist(obj1, obj2):
|
def dist(obj1, obj2):
|
||||||
"""A distance function between two TextBoxes.
|
"""A distance function between two TextBoxes.
|
||||||
|
|
||||||
|
@ -632,12 +634,13 @@ class LTLayoutContainer(LTContainer):
|
||||||
obj.analyze(laparams)
|
obj.analyze(laparams)
|
||||||
textboxes = list(self.get_textboxes(laparams, textlines))
|
textboxes = list(self.get_textboxes(laparams, textlines))
|
||||||
assert len(textlines) == sum( len(box._objs) for box in textboxes )
|
assert len(textlines) == sum( len(box._objs) for box in textboxes )
|
||||||
self.groups = self.group_textboxes(laparams, textboxes)
|
if textboxes:
|
||||||
assigner = IndexAssigner()
|
self.groups = self.group_textboxes(laparams, textboxes)
|
||||||
for group in self.groups:
|
assigner = IndexAssigner()
|
||||||
group.analyze(laparams)
|
for group in self.groups:
|
||||||
assigner.run(group)
|
group.analyze(laparams)
|
||||||
textboxes.sort(key=lambda box:box.index)
|
assigner.run(group)
|
||||||
|
textboxes.sort(key=lambda box:box.index)
|
||||||
self._objs = textboxes + otherobjs + empties
|
self._objs = textboxes + otherobjs + empties
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue