[bandcamp] fix the freeDownloadPage JSON lookup, and use the id from the URL to match the tracks

This commit is contained in:
Gilles Pietri 2020-09-27 15:11:08 +02:00
parent f43a856334
commit 9385ec4b1c

View File

@ -128,12 +128,12 @@ def extract(key):
release_date = unified_strdate(extract('album_release_date'))
download_link = self._search_regex(
r'freeDownloadPage\s*:\s*(["\'])(?P<url>(?:(?!\1).)+)\1', webpage,
r'freeDownloadPage(?:["\']|&quot;):\s*(["\']|&quot;)(?P<url>(?:(?!\1).)+)\1', webpage,
'download link', default=None, group='url')
if download_link:
track_id = self._search_regex(
r'(?ms)var TralbumData = .*?[{,]\s*id: (?P<id>\d+),?$',
webpage, 'track id')
r'\?id=(?P<id>\d+)&',
download_link, 'track id')
download_webpage = self._download_webpage(
download_link, track_id, 'Downloading free downloads page')