diff options
author | Gilles Pietri <gilles@wolface.fr> | 2020-09-26 17:34:35 +0200 |
---|---|---|
committer | Gilles Pietri <gilles@wolface.fr> | 2020-09-26 17:34:35 +0200 |
commit | 14194392a813a12b3a1477ec75bcd0c8626ef3bb (patch) | |
tree | 31919c943b0e06d33b509b605d7ce624b69bc0b2 /youtube_dl/extractor/bandcamp.py | |
parent | 9c1f99402fa25a5a691944c133432741af19829b (diff) | |
download | hypervideo-pre-14194392a813a12b3a1477ec75bcd0c8626ef3bb.tar.lz hypervideo-pre-14194392a813a12b3a1477ec75bcd0c8626ef3bb.tar.xz hypervideo-pre-14194392a813a12b3a1477ec75bcd0c8626ef3bb.zip |
[bandcamp] use unescapeHTML instead of a simple replace of quotes
Diffstat (limited to 'youtube_dl/extractor/bandcamp.py')
-rw-r--r-- | youtube_dl/extractor/bandcamp.py | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/youtube_dl/extractor/bandcamp.py b/youtube_dl/extractor/bandcamp.py index ad1812320..55d110e28 100644 --- a/youtube_dl/extractor/bandcamp.py +++ b/youtube_dl/extractor/bandcamp.py @@ -92,10 +92,10 @@ class BandcampIE(InfoExtractor): formats = [] trackinfo_block = self._search_regex( - r'trackinfo":\[\s*({.+?})\s*\],"', + r'trackinfo(?:["\']|"):\[\s*({.+?})\s*\],(?:["\']|")', webpage, 'track info', default='{}') - quoted_json = trackinfo_block.replace('"', '"') - track_info = self._parse_json(quoted_json, title) + unescaped_json = unescapeHTML(trackinfo_block) + track_info = self._parse_json(unescaped_json, title) if track_info: file_ = track_info.get('file') if isinstance(file_, dict): @@ -118,7 +118,7 @@ class BandcampIE(InfoExtractor): def extract(key): return self._search_regex( - r',"%s":(")(?P<value>(?:(?!").)+)"' % key, + r',(["\']|")%s\1:\1(?P<value>(?:(?!\1).)+)\1' % key, webpage, key, default=None, group='value') artist = extract('artist') |