From 75442522b243cf8d4eb5f7f6a5f611bbd60d0edc Mon Sep 17 00:00:00 2001 From: Lauren Liberda Date: Tue, 22 Jun 2021 02:43:50 +0200 Subject: [PATCH] [soundcloud] prerelease client id fetching --- devscripts/prerelease_codegen.py | 1 + haruhi_dl/extractor/soundcloud.py | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/devscripts/prerelease_codegen.py b/devscripts/prerelease_codegen.py index 3dc8ff770..876298c1b 100644 --- a/devscripts/prerelease_codegen.py +++ b/devscripts/prerelease_codegen.py @@ -21,6 +21,7 @@ if not os.path.exists(artifact_dir): for ie_name in ( 'Youtube', + 'Soundcloud', ): ie = hdl.get_info_extractor(ie_name) try: diff --git a/haruhi_dl/extractor/soundcloud.py b/haruhi_dl/extractor/soundcloud.py index 723dcb8fd..f70e6cea1 100644 --- a/haruhi_dl/extractor/soundcloud.py +++ b/haruhi_dl/extractor/soundcloud.py @@ -30,6 +30,10 @@ from ..utils import ( url_or_none, urlhandle_detect_ext, ) +try: + from ..extractor_artifacts.soundcloud import prerelease_client_id +except ImportError: + prerelease_client_id = None class SoundcloudEmbedIE(InfoExtractor): @@ -289,6 +293,10 @@ class SoundcloudIE(InfoExtractor): return raise ExtractorError('Unable to extract client id') + def _generate_prerelease_file(self): + self._update_client_id() + return 'prerelease_client_id = {!r}\n'.format(self._CLIENT_ID) + def _download_json(self, *args, **kwargs): non_fatal = kwargs.get('fatal') is False if non_fatal: @@ -310,7 +318,7 @@ class SoundcloudIE(InfoExtractor): raise def _real_initialize(self): - self._CLIENT_ID = self._downloader.cache.load('soundcloud', 'client_id') or 'YUKXoArFcqrlQn9tfNHvvyfnDISj04zk' + self._CLIENT_ID = self._downloader.cache.load('soundcloud', 'client_id') or prerelease_client_id or 'YUKXoArFcqrlQn9tfNHvvyfnDISj04zk' @classmethod def _resolv_url(cls, url):