aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpukkandan <pukkandan.ytdlp@gmail.com>2022-09-02 01:38:21 +0530
committerpukkandan <pukkandan.ytdlp@gmail.com>2022-09-02 02:01:57 +0530
commit2c475e48b54b071a3e59441829b6dec7d5b3c0ac (patch)
treee3291619b3e748e9f01c1c2cf9351e30a2920318
parent7c6eb424d35e51c81f8fe9e1eb7cc18067c3a8a7 (diff)
downloadhypervideo-pre-2c475e48b54b071a3e59441829b6dec7d5b3c0ac.tar.lz
hypervideo-pre-2c475e48b54b071a3e59441829b6dec7d5b3c0ac.tar.xz
hypervideo-pre-2c475e48b54b071a3e59441829b6dec7d5b3c0ac.zip
[extractor/bandcamp] Extract `uploader_url`
Closes #4755
-rw-r--r--yt_dlp/extractor/bandcamp.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/yt_dlp/extractor/bandcamp.py b/yt_dlp/extractor/bandcamp.py
index b34fcb108..2dae49e77 100644
--- a/yt_dlp/extractor/bandcamp.py
+++ b/yt_dlp/extractor/bandcamp.py
@@ -21,7 +21,7 @@ from ..utils import (
class BandcampIE(InfoExtractor):
- _VALID_URL = r'https?://[^/]+\.bandcamp\.com/track/(?P<id>[^/?#&]+)'
+ _VALID_URL = r'https?://(?P<uploader>[^/]+)\.bandcamp\.com/track/(?P<id>[^/?#&]+)'
_EMBED_REGEX = [r'<meta property="og:url"[^>]*?content="(?P<url>.*?bandcamp\.com.*?)"']
_TESTS = [{
'url': 'http://youtube-dl.bandcamp.com/track/youtube-dl-test-song',
@@ -85,7 +85,7 @@ class BandcampIE(InfoExtractor):
attr + ' data', group=2), video_id, fatal=fatal)
def _real_extract(self, url):
- title = self._match_id(url)
+ title, uploader = self._match_valid_url(url).group('id', 'uploader')
webpage = self._download_webpage(url, title)
tralbum = self._extract_data_attr(webpage, title)
thumbnail = self._og_search_thumbnail(webpage)
@@ -197,6 +197,8 @@ class BandcampIE(InfoExtractor):
'title': title,
'thumbnail': thumbnail,
'uploader': artist,
+ 'uploader_id': uploader,
+ 'uploader_url': f'https://{uploader}.bandcamp.com',
'timestamp': timestamp,
'release_timestamp': unified_timestamp(tralbum.get('album_release_date')),
'duration': duration,