瀏覽代碼

[utils] Escape all HTML entities written in hexadecimal form

Naglis Jonaitis 10 年之前
父節點
當前提交
91757b0f37
共有 2 個文件被更改,包括 3 次插入1 次删除
  1. 2 0
      test/test_utils.py
  2. 1 1
      youtube_dl/utils.py

+ 2 - 0
test/test_utils.py

@@ -200,6 +200,8 @@ class TestUtil(unittest.TestCase):
 
     def test_unescape_html(self):
         self.assertEqual(unescapeHTML('%20;'), '%20;')
+        self.assertEqual(unescapeHTML('/'), '/')
+        self.assertEqual(unescapeHTML('/'), '/')
         self.assertEqual(
             unescapeHTML('é'), 'é')
 

+ 1 - 1
youtube_dl/utils.py

@@ -348,7 +348,7 @@ def _htmlentity_transform(entity):
     if entity in compat_html_entities.name2codepoint:
         return compat_chr(compat_html_entities.name2codepoint[entity])
 
-    mobj = re.match(r'#(x?[0-9]+)', entity)
+    mobj = re.match(r'#(x[0-9a-fA-F]+|[0-9]+)', entity)
     if mobj is not None:
         numstr = mobj.group(1)
         if numstr.startswith('x'):