diff --git a/app/tools/yt.py b/app/tools/yt.py index e3f40256..0116d965 100644 --- a/app/tools/yt.py +++ b/app/tools/yt.py @@ -13,7 +13,8 @@ _YT_LIST_PATTERN = re.compile(r"https://www.youtube.com/.+?(?:list=)([\w-]{23,}) _YT_VIDEO_PATTERN = re.compile(r"https://r\d+---sn-[\w]{10}-[\w]{3,5}.googlevideo.com/videoplayback?.*") _HEADERS = {"User-Agent": "Mozilla/5.0"} -Quality = {137: "1080p", 136: "720p", 135: "480p", 134: "360p", 133: "240p", 160: "144p", 0: "0p"} +Quality = {137: "1080p", 136: "720p", 135: "480p", 134: "360p", + 133: "240p", 160: "144p", 0: "0p", 18: "360p", 22: "720p"} class YouTube: @@ -58,7 +59,7 @@ class YouTube: det = resp.get("videoDetails", None) title = det.get("title", None) if det else None streaming_data = resp.get("streamingData", None) - fmts = streaming_data.get("adaptiveFormats", None) if streaming_data else None + fmts = streaming_data.get("formats", None) if streaming_data else None if fmts: urls = {Quality[i["itag"]]: i["url"] for i in diff --git a/app/ui/iptv.glade b/app/ui/iptv.glade index b8f515ea..cec217e3 100644 --- a/app/ui/iptv.glade +++ b/app/ui/iptv.glade @@ -1271,24 +1271,12 @@ Author: Dmitriy Yefremov Auto - - 1080p - 720p - - 480p - 360p - - 240p - - - 144p - diff --git a/app/ui/iptv.py b/app/ui/iptv.py index d6626816..0b46c8e3 100644 --- a/app/ui/iptv.py +++ b/app/ui/iptv.py @@ -688,6 +688,8 @@ class YtListImportDialog: act = self._quality_model.get_value(self._quality_box.get_active_iter(), 0) for link in links: lnk, title = link + if not lnk: + continue ln = lnk.get(act) if act in lnk else lnk[sorted(lnk, key=lambda x: int(x.rstrip("p")), reverse=True)[0]] fav_id = get_fav_id(ln, title, self._profile) srv = Service(None, None, IPTV_ICON, title, *aggr[0:3], BqServiceType.IPTV.name, *aggr, None, fav_id, None)