示例#1
0
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)
示例#2
0
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")
示例#3
0
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()
示例#4
0
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()