diff --git a/youtube_dl/extractor/bandcamp.py b/youtube_dl/extractor/bandcamp.py index f14b407dc..7d3daff7a 100644 --- a/youtube_dl/extractor/bandcamp.py +++ b/youtube_dl/extractor/bandcamp.py @@ -34,6 +34,9 @@ class BandcampIE(InfoExtractor): 'id': '1812978515', 'ext': 'mp3', 'title': "youtube-dl \"'/\\\u00e4\u21ad - youtube-dl test song \"'/\\\u00e4\u21ad", + 'timestamp': 1354224127, + 'uploader': 'youtube-dl \\"\'/\\\\\u00e4\u21ad', + 'upload_date': '20121129', 'duration': 9.8485, }, '_skip': 'There is a limit of 200 free downloads / month for the test song' @@ -117,7 +120,7 @@ class BandcampIE(InfoExtractor): def extract(key): return self._search_regex( - r'\b%s\s*["\']?\s*:\s*(["\'])(?P(?:(?!\1).)+)\1' % key, + r'\b%s\s*["\']?\s*:\s*(["\'])(?P(?:(?!\1)).+)\1' % key, webpage, key, default=None, group='value') artist = extract('artist') @@ -195,7 +198,7 @@ class BandcampIE(InfoExtractor): self._sort_formats(formats) - title = '%s - %s' % (artist, track) if artist else track + title = '%s - %s' % (artist, track) if not re.match(artist, track) else track if not duration: duration = float_or_none(self._html_search_meta(