Fix bug where we raised StopIteration in a generator
This made python 3.7 unhappypull/4050/head
parent
d6a7797dd1
commit
f6a0a02a62
|
@ -596,10 +596,13 @@ def _iterate_over_text(tree, *tags_to_ignore):
|
||||||
# to be returned.
|
# to be returned.
|
||||||
elements = iter([tree])
|
elements = iter([tree])
|
||||||
while True:
|
while True:
|
||||||
el = next(elements)
|
el = next(elements, None)
|
||||||
|
if el is None:
|
||||||
|
return
|
||||||
|
|
||||||
if isinstance(el, string_types):
|
if isinstance(el, string_types):
|
||||||
yield el
|
yield el
|
||||||
elif el is not None and el.tag not in tags_to_ignore:
|
elif el.tag not in tags_to_ignore:
|
||||||
# el.text is the text before the first child, so we can immediately
|
# el.text is the text before the first child, so we can immediately
|
||||||
# return it if the text exists.
|
# return it if the text exists.
|
||||||
if el.text:
|
if el.text:
|
||||||
|
|
Loading…
Reference in New Issue