aboutsummaryrefslogtreecommitdiff
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)
[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)