diff options
author | Sergey M․ <dstftw@gmail.com> | 2015-11-16 20:20:16 +0600 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2015-11-16 20:20:16 +0600 |
commit | 7aefc49c4013efb5056b2c1237e22c52cb5d3c49 (patch) | |
tree | 55e213265c0075e6d965329089417ae36def4fae | |
parent | bd1512d19649c280197729814766d590ea6c023b (diff) |
[utils] Skip invalid/non HTML entities (Closes #7518)
-rw-r--r-- | test/test_utils.py | 4 | ||||
-rw-r--r-- | youtube_dl/utils.py | 6 |
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('/'), '/') self.assertEqual(unescapeHTML('/'), '/') - self.assertEqual( - unescapeHTML('é'), 'é') + self.assertEqual(unescapeHTML('é'), 'é') + self.assertEqual(unescapeHTML('�'), '�') 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) |