youtube-dl

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

commit 95f3f7c20a05e7ac490e768b8470b20538ef8581
parent f5469da9e6e259c1690c7ef54f1da1c19f65036f
Author: Yen Chi Hsuan <yan12125@gmail.com>
Date:   Sat, 19 Aug 2017 21:40:53 +0800

[utils] Fix unescapeHTML for misformed string like "&a&quot;" (#13935)

Diffstat:
MChangeLog | 6++++++
Mtest/test_utils.py | 1+
Myoutube_dl/utils.py | 2+-
3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog @@ -1,3 +1,9 @@ +version <unreleased> + +Core +* [utils] Fix unescapeHTML for misformed string like "&a&quot;" (#13935) + + version 2017.08.18 Core diff --git a/test/test_utils.py b/test/test_utils.py @@ -279,6 +279,7 @@ class TestUtil(unittest.TestCase): self.assertEqual(unescapeHTML('&#47;'), '/') self.assertEqual(unescapeHTML('&eacute;'), 'é') self.assertEqual(unescapeHTML('&#2013266066;'), '&#2013266066;') + self.assertEqual(unescapeHTML('&a&quot;'), '&a"') # HTML5 entities self.assertEqual(unescapeHTML('&period;&apos;'), '.\'') diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py @@ -596,7 +596,7 @@ def unescapeHTML(s): assert type(s) == compat_str return re.sub( - r'&([^;]+;)', lambda m: _htmlentity_transform(m.group(1)), s) + r'&([^&;]+;)', lambda m: _htmlentity_transform(m.group(1)), s) def get_subprocess_encoding():