def download(self, url, option, copy_summary=None): if option.lower() == 'play with kawaii-player': final_url = '' self.ui.epn_name_in_list = self.title_page self.ui.logger.info(self.ui.epn_name_in_list) if self.ui.mpvplayer_val.processId() > 0: self.ui.mpvplayer_val.kill() final_url = get_yt_url(url, self.ui.quality_val, self.ui.ytdl_path, self.ui.logger) if final_url: self.ui.watchDirectly(final_url, self.ui.epn_name_in_list, 'no') self.ui.tab_5.show() self.ui.frame1.show() self.ui.tab_2.setMaximumWidth(400) elif option.lower() == 'add as local playlist': self.get_playlist = True if self.playlist_dict: self.ui.logger.info(self.get_playlist, '=get_playlist') self.add_playlist(self.playlist_name) elif option.lower() == 'download': if self.ui.quality_val == 'sd480p': txt = "Video can't be saved in 480p, Saving in either HD or SD" send_notification(txt) quality = 'hd' else: quality = self.ui.quality_val finalUrl = get_yt_url(url, quality, self.ui.ytdl_path, self.ui.logger) finalUrl = finalUrl.replace('\n', '') title = self.title_page + '.mp4' title = title.replace('"', '') title = title.replace('/', '-') if os.path.exists(self.ui.default_download_location): title = os.path.join(self.ui.default_download_location, title) else: title = os.path.join(self.ui.tmp_download_folder, title) command = wget_string(finalUrl, title, self.ui.get_fetch_library) print(command) self.ui.infoWget(command, 0) elif option.lower() == 'get subtitle (if available)': self.ui.epn_name_in_list = self.title_page self.ui.logger.info(self.ui.epn_name_in_list) get_yt_sub(url, self.ui.epn_name_in_list, self.yt_sub_folder, self.ui.tmp_download_folder, self.ui.ytdl_path, self.ui.logger) elif option.lower() == 'queue item': file_path = os.path.join(self.home, 'Playlists', 'Queue') if not os.path.exists(file_path): f = open(file_path, 'w') f.close() if not self.ui.queue_url_list: self.ui.list6.clear() title = self.title_page.replace('/', '-') if title.startswith('.'): title = title[1:] r = title + ' ' + url + ' ' + 'NONE' self.ui.queue_url_list.append(r) self.ui.list6.addItem(title) print(self.ui.queue_url_list) write_files(file_path, r, line_by_line=True) elif option.lower() == 'season episode link': if self.site != "Music" and self.site != "PlayLists": self.ui.getTvdbEpnInfo(url) elif option.lower() == 'artist link' or option.lower( ) == 'series link': r = self.ui.list1.currentRow() nm = self.ui.get_title_name(r) self.ui.posterfound_new(name=nm, site=self.site, url=url, direct_url=True, copy_summary=True, copy_poster=True, copy_fanart=True) elif option.lower() == 'copy summary': self.ui.copySummary(copy_sum=copy_summary) else: if not url: url = self.media_url print(url, self.media_url, '--media--url--') if url: t_content = ccurl(url + '#' + '-I') if 'image/jpeg' in t_content and not 'Location:' in t_content: pass elif 'image/jpeg' in t_content and 'Location:' in t_content: m = re.findall('Location: [^\n]*', t_content) found = re.sub('Location: |\r', '', m[0]) url = found elif self.media_url: url = self.media_url else: return 0 if option.lower() == "download as fanart": r = self.ui.list1.currentRow() nm = self.ui.get_title_name(r) print(option, '----') self.ui.posterfound_new(name=nm, site=self.site, url=url, direct_url=True, copy_summary=False, copy_poster=False, copy_fanart=True) elif option.lower() == "download as cover": r = self.ui.list1.currentRow() nm = self.ui.get_title_name(r) self.ui.posterfound_new(name=nm, site=self.site, url=url, direct_url=True, copy_summary=False, copy_poster=True, copy_fanart=False)
def download(self, url, option): if option.lower() == 'play with kawaii-player': final_url = '' self.ui.epn_name_in_list = self.title_page print(self.ui.epn_name_in_list) if self.ui.mpvplayer_val.processId() > 0: self.ui.mpvplayer_val.kill() self.ui.mpvplayer_started = False if 'youtube.com' in url.toString() or 'ytimg.com' in url.toString( ): final_url = url.toString() else: final_url = 'ytdl:' + url.toString() self.ui.get_final_link(final_url, self.ui.quality_val, self.ui.ytdl_path, self.ui.logger, self.ui.epn_name_in_list, self.hdr) elif option.lower() == 'add as local playlist': self.get_playlist = True if self.playlist_dict: print(self.get_playlist, '=get_playlist') self.add_playlist(self.playlist_name) elif option.lower() == 'download': if self.ui.quality_val == 'sd480p': txt = "Video can't be saved in 480p, Saving in either HD or SD" send_notification(txt) quality = 'hd' else: quality = self.ui.quality_val finalUrl = get_yt_url(url.toString(), quality, self.ui.ytdl_path, self.ui.logger, mode='offline') finalUrl = finalUrl.replace('\n', '') title = self.title_page + '.mp4' title = title.replace('"', '') title = title.replace('/', '-') if os.path.exists(self.ui.default_download_location): title = os.path.join(self.ui.default_download_location, title) else: title = os.path.join(self.ui.tmp_download_folder, title) command = wget_string(finalUrl, title, self.ui.get_fetch_library) print(command) self.ui.infoWget(command, 0) elif option.lower() == 'get subtitle (if available)': self.ui.epn_name_in_list = self.title_page print(self.ui.epn_name_in_list) get_yt_sub(url.toString(), self.ui.epn_name_in_list, self.yt_sub_folder, self.ui.tmp_download_folder, self.ui.ytdl_path, self.ui.logger) elif option.lower() == 'queue item': file_path = os.path.join(self.home, 'Playlists', 'Queue') if not os.path.exists(file_path): f = open(file_path, 'w') f.close() if not self.ui.queue_url_list: self.ui.list6.clear() title = self.title_page.replace('/', '-') if title.startswith('.'): title = title[1:] r = title + ' ' + url.toString() + ' ' + 'NONE' self.ui.queue_url_list.append(r) self.ui.list6.addItem(title) print(self.ui.queue_url_list) write_files(file_path, r, line_by_line=True) elif option.lower() == 'season episode link': if self.site != "Music" and self.site != "PlayLists": my_copy = self.ui.epn_arr_list.copy() r = self.ui.list1.currentRow() nm = self.ui.get_title_name(r) self.ui.metaengine.getTvdbEpnInfo(url.toString(), site=self.site, epn_arr=my_copy, name=nm, row=r) elif (option.lower() == 'artist link' or option.lower() == 'series link' or option.lower() == 'series/movie link'): url = url.toString() r = self.ui.list1.currentRow() nm = self.ui.get_title_name(r) self.ui.posterfound_new(name=nm, site=self.site, url=url, direct_url=True, copy_summary=True, copy_poster=True, copy_fanart=True) else: url = url.toString() if url: t_content = ccurl(url, curl_opt='-I') if 'image/jpeg' in t_content and not 'Location:' in t_content: pass elif 'image/jpeg' in t_content and 'Location:' in t_content: m = re.findall('Location: [^\n]*', t_content) found = re.sub('Location: |\r', '', m[0]) url = found elif not self.img_url.isEmpty(): url = self.img_url.toString() else: return 0 if '#' in url: url = url.split('#')[0] if option.lower() == "download as fanart": r = self.ui.list1.currentRow() nm = self.ui.get_title_name(r) print(option, '----') self.ui.posterfound_new(name=nm, site=self.site, url=url, direct_url=True, copy_summary=False, copy_poster=False, copy_fanart=True) elif option.lower() == "download as cover": r = self.ui.list1.currentRow() nm = self.ui.get_title_name(r) self.ui.posterfound_new(name=nm, site=self.site, url=url, direct_url=True, copy_summary=False, copy_poster=True, copy_fanart=False)
def download(self, url, option, copy_summary=None): if option.lower() == "play with kawaii-player": final_url = "" self.ui.epn_name_in_list = self.title_page self.ui.logger.info(self.ui.epn_name_in_list) if self.ui.mpvplayer_val.processId() > 0: self.ui.mpvplayer_val.kill() self.ui.mpvplayer_started = False if "youtube.com" in url or "ytimg.com" in url: pass else: url = "ytdl:" + url self.ui.get_final_link( url, self.ui.quality_val, self.ui.ytdl_path, self.ui.logger, self.ui.epn_name_in_list, self.hdr, ) elif option.lower() in ["cast this item", "cast queue"]: if option.lower() == "cast queue": self.ui.list2.process_browser_based_url( copy_summary, url, "queue") else: self.ui.list2.process_browser_based_url( copy_summary, url, "single") elif option.lower() == "add as local playlist": self.get_playlist = True if self.playlist_dict: self.ui.logger.info(self.get_playlist, "=get_playlist") self.add_playlist(self.playlist_name) elif option.lower() == "download": if self.ui.quality_val == "sd480p": txt = "Video can't be saved in 480p, Saving in either HD or SD" send_notification(txt) quality = "hd" else: quality = self.ui.quality_val finalUrl = self.ui.yt.get_yt_url(url, quality, self.ui.ytdl_path, self.ui.logger, mode="offline") finalUrl = finalUrl.replace("\n", "") title = self.title_page + ".mp4" title = title.replace('"', "") title = title.replace("/", "-") if os.path.exists(self.ui.default_download_location): title = os.path.join(self.ui.default_download_location, title) else: title = os.path.join(self.ui.tmp_download_folder, title) command = wget_string(finalUrl, title, self.ui.get_fetch_library) self.ui.logger.debug(command) self.ui.infoWget(command, 0) elif option.lower() == "queue item": file_path = os.path.join(self.home, "Playlists", "Queue") if not os.path.exists(file_path): f = open(file_path, "w") f.close() if not self.ui.queue_url_list: self.ui.list6.clear() title = self.title_page.replace("/", "-") if title.startswith("."): title = title[1:] r = title + " " + url + " " + "NONE" self.ui.queue_url_list.append(r) self.ui.list6.addItem(title) write_files(file_path, r, line_by_line=True) elif option.lower() == "season episode link": if self.site != "Music" and self.site != "PlayLists": my_copy = self.ui.epn_arr_list.copy() r = self.ui.list1.currentRow() nm = self.ui.get_title_name(r) video_dir = None if self.site.lower() == "video": video_dir = self.ui.original_path_name[r].split("\t")[-1] elif self.site.lower() in ["playlists", "none", "music"]: pass else: video_dir = self.ui.original_path_name[r] self.ui.posterfound_new( name=nm, site=self.site, url=url, direct_url=True, copy_summary=False, copy_poster=False, copy_fanart=False, get_sum=True, video_dir=video_dir, ) elif (option.lower() == "artist link" or option.lower() == "series link" or option.lower() == "series/movie link"): r = self.ui.list1.currentRow() nm = self.ui.get_title_name(r) self.ui.posterfound_new( name=nm, site=self.site, url=url, direct_url=True, copy_summary=True, copy_poster=True, copy_fanart=True, ) elif option.lower() == "copy summary": self.ui.copySummary(copy_sum=copy_summary) else: if not url: url = self.media_url self.ui.logger.debug("{}--{}--media-url--".format( url, self.media_url)) if url: t_content = ccurl(url, curl_opt="-I") if "image/jpeg" in t_content and not "Location:" in t_content: pass elif "image/jpeg" in t_content and "Location:" in t_content: m = re.findall("Location: [^\n]*", t_content) found = re.sub("Location: |\r", "", m[0]) url = found elif self.media_url: url = self.media_url else: return 0 if option.lower() == "download as fanart": r = self.ui.list1.currentRow() nm = self.ui.get_title_name(r) print(option, "----") self.ui.posterfound_new( name=nm, site=self.site, url=url, direct_url=True, copy_summary=False, copy_poster=False, copy_fanart=True, ) elif option.lower() == "download as cover": r = self.ui.list1.currentRow() nm = self.ui.get_title_name(r) self.ui.posterfound_new( name=nm, site=self.site, url=url, direct_url=True, copy_summary=False, copy_poster=True, copy_fanart=False, )
def download(self, url,option): if option.lower() == 'play with animewatch': final_url = '' self.ui.epn_name_in_list = self.title_page print(self.ui.epn_name_in_list) if self.ui.mpvplayer_val.processId() > 0: self.ui.mpvplayer_val.kill() final_url = get_yt_url(url.toString(),self.ui.quality_val,self.ui.ytdl_path,self.ui.logger) if final_url: self.ui.watchDirectly(final_url,self.ui.epn_name_in_list,'no') self.ui.tab_5.show() self.ui.frame1.show() self.ui.tab_2.setMaximumWidth(self.ui.width_allowed+50) elif option.lower() == 'add as local playlist': self.get_playlist = True if self.playlist_dict: print(self.get_playlist,'=get_playlist') self.add_playlist(self.playlist_name) elif option.lower() == 'download': if self.ui.quality_val == 'sd480p': txt = "Video can't be saved in 480p, Saving in either HD or SD" send_notification(txt) quality = 'hd' else: quality = self.ui.quality_val finalUrl = get_yt_url(url.toString(),quality,self.ui.ytdl_path,self.ui.logger) finalUrl = finalUrl.replace('\n','') title = self.title_page+'.mp4' title = title.replace('"','') title = title.replace('/','-') if os.path.exists(self.ui.default_download_location): title = os.path.join(self.ui.default_download_location,title) else: title = os.path.join(self.ui.tmp_download_folder,title) command = wget_string(finalUrl,title,self.ui.get_fetch_library) print (command) self.ui.infoWget(command,0) elif option.lower() == 'get subtitle (if available)': self.ui.epn_name_in_list = self.title_page print(self.ui.epn_name_in_list) get_yt_sub(url.toString(),self.ui.epn_name_in_list, self.yt_sub_folder,self.ui.tmp_download_folder, self.ui.ytdl_path,self.ui.logger) elif option.lower() == 'queue item': file_path = os.path.join(self.home,'Playlists','Queue') if not os.path.exists(file_path): f = open(file_path,'w') f.close() if not self.ui.queue_url_list: self.ui.list6.clear() title = self.title_page.replace('/','-') if title.startswith('.'): title = title[1:] r = title + ' '+url.toString()+' '+'NONE' self.ui.queue_url_list.append(r) self.ui.list6.addItem(title) print (self.ui.queue_url_list) write_files(file_path,r,line_by_line=True) elif option.lower() == 'season episode link': if self.site != "Music" and self.site != "PlayLists": self.ui.getTvdbEpnInfo(url.toString()) elif option.lower() == 'artist link' or option.lower() == 'series link': url = url.toString() r = self.ui.list1.currentRow() nm = self.ui.get_title_name(r) self.ui.posterfound_new( name=nm,site=self.site,url=url,direct_url=True, copy_summary=True,copy_poster=True,copy_fanart=True) else: url = url.toString() if url: t_content = ccurl(url+'#'+'-I') if 'image/jpeg' in t_content and not 'Location:' in t_content: pass elif 'image/jpeg' in t_content and 'Location:' in t_content: m = re.findall('Location: [^\n]*',t_content) found = re.sub('Location: |\r','',m[0]) url = found elif not self.img_url.isEmpty(): url = self.img_url.toString() else: return 0 if option.lower() == "download as fanart": r = self.ui.list1.currentRow() nm = self.ui.get_title_name(r) print(option,'----') self.ui.posterfound_new( name=nm,site=self.site,url=url,direct_url=True, copy_summary=False,copy_poster=False,copy_fanart=True) elif option.lower() == "download as cover": r = self.ui.list1.currentRow() nm = self.ui.get_title_name(r) self.ui.posterfound_new( name=nm,site=self.site,url=url,direct_url=True, copy_summary=False,copy_poster=True,copy_fanart=False)
def download(self, url, option, copy_summary=None): if option.lower() == 'play with kawaii-player': final_url = '' self.ui.epn_name_in_list = self.title_page self.ui.logger.info(self.ui.epn_name_in_list) if self.ui.mpvplayer_val.processId() > 0: self.ui.mpvplayer_val.kill() self.ui.mpvplayer_started = False if 'youtube.com' in url or 'ytimg.com' in url: pass else: url = 'ytdl:' + url self.ui.get_final_link(url, self.ui.quality_val, self.ui.ytdl_path, self.ui.logger, self.ui.epn_name_in_list, self.hdr) elif option.lower() in ["cast this item", "cast queue"]: if option.lower() == "cast queue": self.ui.list2.process_browser_based_url( copy_summary, url, "queue") else: self.ui.list2.process_browser_based_url( copy_summary, url, "single") elif option.lower() == 'add as local playlist': self.get_playlist = True if self.playlist_dict: self.ui.logger.info(self.get_playlist, '=get_playlist') self.add_playlist(self.playlist_name) elif option.lower() == 'download': if self.ui.quality_val == 'sd480p': txt = "Video can't be saved in 480p, Saving in either HD or SD" send_notification(txt) quality = 'hd' else: quality = self.ui.quality_val finalUrl = self.ui.yt.get_yt_url(url, quality, self.ui.ytdl_path, self.ui.logger, mode='offline') finalUrl = finalUrl.replace('\n', '') title = self.title_page + '.mp4' title = title.replace('"', '') title = title.replace('/', '-') if os.path.exists(self.ui.default_download_location): title = os.path.join(self.ui.default_download_location, title) else: title = os.path.join(self.ui.tmp_download_folder, title) command = wget_string(finalUrl, title, self.ui.get_fetch_library) self.ui.logger.debug(command) self.ui.infoWget(command, 0) elif option.lower() == 'queue item': file_path = os.path.join(self.home, 'Playlists', 'Queue') if not os.path.exists(file_path): f = open(file_path, 'w') f.close() if not self.ui.queue_url_list: self.ui.list6.clear() title = self.title_page.replace('/', '-') if title.startswith('.'): title = title[1:] r = title + ' ' + url + ' ' + 'NONE' self.ui.queue_url_list.append(r) self.ui.list6.addItem(title) write_files(file_path, r, line_by_line=True) elif option.lower() == 'season episode link': if self.site != "Music" and self.site != "PlayLists": my_copy = self.ui.epn_arr_list.copy() r = self.ui.list1.currentRow() nm = self.ui.get_title_name(r) video_dir = None if self.site.lower() == 'video': video_dir = self.ui.original_path_name[r].split('\t')[-1] elif self.site.lower() in ['playlists', 'none', 'music']: pass else: video_dir = self.ui.original_path_name[r] self.ui.posterfound_new(name=nm, site=self.site, url=url, direct_url=True, copy_summary=False, copy_poster=False, copy_fanart=False, get_sum=True, video_dir=video_dir) elif (option.lower() == 'artist link' or option.lower() == 'series link' or option.lower() == 'series/movie link'): r = self.ui.list1.currentRow() nm = self.ui.get_title_name(r) self.ui.posterfound_new(name=nm, site=self.site, url=url, direct_url=True, copy_summary=True, copy_poster=True, copy_fanart=True) elif option.lower() == 'copy summary': self.ui.copySummary(copy_sum=copy_summary) else: if not url: url = self.media_url self.ui.logger.debug('{}--{}--media-url--'.format( url, self.media_url)) if url: t_content = ccurl(url, curl_opt='-I') if 'image/jpeg' in t_content and not 'Location:' in t_content: pass elif 'image/jpeg' in t_content and 'Location:' in t_content: m = re.findall('Location: [^\n]*', t_content) found = re.sub('Location: |\r', '', m[0]) url = found elif self.media_url: url = self.media_url else: return 0 if option.lower() == "download as fanart": r = self.ui.list1.currentRow() nm = self.ui.get_title_name(r) print(option, '----') self.ui.posterfound_new(name=nm, site=self.site, url=url, direct_url=True, copy_summary=False, copy_poster=False, copy_fanart=True) elif option.lower() == "download as cover": r = self.ui.list1.currentRow() nm = self.ui.get_title_name(r) self.ui.posterfound_new(name=nm, site=self.site, url=url, direct_url=True, copy_summary=False, copy_poster=True, copy_fanart=False)