[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')) release_date = unified_strdate(extract('album_release_date'))
download_link = self._search_regex( 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') 'download link', default=None, group='url')
if download_link: if download_link:
track_id = self._search_regex( track_id = self._search_regex(
r'(?ms)var TralbumData = .*?[{,]\s*id: (?P<id>\d+),?$', r'\?id=(?P<id>\d+)&',
webpage, 'track id') download_link, 'track id')
download_webpage = self._download_webpage( download_webpage = self._download_webpage(
download_link, track_id, 'Downloading free downloads page') download_link, track_id, 'Downloading free downloads page')