Преглед изворни кода

Merge pull request #12906 from Tithen-Firion/clean-html-fix

[utils] Fix inconsistent output of clean_html
Yen Chi Hsuan пре 8 година
родитељ
комит
d19093bd50
2 измењених фајлова са 3 додато и 2 уклоњено
  1. 1 0
      test/test_utils.py
  2. 2 2
      youtube_dl/utils.py

+ 1 - 0
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(

+ 2 - 2
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