commit d19093bd50a0123b7d00c263b012d6d391814970
parent 24eb7c257807aceef713f6d01824cf600a9d6232
Author: Yen Chi Hsuan <yan12125@gmail.com>
Date: Sat, 29 Apr 2017 15:58:45 +0800
Merge pull request #12906 from Tithen-Firion/clean-html-fix
[utils] Fix inconsistent output of clean_html
Diffstat:
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/test/test_utils.py b/test/test_utils.py
@@ -899,6 +899,7 @@ class TestUtil(unittest.TestCase):
def test_clean_html(self):
self.assertEqual(clean_html('a:\nb'), 'a: b')
self.assertEqual(clean_html('a:\n "b"'), 'a: "b"')
+ self.assertEqual(clean_html('a<br>\xa0b'), 'a\nb')
def test_intlist_to_bytes(self):
self.assertEqual(
diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py
@@ -421,8 +421,8 @@ def clean_html(html):
# Newline vs <br />
html = html.replace('\n', ' ')
- html = re.sub(r'\s*<\s*br\s*/?\s*>\s*', '\n', html)
- html = re.sub(r'<\s*/\s*p\s*>\s*<\s*p[^>]*>', '\n', html)
+ html = re.sub(r'(?u)\s*<\s*br\s*/?\s*>\s*', '\n', html)
+ html = re.sub(r'(?u)<\s*/\s*p\s*>\s*<\s*p[^>]*>', '\n', html)
# Strip html tags
html = re.sub('<.*?>', '', html)
# Replace html entities