implement dynamic obs overwrite

This commit is contained in:
Simon
2025-07-10 16:34:00 +07:00
parent 59e9ee7eed
commit bbfd3f4423

View File

@@ -34,14 +34,19 @@ class YouTubeItem:
"""build youtube url""" """build youtube url"""
return self.yt_base + self.youtube_id return self.yt_base + self.youtube_id
def get_from_youtube(self): def get_from_youtube(self, obs_overwrite: dict | None = None):
"""use yt-dlp to get meta data from youtube""" """use yt-dlp to get meta data from youtube"""
print(f"{self.youtube_id}: get metadata from youtube") print(f"{self.youtube_id}: get metadata from youtube")
obs_request = self.yt_obs.copy() obs_request = self.yt_obs.copy()
if self.config["downloads"]["extractor_lang"]: if self.config["downloads"]["extractor_lang"]:
langs = self.config["downloads"]["extractor_lang"] langs = self.config["downloads"]["extractor_lang"]
langs_list = [i.strip() for i in langs.split(",")] langs_list = [i.strip() for i in langs.split(",")]
obs_request["extractor_args"] = {"youtube": {"lang": langs_list}} obs_request["extractor_args"] = {
"youtube": {"lang": langs_list}
} # type: ignore
if obs_overwrite:
obs_request.update(obs_overwrite)
url = self.build_yt_url() url = self.build_yt_url()
self.youtube_meta, self.error = YtWrap( self.youtube_meta, self.error = YtWrap(