youtube-dl

Another place where youtube-dl lives on
git clone git://git.oshgnacknak.de/youtube-dl.git
Log | Files | Refs | README | LICENSE

commit 7aefc49c4013efb5056b2c1237e22c52cb5d3c49
parent bd1512d19649c280197729814766d590ea6c023b
Author: Sergey M․ <dstftw@gmail.com>
Date:   Mon, 16 Nov 2015 20:20:16 +0600

[utils] Skip invalid/non HTML entities (Closes #7518)

Diffstat:
Mtest/test_utils.py | 4++--
Myoutube_dl/utils.py | 6+++++-
2 files changed, 7 insertions(+), 3 deletions(-)

diff --git 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 @@ -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)