summary refs log tree commit diff
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2015-11-16 20:20:16 +0600
committerSergey M․ <dstftw@gmail.com>2015-11-16 20:20:16 +0600
commit7aefc49c4013efb5056b2c1237e22c52cb5d3c49 (patch)
tree55e213265c0075e6d965329089417ae36def4fae
parentbd1512d19649c280197729814766d590ea6c023b (diff)
downloadyoutube-dl-7aefc49c4013efb5056b2c1237e22c52cb5d3c49.tar.gz
youtube-dl-7aefc49c4013efb5056b2c1237e22c52cb5d3c49.tar.xz
youtube-dl-7aefc49c4013efb5056b2c1237e22c52cb5d3c49.zip
[utils] Skip invalid/non HTML entities (Closes #7518)
-rw-r--r--test/test_utils.py4
-rw-r--r--youtube_dl/utils.py6
2 files changed, 7 insertions, 3 deletions
diff --git a/test/test_utils.py b/test/test_utils.py
index 01829f71e..ea1ff0547 100644
--- a/test/test_utils.py
+++ b/test/test_utils.py
@@ -210,8 +210,8 @@ class TestUtil(unittest.TestCase):
         self.assertEqual(unescapeHTML('%20;'), '%20;')
         self.assertEqual(unescapeHTML('&#x2F;'), '/')
         self.assertEqual(unescapeHTML('&#47;'), '/')
-        self.assertEqual(
-            unescapeHTML('&eacute;'), 'é')
+        self.assertEqual(unescapeHTML('&eacute;'), 'é')
+        self.assertEqual(unescapeHTML('&#2013266066;'), '&#2013266066;')
 
     def test_daterange(self):
         _20century = DateRange("19000101", "20000101")
diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py
index d39f313a4..b7013a6aa 100644
--- a/youtube_dl/utils.py
+++ b/youtube_dl/utils.py
@@ -396,7 +396,11 @@ def _htmlentity_transform(entity):
             numstr = '0%s' % numstr
         else:
             base = 10
-        return compat_chr(int(numstr, base))
+        # See https://github.com/rg3/youtube-dl/issues/7518
+        try:
+            return compat_chr(int(numstr, base))
+        except ValueError:
+            pass
 
     # Unknown entity in name, return its literal representation
     return ('&%s;' % entity)