From ab7ff50cc5fa8ded00a768c665137c305500ed39 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Mon, 4 Sep 2023 23:24:08 +0200 Subject: [PATCH] tabs -> spaces --- grzegorz/metadatafetch.py | 79 ++++++++++++++++++++------------------- 1 file changed, 40 insertions(+), 39 deletions(-) diff --git a/grzegorz/metadatafetch.py b/grzegorz/metadatafetch.py index 0596b13..0e898a3 100644 --- a/grzegorz/metadatafetch.py +++ b/grzegorz/metadatafetch.py @@ -3,51 +3,52 @@ import youtube_dl from youtube_dl.utils import DownloadError from . import nyasync + @nyasync.ify def title(url): - ydl = youtube_dl.YoutubeDL() - return ydl.extract_info(url, download=False).get('title') + ydl = youtube_dl.YoutubeDL() + return ydl.extract_info(url, download=False).get('title') def filter_query_params(url, allowed=[]): - split_url = urlsplit(url) - - qs = parse_qs(split_url.query) - print(qs) - for key in list(qs.keys()): - if key not in allowed: - del qs[key] - - return urlunsplit(( - split_url.scheme, - split_url.netloc, - split_url.path, - urlencode(qs, doseq=True), - split_url.fragment, - )) + split_url = urlsplit(url) + + qs = parse_qs(split_url.query) + print(qs) + for key in list(qs.keys()): + if key not in allowed: + del qs[key] + + return urlunsplit(( + split_url.scheme, + split_url.netloc, + split_url.path, + urlencode(qs, doseq=True), + split_url.fragment, + )) @nyasync.ify def get_youtube_dl_metadata(url, ydl = youtube_dl.YoutubeDL()): - if urlsplit(url).scheme == "": - return None - if urlsplit(url).netloc.lower() in ("www.youtube.com", "youtube.com", "youtu.be"): - #Stop it from doing the whole playlist - url = filter_query_params(url, allowed=["v"]) - elif urlsplit(url).scheme == "ytdl": - url = f"https://youtube.com/watch?v={urlsplit(url).netloc}" - - try: - resp = ydl.extract_info(url, download=False) - except DownloadError: - return None - - #filter and return: - return {k:v for k, v in resp.items() if k in - ("uploader", "title", "thumbnail", "description", "duration")} + if urlsplit(url).scheme == "": + return None + if urlsplit(url).netloc.lower() in ("www.youtube.com", "youtube.com", "youtu.be"): + #Stop it from doing the whole playlist + url = filter_query_params(url, allowed=["v"]) + elif urlsplit(url).scheme == "ytdl": + url = f"https://youtube.com/watch?v={urlsplit(url).netloc}" + + try: + resp = ydl.extract_info(url, download=False) + except DownloadError: + return None + + #filter and return: + return {k:v for k, v in resp.items() if k in + ("uploader", "title", "thumbnail", "description", "duration")} async def get_metadata(url): - data = await get_youtube_dl_metadata(url) - if data is None: - # (TODO): local ID3 tags - return {"failed":True} - - return data + data = await get_youtube_dl_metadata(url) + if data is None: + # (TODO): local ID3 tags + return {"failed":True} + + return data