def getDownloads(): dirlist = [] lst = [ (kodi.giveColor('Download Location: ','white')+'file_path'+kodi.giveColor(str(download_folder),'dodgerblue'),None,19,None,False), \ (kodi.giveColor('Change Download Location','white'),None,19,None,False), \ ('###########################################',None,999,None,False) \ ] extensions = ['.mp4'] for file in os.listdir(download_folder): for extension in extensions: if file.endswith('.tmp_mp4'): try: os.remove(os.path.join(download_folder, file)) except: pass if file.endswith(extension): name = urllib.unquote_plus(file) lst += [ (kodi.giveColor(str(name),'white'),os.path.join(download_folder, file),803,None,True), \ ] conn = sqlite3.connect(downloaddb) conn.text_factory = str c = conn.cursor() for i in lst: find_string = i[0] if i[1]: try: find_string = find_string.replace('.mp4', '') find_string = kodi.stripColor(find_string) c.execute("SELECT image FROM downloads WHERE name = '%s'" % find_string) icon = c.fetchone()[0] except: icon = None else: icon = i[3] dirlist.append({ 'name': find_string, 'url': i[1], 'mode': i[2], 'icon': icon, 'fanart': None, 'folder': False, 'isDownloaded': i[4] }) if c: c.close() buildDirectory(dirlist)
def removeDownload(url, name): try: os.remove(url) try: name = name.replace('.mp4','') name = kodi.stripColor(name) conn = sqlite3.connect(downloaddb) c = conn.cursor() c.execute("DELETE FROM downloads WHERE name = '%s'" % name) conn.commit() conn.close() except: pass kodi.notify(msg='Removed successfully.') except: kodi.notify(msg='Error removing file.') xbmc.executebuiltin("Container.Refresh")
def find_link(url, name, iconimage, downloadableLink=False): xbmc.executebuiltin("ActivateWindow(busydialog)") if '|SPLIT|' in url: url = url.split('|SPLIT|')[0] if 'site=' in url: url = url.split('site=')[0] if '|User-Agent' in url: url = url.split('|User-Agent')[0] c = client.request(url, output='headers') checks = ['video','mpegurl'] try: if any(f for f in checks if f in c['Content-Type']): downloadableLink = True except: xbmc.executebuiltin("Dialog.Close(busydialog)") kodi.notify(msg='Error downloading video.') quit() name = kodi.stripColor(name) if '] -' in name: name = name.split('] -')[1] if downloadableLink: dest = getDest() dest = os.path.join(dest, '%s.mp4' % urllib.quote_plus(name)) download(url,name,iconimage,dest) else: u = adultresolver.resolve(url, addon_id=kodi.get_id()) if (not isinstance(u, str)): u = player.multilinkselector(u) if u == 'quit': xbmc.executebuiltin("Dialog.Close(busydialog)") quit() if u: dest = getDest() dest = os.path.join(dest, '%s.tmp_mp4' % urllib.quote_plus(name)) download(u,name,iconimage,dest) else: xbmc.executebuiltin("Dialog.Close(busydialog)") kodi.notify('No Downloadable Link Found.') quit()
def find_link(url, name, iconimage, downloadableLink=False): xbmc.executebuiltin("ActivateWindow(busydialog)") if '|SPLIT|' in url: url = url.split('|SPLIT|')[0] if 'site=' in url: url = url.split('site=')[0] if '|' in url: url = url.split('|User-Agent')[0] c = client.request(url, output='headers') checks = ['video', 'mpegurl'] exts = ['.mp4', '.flv', '.m3u8'] try: if any(f for f in checks if f in c['Content-Type']): downloadableLink = True except: if any(f for f in exts if f in url): downloadableLink = True else: xbmc.executebuiltin("Dialog.Close(busydialog)") kodi.notify(msg='Error downloading video.') quit() name = kodi.stripColor(name) if '] -' in name: name = name.split('] -')[1] if downloadableLink: dest = getDest() dest = os.path.join(dest, '%s.mp4' % urllib.quote_plus(name)) download(url, name, iconimage, dest) else: u = None log_utils.log('Sending %s to XXX Resolver' % (url), log_utils.LOGNOTICE) if urlresolver.HostedMediaFile(url, include_xxx=True).valid_url(): log_utils.log( '%s is a valid SMU resolvable URL. Attempting to resolve.' % (url), log_utils.LOGNOTICE) try: u = urlresolver.HostedMediaFile(url, include_xxx=True).resolve() except Exception as e: log_utils.log( 'Error getting valid link from SMU :: %s :: %s' % (url, str(e)), log_utils.LOGERROR) kodi.idle() kodi.notify(msg='Something went wrong! | %s' % str(e), duration=8000, sound=True) quit() log_utils.log('Link returned by XXX Resolver :: %s' % (u), log_utils.LOGNOTICE) else: log_utils.log( '%s is not a valid SMU resolvable link. Attempting to resolve by XXXODUS backup resolver.' % (url), log_utils.LOGNOTICE) try: u = adultresolver.resolve(url) except Exception as e: log_utils.log( 'Error getting valid link from SMU :: %s :: %s' % (url, str(e)), log_utils.LOGERROR) kodi.idle() kodi.notify(msg='Something went wrong! | %s' % str(e), duration=8000, sound=True) quit() log_utils.log('%s returned by XXX-O-DUS backup resolver.' % (u), log_utils.LOGNOTICE) if (not isinstance(u, str)): try: u = multilinkselector(u) except: pass if u == 'quit': xbmc.executebuiltin("Dialog.Close(busydialog)") quit() if u: dest = getDest() dest = os.path.join(dest, '%s.tmp_mp4' % urllib.quote_plus(name)) download(u, name, iconimage, dest) else: xbmc.executebuiltin("Dialog.Close(busydialog)") kodi.notify('No Downloadable Link Found.') quit()