Merge pull request #4050 from matrix-org/erikj/fix_py37_iteration

Fix bug where we raised StopIteration in a generator
This commit is contained in:
Erik Johnston 2018-10-17 17:07:19 +01:00 committed by GitHub
commit 4e726783ea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 2 deletions

1
changelog.d/4050.bugfix Normal file
View File

@ -0,0 +1 @@
Fix URL priewing to work in Python 3.7

View File

@ -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: