def downloadFile(url, folder, name): print 'downloadFile' print url, folder download_folder = REAL_SETTINGS.getSetting("PVR_Folder") if download_folder == '': addon.show_small_popup( title='File Not Downloadable', msg='You need to set your download folder in addon settings first', delay=int(5000), image=THUMB) else: download_folder = os.path.join(download_folder, folder) if not os.path.exists(download_folder): os.makedirs(download_folder) # if resolvable(url): # url = resolve(url) # ext = '' # if '.mp4' in url: # ext = '.mp4' # elif '.flv' in url: # ext = '.flv' # elif '.avi' in url: # ext = '.avi' # if not ext == '': ext = '.mp4' params = {"url": url, "download_path": download_folder} downloader.download(name + ext, params)
def downloadFile(url): download_folder = settings.getSetting("download_folder") if download_folder == "": addon.show_small_popup( title="File Not Downloadable", msg="You need to set your download folder in addon settings first", delay=int(5000), image=thumb, ) else: if resolvable(url): url = resolve(url) ext = "" if ".mp4" in url: ext = ".mp4" elif ".flv" in url: ext = ".flv" elif ".avi" in url: ext = ".avi" if not ext == "": if not os.path.exists(download_folder): os.makedirs(download_folder) params = {"url": url, "download_path": download_folder} downloader.download(name + ext, params) else: addon.show_small_popup( title="Can Not Download File", msg="Unsupported Host", delay=int(5000), image=thumb ) else: addon.show_small_popup( title="Can Not Download File", msg="Unable To Resolve Url", delay=int(5000), image=thumb )
def download(name, url): my_addon = xbmcaddon.Addon() desty= my_addon.getSetting('downloads_folder') if not xbmcvfs.exists(desty): xbmcvfs.mkdir(desty) title=name name=re.sub('[^-a-zA-Z0-9_.() ]+', '', name) name=name.rstrip('.') ext = os.path.splitext(urlparse.urlparse(url).path)[1][1:] if not ext in ['mp4', 'mkv', 'flv', 'avi', 'mpg', 'mp3']: ext = 'mp4' filename = name + '.' + ext dest = os.path.join(desty, filename) new=my_addon.getSetting('new_downloader') if new=='false': from lib.modules import commondownloader commondownloader.download(url, dest, 'Croatia On Demand') else: content = int(urllib.urlopen(url).info()['Content-Length']) size = 1024 * 1024 mb = content / (1024 * 1024) if xbmcgui.Dialog().yesno('Croatia On Demand - Potvrda preuzimanja', filename, 'Veličina datoteke je %dMB' % mb, 'Nastaviti s preuzimanjem?', 'Nastavi', 'Prekini') == 1: return import SimpleDownloader as downloader downloader = downloader.SimpleDownloader() params = { "url": url, "download_path": desty, "Title": title } downloader.download(filename, params)
def downloadFile(url): download_folder = settings.getSetting('download_folder') if download_folder == '': addon.show_small_popup( title='File Not Downloadable', msg='You need to set your download folder in addon settings first', delay=int(5000), image=thumb) else: if resolvable(url): url = resolve(url) ext = '' if '.mp4' in url: ext = '.mp4' elif '.flv' in url: ext = '.flv' elif '.avi' in url: ext = '.avi' if not ext == '': if not os.path.exists(download_folder): os.makedirs(download_folder) params = {"url": url, "download_path": download_folder} downloader.download(name + ext, params) else: addon.show_small_popup(title='Can Not Download File', msg='Unsupported Host', delay=int(5000), image=thumb) else: addon.show_small_popup(title='Can Not Download File', msg='Unable To Resolve Url', delay=int(5000), image=thumb)
def download(name, url): my_addon = xbmcaddon.Addon() desty = my_addon.getSetting('downloads_folder') if not xbmcvfs.exists(desty): xbmcvfs.mkdir(desty) title = name name = re.sub('[^-a-zA-Z0-9_.() ]+', '', name) name = name.rstrip('.') ext = os.path.splitext(urlparse.urlparse(url).path)[1][1:] if not ext in ['mp4', 'mkv', 'flv', 'avi', 'mpg', 'mp3']: ext = 'mp4' filename = name + '.' + ext dest = os.path.join(desty, filename) new = my_addon.getSetting('new_downloader') if new == 'false': from lib.modules import commondownloader commondownloader.download(url, dest, 'Croatia On Demand') else: content = int(urllib.urlopen(url).info()['Content-Length']) size = 1024 * 1024 mb = content / (1024 * 1024) if xbmcgui.Dialog().yesno('Croatia On Demand - Potvrda preuzimanja', filename, 'Veličina datoteke je %dMB' % mb, 'Nastaviti s preuzimanjem?', 'Nastavi', 'Prekini') == 1: return import SimpleDownloader as downloader downloader = downloader.SimpleDownloader() params = {"url": url, "download_path": desty, "Title": title} downloader.download(filename, params)
def download(url): #dialog = xbmcgui.Dialog() #download_path = dialog.browse(3, 'XBMC', 'files') if len(DOWNLOAD_PATH) == 0: alert('Cài đặt đường dẫn lưu trữ trong mục [COLOR red][B]Cấu hình[/B][/COLOR].') xbmcaddon.Addon(id='plugin.video.vietmediaF').openSettings('download_path') if len(DOWNLOAD_PATH) > 0: xbmc.log(url) data = fetch_data(url) if not data: return if data.get('error'): alert(data['error']) return if data.get("url"): link = data["url"] link = getlink.get(link) if link is None or len(link) == 0: notify('Lỗi không lấy được link phim hoặc server không hỗ trợ download.') return xbmcgui.Dialog().ok('VietmediaF', 'Bạn phải đặt tên files cần lưu, và extention của file (có thể là "zip, mp4, mkv")', 'Ví dụ: [COLOR blue]video.mkv[/COLOR]') keyboard2 = xbmc.Keyboard() keyboard2.setHeading('SAVE FILE AS') keyboard2.doModal() if keyboard2.isConfirmed(): file_name = keyboard2.getText() if len(file_name) == 0: return params = { "url": link, "download_path": DOWNLOAD_PATH } downloader.download(file_name, params)
def download(url, params): #episode = xbmc.getInfoLabel('ListItem.Episode') #season = xbmc.getInfoLabel('ListItem.Season') #show = xbmc.getInfoLabel('ListItem.TVShowTitle') #title = xbmc.getInfoLabel('ListItem.Title') episode = params.get('episode') show = urllib.unquote_plus(params.get('show')) title = urllib.unquote_plus(params.get('title')) season = params.get('season') folder = downloadFolder + "/" + show + "/" + 'Season ' + params.get('season') + "/" content = getUrl("http://www.myspass.de/myspass/includes/apps/video/getvideometadataxml.php?id="+url) match=re.compile('<url_flv><!\\[CDATA\\[(.+?)\\]\\]></url_flv>', re.DOTALL).findall(content) url = path=match[0] params = {"url": url, "download_path": folder, "Title": title} if len(str(episode)) < 2: episode = '0'+episode if len(str(season)) < 2: season = '0'+season filename = show + ".s" + season + ".e" + episode + "." + title + ".mp4" if not os.path.exists(folder): os.makedirs(folder) downloader.download(filename, params) return True
def download(): nUrl, mirrorName = videoID(url) videoId = getHostedMediaFile(nUrl,mirrorName) mypath = makeDir() if mypath!='': downloadpath=mypath params = { "url": videoId, "download_path": downloadpath, "Title": name } downloader.download(str(name)+".mp4", params)
def download(): nUrl, mirrorName = videoID(url) videoId = getHostedMediaFile(nUrl, mirrorName) mypath = makeDir() if mypath != '': downloadpath = mypath params = {"url": videoId, "download_path": downloadpath, "Title": name} downloader.download(str(name) + ".mp4", params)
def downloadVideo(item, downloadPath): if item.get_moving_data().has_key('videoStreamUrl'): import SimpleDownloader as downloader # @UnresolvedImport downloader = downloader.SimpleDownloader() videoUrl = item.get_moving_data()['videoStreamUrl'].partition('|')[0] params = { "url": videoUrl, "download_path": downloadPath} downloader.download(item.get_xbmc_list_item_obj().getLabel(), params) else: displayDialogMessage("Download failure!", "Unable to resolve video URL.", "Please try again with different source.")
def download_file(name, url): if addon.getSetting('save_location') == "": xbmc.executebuiltin("XBMC.Notification('LiveStreams','Choose a location to save files.',15000,"+icon+")") addon.openSettings() params = {'url': url, 'download_path': addon.getSetting('save_location')} downloader.download(name, params) dialog = xbmcgui.Dialog() ret = dialog.yesno('LiveStreams', 'Do you want to add this file as a source?') if ret: addSource(os.path.join(addon.getSetting('save_location'), name))
def download_file(name, url): if addon.getSetting('save_location') == "": xbmc.executebuiltin("XBMC.Notification('LiveStreams','Choose a location to save files.',15000,"+icon+")") addon.openSettings() params = {'url': url, 'download_path': addon.getSetting('save_location')} downloader.download(name, params) dialog = xbmcgui.Dialog() ret = dialog.yesno('LiveStreams', 'Do you want to add this file as a source?') if ret: addSource(os.path.join(addon.getSetting('save_location'), name))
def downloadVideo(item, downloadPath): if item.get_moving_data().has_key('videoStreamUrl'): import SimpleDownloader as downloader # @UnresolvedImport downloader = downloader.SimpleDownloader() videoUrl = item.get_moving_data()['videoStreamUrl'].partition('|')[0] params = {"url": videoUrl, "download_path": downloadPath} downloader.download(item.get_xbmc_list_item_obj().getLabel(), params) else: displayDialogMessage("Download failure!", "Unable to resolve video URL.", "Please try again with different source.")
def download(url): try: url=medialink(url) filename = str(re.compile('[a-zA-Z0-9-_%]+\.\w+$').findall(url)[0]) filename= urllib2.unquote(filename).replace(' ','').replace('-','') params = {"url": url, "download_path": downloadpath, "Title": '[COLOR ffff0000]'+filename+'[/COLOR]'} if os.path.isfile(downloadpath+filename): dialog = xbmcgui.Dialog() if dialog.yesno('Download message','File exists! re-download?'): downloader.download(filename, params) else: downloader.download(filename, params) except:pass
def download(url): try: filename = re.compile('[a-zA-Z0-9-_]+\.\w+$').findall(url)[0] filetype = re.compile('\.\w+$').findall(url)[0] title_num = re.compile('(?:-|_|\+)\w*\.\w+$').findall(filename)[0] title = str(filename).replace(title_num,'') filename = title+filetype params = {"url": url, "download_path": downloadpath, "Title": title} if os.path.isfile(downloadpath+filename): dialog = xbmcgui.Dialog() if dialog.yesno('Download message','File exists! re-download?'): downloader.download(filename, params) else: downloader.download(filename, params) except:pass
def download(url): try: filename = re.compile('[a-zA-Z0-9-_]+\.\w+$').findall(url)[0] filetype = re.compile('\.\w+$').findall(url)[0] title_num = re.compile('(?:-|_|\+)\w*\.\w+$').findall(filename)[0] title = str(filename).replace(title_num,'') filename = title+filetype params = {"url": url, "download_path": downloadpath, "Title": title} if os.path.isfile(downloadpath+filename): dialog = xbmcgui.Dialog() if dialog.yesno('Download message','File exists! re-download?'): downloader.download(filename, params) else: downloader.download(filename, params) except:pass
def download(url, name): dialog = xbmcgui.Dialog() url = resolveUrl(url) endung = re.search('\.([^\.]*)$', url) name = re.sub('[^0-9a-zA-Z:\. -]','',name) name = (name + datetime.datetime.now().isoformat(' ') + "." + endung.group(1)) xbmc.log("Download start: " + url + ", " + name) download_path = addon.getSetting("download") if download_path == "": dialog.ok("Error", "You have to set download dir") else: args = { "url": url, "download_path": download_path } downloader.download(name, args)
def download(url): try: VideoUrl = medialink(url) if VideoUrl.find('youtube')==-1: filename = gname+'.mp4' print 'Start downloading '+filename print VideoUrl params = {"url": VideoUrl, "download_path": downloadpath, "Title": gname} if os.path.isfile(downloadpath+filename): dialog = xbmcgui.Dialog() if dialog.yesno('Download message','File exists! re-download?'): downloader.download(filename, params) else: downloader.download(filename, params) except:pass
def get_video(url, name, plot, studio, episode, thumb, date): if '{' in url: url = ast.literal_eval(url) try: path = url[settings.getSetting('format').lower().replace('hd','hd720p30').replace('high','large').replace('low','small')]['url'] except: if 'hd' in url: path = url['hd']['url'] elif 'large' in url: path = url['large']['url'] elif 'small' in url: path = url['small']['url'] else: path = url.items()[0][1]['url'] else: oembed = getUrl('http://revision3.com/api/oembed/?url=http://revision3.com/%s/&format=json' % url) video_id = re.compile('html5player\-v(.+?)\?external').findall(oembed)[0] api = getUrl('http://revision3.com/api/flash?video_id=' + video_id) videos_api = common.parseDOM(api, "media", ret = "type") videos_api[:] = (value for value in videos_api if value != 'thumbnail') durl = {} for type_api in videos_api: content_api = clean(common.parseDOM(api, "media", attrs = { "type": type_api })[0]) durl[type_api] = content_api try: path = durl[settings.getSetting('format').lower()] except: if 'high' in durl: path = durl['high'] elif 'low' in durl: path = durl['low'] else: path = str(durl.items()[0][1]) if settings.getSetting('download') == 'true': while not settings.getSetting('downloadPath'): if settings.getSetting('download') == 'false': xbmc.executebuiltin("Container.Refresh") return dialog = xbmcgui.Dialog() ok = dialog.ok(plugin, settings.getLocalizedString( 30011 )) settings.openSettings() params = { "url": path, "download_path": settings.getSetting('downloadPath'), "Title": name } downloader.download(clean_file(name) + '.' + path.split('/')[-1].split('.')[-1], params) else: infoLabels = { "Title": name, "Studio": 'Revision3: ' + studio, "Plot": plot, "Episode": int(episode), "Aired": date } playListItem(label = name, image = thumb, path = path, infoLabels = infoLabels, PlayPath = False)
def download(url): try: url = medialink(url) filename = str(re.compile('[a-zA-Z0-9-_%]+\.\w+$').findall(url)[0]) filename = urllib2.unquote(filename).replace(' ', '').replace('-', '') params = { "url": url, "download_path": downloadpath, "Title": '[COLOR ffff0000]' + filename + '[/COLOR]' } if os.path.isfile(downloadpath + filename): dialog = xbmcgui.Dialog() if dialog.yesno('Download message', 'File exists! re-download?'): downloader.download(filename, params) else: downloader.download(filename, params) except: pass
def gozlan_download(url, params): engname=params["engname"] imdbref=params["imdbref"] #print "params="+str(params) # xbmcgui.Dialog().ok("Params" , str(params)) if (url.find('http')<0): url = base_domain+"/"+url page=getData(url,7) # <iframe src="http://www.putlocker.com/embed/F4988CE321910D0D" id='iframeinner' regexp='<iframe src="(.*?)" id=\'iframeinner\'' media_url=re.compile(regexp,re.M+re.I+re.S).findall(page)[0] #print "Resolving URL: " + media_url videoPlayListUrl = gozlanurlresolver.HostedMediaFile(url=media_url).resolve() if not videoPlayListUrl: print "URL " + media_url + " could not have been resolved to a movie.\n" return #addon.resolve_url(stream_url) #videoPlayListUrl = urllib.unquote(videoUrl[0]) #print "video url " + videoPlayListUrl vurl = videoPlayListUrl #videoPlayListUrl[1:videoPlayListUrl.find('|')] movie_name = engname dwldPath = xbmc.translatePath(os.path.join(__BASE_MOVIES_PATH__, "%s"%(movie_name))) if not os.path.exists(dwldPath): os.makedirs(dwldPath) if (vurl.find(".flv") > 0): filename = engname + ".flv" elif (vurl.find(".mp4") > 0): filename = engname + ".mp4" else : filename = engname+".avi" # Save nfo file if len(imdbref) > 1: text_file = open(dwldPath+'\\'+engname+".nfo", "w") text_file.write(imdbref) text_file.close() prms = { "url": vurl, "download_path": dwldPath, "Title": movie_name } print "downloading %s from %s to %s"%(movie_name, vurl,dwldPath+'\\'+engname) # downloader.dbg = True downloader.download(filename, prms)
def download_season(url): import SimpleDownloader as downloader downloader = downloader.SimpleDownloader() downloader.dbg = False series_id=urllib.unquote_plus(params["series_id"]) season_id=urllib.unquote_plus(params["season_id"]) page = getData(url=DOMAIN+"/ajax/watch",timeout=0,postData="episodeList=true&serie="+series_id+"&season="+season_id); episodes=json.loads(page) if episodes is None or (len(episodes)==0): xbmcgui.Dialog().ok('Error occurred',"לא נמצאו פרקים לעונה") return print "Download sdarot series=" + series_id + " season=" + season_id + " #episodes=" + str(len(episodes)) for i in range (0, len(episodes)) : epis= str(episodes[i]['episode']) finalVideoUrl,VID = getFinalVideoUrl(series_id,season_id,epis,silent=True) if finalVideoUrl == None : continue print "Downloading:" + str(finalVideoUrl) fileName = 'S' + str(season_id).zfill(2) + 'E' + str(epis).zfill(2) + '_' + str(VID) + '.mp4' download_path = os.path.join(path,str(series_id)) if not os.path.exists(download_path): os.makedirs(download_path) finalFileName = os.path.join(download_path,fileName) if not os.path.isfile(finalFileName): #progress = xbmcgui . DialogProgress ( ) #progress.create ( "XBMC ISRAEL" , "Downloading " , '' , 'Please Wait' ) try : #downloader . download ( finalVideoUrl , download_path , progress ) downloaderParams = { "url": finalVideoUrl, "download_path": download_path } downloader.download(fileName, downloaderParams,async=True) except Exception, e: print str(e) pass
def start_download(name, path): try: ext = splitext(basename(urlparse(path).path))[1] except: ext = '.mp4' dialog = xbmcgui.Dialog() #dir = dialog.browse(0, settings.getLocalizedString( 30059 ), 'files', '', False, False, settings.getSetting('downloadPath')) if settings.getSetting('downloadPrompt') == 'true': dir = dialog.browse(0, settings.getLocalizedString( 30059 ), 'files') else: while not settings.getSetting('downloadPath'): ok = dialog.ok(plugin, settings.getLocalizedString( 30058 )) settings.openSettings() if settings.getSetting('downloadPrompt') == 'true': dir = dialog.browse(0, 'XBMC', 'files') settings.setSetting('downloadPath', dir) dir = settings.getSetting('downloadPath') if len(dir) == 0: return params = { "url": path, "download_path": dir, "Title": name } downloader.download(clean_file(name) + ext, params)
def start_download(name, path): try: ext = splitext(basename(urlparse(path).path))[1] except: ext = '.mp4' dialog = xbmcgui.Dialog() #dir = dialog.browse(0, settings.getLocalizedString( 30059 ), 'files', '', False, False, settings.getSetting('downloadPath')) if settings.getSetting('downloadPrompt') == 'true': dir = dialog.browse(0, settings.getLocalizedString(30059), 'files') else: while not settings.getSetting('downloadPath'): ok = dialog.ok(plugin, settings.getLocalizedString(30058)) settings.openSettings() if settings.getSetting('downloadPrompt') == 'true': dir = dialog.browse(0, 'XBMC', 'files') settings.setSetting('downloadPath', dir) dir = settings.getSetting('downloadPath') if len(dir) == 0: return params = {"url": path, "download_path": dir, "Title": name} downloader.download(clean_file(name) + ext, params)
def downloadFile(url, folder, name): print 'downloadFile' print url, folder download_folder = REAL_SETTINGS.getSetting("PVR_Folder") if download_folder == '': addon.show_small_popup(title='File Not Downloadable', msg='You need to set your download folder in addon settings first', delay=int(5000), image=THUMB) else: download_folder = os.path.join(download_folder, folder) if not os.path.exists(download_folder): os.makedirs(download_folder) # if resolvable(url): # url = resolve(url) # ext = '' # if '.mp4' in url: # ext = '.mp4' # elif '.flv' in url: # ext = '.flv' # elif '.avi' in url: # ext = '.avi' # if not ext == '': ext = '.mp4' params = {"url":url, "download_path":download_folder} downloader.download(name + ext, params)
def downloadFile(url): download_folder = settings.getSetting('download_folder') if download_folder == '': addon.show_small_popup(title='File Not Downloadable', msg='You need to set your download folder in addon settings first', delay=int(5000), image=thumb) else: if resolvable(url): url = resolve(url) ext = '' if '.mp4' in url: ext = '.mp4' elif '.flv' in url: ext = '.flv' elif '.avi' in url: ext = '.avi' if not ext == '': if not os.path.exists(download_folder): os.makedirs(download_folder) params = {"url":url, "download_path":download_folder} downloader.download(name + ext, params) else: addon.show_small_popup(title='Can Not Download File', msg='Unsupported Host', delay=int(5000), image=thumb) else: addon.show_small_popup(title='Can Not Download File', msg='Unable To Resolve Url', delay=int(5000), image=thumb)
if not ext in ['mp4', 'mkv', 'flv', 'avi', 'mpg', 'mp3']: ext = 'mp4' filename = name + '.' + ext dest = os.path.join(desty, filename) content = int(urllib.urlopen(url).info()['Content-Length']) size = 1024 * 1024 mb = content / (1024 * 1024) if xbmcgui.Dialog().yesno('NBA Full Games - Confirm Download', filename, 'Total file size is %dMB' % mb, 'Continue with download?', 'Continue', 'Cancel') == 0: import SimpleDownloader as downloader downloader = downloader.SimpleDownloader() params = {"url": url, "download_path": desty, "Title": title} downloader.download(filename, params) elif mode[0] == 'open_option': url = args['url'][0] img = args['img'][0] help = args['help'][0] title = get_title(help) url = url.replace('temporarylink.net', 'moevideo.net') link, need = getlink_nbahd(url) if need: try: import urlresolver link = urlresolver.resolve(link) except: import YDStreamExtractor YDStreamExtractor.disableDASHVideo(True)
if mode == 'downloadVideo': # Ask where to save the file downloadLocationDialog = xbmcgui.Dialog() downloadLocation = downloadLocationDialog.browse(3, 'Download Location', 'files') params = { 'url':__urlDecode(downloadUrl), 'download_path':downloadLocation, 'Title':downloadTitle } print 'Download Parameters: %s' % params print 'Download Filename: %s.mp4' % downloadTitle downloader.download('%s.mp4' % downloadTitle, params) else: if mode is None: index = 0 for item in playlists: print('Added Folder [{0}|{1}]'.format(item['title'],index)) url = __urlEncode({'mode':'folder','foldername':item['title'],'playlistId':index}) li = xbmcgui.ListItem(label=item['title'], iconImage=icon, thumbnailImage=icon) xbmcplugin.addDirectoryItem(handle=addon_handle, url=url, listitem=li, isFolder=True) index+=1 elif mode == 'folder': for item in playlists[int(playlistId)]['lists']: print('Added Folder [{0}]'.format(item['id'])) url = __urlEncode({'mode':'section','foldername':item['title'],'playlistId':item['id']}) li = xbmcgui.ListItem(label=item['title'], iconImage=icon, thumbnailImage=icon) xbmcplugin.addDirectoryItem(handle=addon_handle, url=url, listitem=li, isFolder=True)
def get_video(url, name, plot, studio, episode, thumb, date): result = getUrl(url) video_id = re.compile('player\.loadRevision3Item\(\'video_id\',(.+?)\);').findall(result)[0].replace(' ','') api = getUrl('http://revision3.com/api/flash?video_id=' + video_id) videos_api = common.parseDOM(api, "media", ret = "type") videos_api[:] = (value for value in videos_api if value != 'thumbnail') durl = {} for type_api in videos_api: content_api = clean(common.parseDOM(api, "media", attrs = { "type": type_api })[0]) durl[type_api] = content_api list = ['MP4','Quicktime','Xvid','WMV','Unknown File Type'] for type in list: content = common.parseDOM(result, "div", attrs = { "id": "action-panels-download-" + type }) videos = common.parseDOM(content, "a", attrs = { "class": "sizename" }) links = common.parseDOM(content, "a", attrs = { "class": "sizename" }, ret="href") count = 0 for add in videos: if type == 'Unknown File Type': code = type else: code = type + ':' + add durl[code] = links[count] count += 1 dictList = [] for key, value in durl.iteritems(): dictList.append(key) quality = settings.getSetting('type') try: try: purl = durl[quality] except: if quality == 'MP4:HD': if 'Quicktime:HD' in durl: quality_api = 'Quicktime:HD' else: quality_api = 'hd' if quality == 'MP4:Large': if 'Quicktime:Large' in durl: quality_api = 'Quicktime:Large' else: quality_api = 'high' if quality == 'MP4:Phone': quality_api = 'low' purl = durl[quality_api] ret = None except: dialog = xbmcgui.Dialog() ret = dialog.select(settings.getLocalizedString( 30017 ), dictList) purl = durl[dictList[ret]] if ret != -1: if settings.getSetting('download') == 'true': while not settings.getSetting('downloadPath'): if settings.getSetting('download') == 'false': xbmc.executebuiltin("Container.Refresh") return dialog = xbmcgui.Dialog() ok = dialog.ok(plugin, settings.getLocalizedString( 30011 )) settings.openSettings() params = { "url": purl, "download_path": settings.getSetting('downloadPath'), "Title": name } downloader.download(clean_file(name) + '.' + purl.split('/')[-1].split('.')[-1], params) else: infoLabels = { "Title": name, "Studio": 'Revision3: ' + studio, "Plot": plot, "Episode": int(episode), "Aired": date } playListItem(label = name, image = thumb, path = purl, infoLabels = infoLabels, PlayPath = False)
def downloadThumb(url, imageType, path): params = {"url": url, "download_path": path, "Title": imageType} downloader.download(imageType + ".tbn", params)
def get_video(url, name, plot, studio, episode, thumb, date): if '{' in url: url = ast.literal_eval(url) try: path = url[settings.getSetting('format').lower().replace( 'hd', 'hd720p30').replace('high', 'large').replace('low', 'small')]['url'] except: if 'hd' in url: path = url['hd']['url'] elif 'large' in url: path = url['large']['url'] elif 'small' in url: path = url['small']['url'] else: path = url.items()[0][1]['url'] else: oembed = getUrl( 'http://testtube.com/api/oembed/?url=http://testtube.com/%s/&format=json' % url) video_id = re.compile('html5player\-v(.+?)\?external').findall( oembed)[0] api = getUrl('http://testtube.com/api/flash?video_id=' + video_id) videos_api = common.parseDOM(api, "media", ret="type") videos_api[:] = (value for value in videos_api if value != 'thumbnail') durl = {} for type_api in videos_api: content_api = clean( common.parseDOM(api, "media", attrs={"type": type_api})[0]) durl[type_api] = content_api try: path = durl[settings.getSetting('format').lower()] except: if 'high' in durl: path = durl['high'] elif 'low' in durl: path = durl['low'] else: path = str(durl.items()[0][1]) if settings.getSetting('download') == 'true': while not settings.getSetting('downloadPath'): if settings.getSetting('download') == 'false': xbmc.executebuiltin("Container.Refresh") return dialog = xbmcgui.Dialog() ok = dialog.ok(plugin, settings.getLocalizedString(30011)) settings.openSettings() params = { "url": path, "download_path": settings.getSetting('downloadPath'), "Title": name } downloader.download( clean_file(name) + '.' + path.split('/')[-1].split('.')[-1], params) else: infoLabels = { "Title": name, "Studio": 'TestTube: ' + studio, "Plot": plot, "Episode": int(episode), "Aired": date } playListItem(label=name, image=thumb, path=path, infoLabels=infoLabels, PlayPath=False)
for link in catLinks: urlcatlink = build_url({ 'mode': 'next', 'data': link.get('href') + '/1', 'nextval': 1 }) title = link.get('title') li = xbmcgui.ListItem(title, iconImage='DefaultVideo.png') li.setInfo(type="Video", infoLabels={"Title": title}) li.setProperty('isFolder', 'true') xbmcplugin.addDirectoryItem(handle=addon_handle, url=urlcatlink, listitem=li, isFolder=True) xbmcplugin.endOfDirectory(addon_handle) elif mode[0] == 'play': final_link = args['playlink'][0] play_video(final_link) elif mode[0] == 'download': link = args['link'][0] params = {"url": link, "download_path": "/tmp"} downloader.download("video.mp4", params) elif mode[0] == 'copy': link = args['link'][0] copy2Clip(link)