From: Sergey M Date: Mon, 16 Nov 2015 14:25:29 +0000 (+0000) Subject: Merge pull request #7514 from ping/patch-7301 X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=commitdiff_plain;h=0c176d7bde6fedfb2572caf09cbeb07e14c2f5f7;hp=76adc820682b78b67ffc9cb1544807f7e021e73b;p=youtube-dl Merge pull request #7514 from ping/patch-7301 [neteasemusic] Fixes #7301 --- 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..d00b14b86 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -396,10 +396,14 @@ 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) + return '&%s;' % entity def unescapeHTML(s):