예제 #1
0
def load():
    addons = addon()

    if (addons.getSetting('hoster_onefichier_username') == '') and (addons.getSetting('hoster_onefichier_password') == ''):
        oGui = cGui()
        oGui.addText(SITE_IDENTIFIER, "[COLOR %s]%s[/COLOR]" % ("red", "Nécessite Un Compte 1Fichier Premium ou Gratuit"))
        
        oOutputParameterHandler = cOutputParameterHandler()
        oOutputParameterHandler.addParameter('siteUrl', 'http://venom/')
        oGui.addDir(SITE_IDENTIFIER,'opensetting', addons.VSlang(30023), 'none.png', oOutputParameterHandler)
        oGui.setEndOfDirectory()
    else:
        if (GestionCookie().Readcookie('onefichier') != ''):
            showFile(URL_FILE)

        else:
            oPremiumHandler = cPremiumHandler('onefichier')
            Connection = oPremiumHandler.Authentificate()
            if (Connection == False):
                oGui = cGui()
                oGui.addText(SITE_IDENTIFIER, "[COLOR %s]%s[/COLOR]" % ("red", "Connexion refusée"))
                oGui.setEndOfDirectory()

            else:
                showFile(URL_FILE)
예제 #2
0
def showFolder(sHtmlContent=''):
    oGui = cGui()
    oParser = cParser()
    oPremiumHandler = cPremiumHandler('uptobox')
    if not sHtmlContent:
        sHtmlContent = oPremiumHandler.GetHtml(BURL)
    else:
        sHtmlContent = sHtmlContent.replace(
            'class="blue_link">&nbsp;. .&nbsp; ()</a></td>', '')

    sPattern = '<td class="tri">.+?<a href="([^"]+)" class="blue_link">(.+?)<\/a><\/td>'
    aResult = oParser.parse(sHtmlContent, sPattern)

    if (aResult[0] == True):
        total = len(aResult[1])
        progress_ = progress().VScreate(SITE_NAME)
        for aEntry in aResult[1]:
            progress_.VSupdate(progress_, total)
            if progress_.iscanceled():
                break

            sTitle = aEntry[1]
            sUrl = aEntry[0]
            if not sUrl.startswith('https'):
                sUrl = URL_MAIN + sUrl

            oOutputParameterHandler = cOutputParameterHandler()
            oOutputParameterHandler.addParameter('siteUrl', sUrl)
            oOutputParameterHandler.addParameter('sMovieTitle', sTitle)
            oGui.addDir(SITE_IDENTIFIER, 'showFile', sTitle, 'genres.png',
                        oOutputParameterHandler)

        progress_.VSclose(progress_)

    oGui.setEndOfDirectory()
예제 #3
0
    def getMediaLink(self):
        ADDON = addon()
        self.oPremiumHandler = cPremiumHandler(self.getPluginIdentifier())
        if (self.oPremiumHandler.isPremiumModeAvailable()):

            try:
                mDefault = int(ADDON.getSetting("hoster_uptobox_mode_default"))
            except AttributeError:
                mDefault = 0

            if mDefault is 0:
                ret = dialog().select(
                    'Choissisez votre mode de fonctionnement', [
                        'Passer en Streaming (via Uptostream)',
                        'Rester en direct (via Uptobox)'
                    ])
            else:
                # 0 is ask me, so 1 is uptostream and so on...
                ret = mDefault - 1

            # mode DL
            if ret == 1:
                self.stream = False
            # mode stream
            elif ret == 0:
                self.__sUrl = self.__sUrl.replace('uptobox.com/',
                                                  'uptostream.com/')
            else:
                return False

            return self.__getMediaLinkByPremiumUser()

        else:
            VSlog('no premium')
            return self.__getMediaLinkForGuest()
예제 #4
0
    def getMediaLink(self):
        self.oPremiumHandler = cPremiumHandler(self.getPluginIdentifier())
        if (self.oPremiumHandler.isPremiumModeAvailable()):

            try:
                mDefault = int(self.ADDON.getSetting("hoster_uptobox_mode_default"))
            except AttributeError:
                mDefault = 0

            if mDefault is 0:
                ret = dialog().select('Choissisez votre mode de fonctionnement', ['Passer en Streaming (via Uptostream)', 'Rester en direct (via Uptobox)'])
            else:
                # 0 is ask me, so 1 is uptostream and so on...
                ret = mDefault - 1

            #mode DL
            if ret == 1:
                self.stream = False
            #mode stream
            elif ret == 0:
                self.__sUrl = self.__sUrl.replace('uptobox.com/', 'uptostream.com/')
            else:
                return False

            return self.__getMediaLinkByPremiumUser()

        else:
            VSlog('no premium')
            return self.__getMediaLinkForGuest()
예제 #5
0
def load():
    oGui = cGui()
    addons = addon()
    oPremiumHandler = cPremiumHandler('uptobox')

    if (addons.getSetting('hoster_uptobox_username') == '') and (addons.getSetting('hoster_uptobox_password') == ''):
        oGui.addText(SITE_IDENTIFIER, '[COLOR red]' + 'Nécessite Un Compte Uptobox Premium ou Gratuit' + '[/COLOR]')
        oOutputParameterHandler = cOutputParameterHandler()
        oOutputParameterHandler.addParameter('siteUrl', 'http://venom/')
        oGui.addDir(SITE_IDENTIFIER,'opensetting', addons.VSlang(30023), 'none.png', oOutputParameterHandler)
    else:
        if (GestionCookie().Readcookie('uptobox') != ''):

            oOutputParameterHandler = cOutputParameterHandler()
            oOutputParameterHandler.addParameter('siteUrl', 'http://venom/')
            oGui.addDir(SITE_IDENTIFIER, 'showFile', 'Mes Fichiers et Dossiers', 'genres.png', oOutputParameterHandler)

        else:
            Connection = oPremiumHandler.Authentificate()
            if (Connection == False):
                dialog().VSinfo('Connexion refusée')
                return

            oOutputParameterHandler = cOutputParameterHandler()
            oOutputParameterHandler.addParameter('siteUrl', 'http://venom/')
            oGui.addDir(SITE_IDENTIFIER, 'showFile', 'Mes Fichiers et Dossiers', 'genres.png', oOutputParameterHandler)


    oGui.setEndOfDirectory()
예제 #6
0
def UptomyAccount():
    oInputParameterHandler = cInputParameterHandler()
    sMediaUrl = oInputParameterHandler.getValue('sMediaUrl')

    oPremiumHandler = cPremiumHandler('onefichier')
    #verif du lien
    sHtmlContent = oPremiumHandler.GetHtml("%s" % (URL_VERIF + sMediaUrl))
    if (sHtmlContent):
        sCheck = sHtmlContent.find('NOT FOUND')
        if sCheck != -1:
            #penible ce dialog auth
            xbmc.executebuiltin("Dialog.Close(all,true)")
            xbmcgui.Dialog().notification('Info upload', 'Fichier introuvable',
                                          xbmcgui.NOTIFICATION_INFO, 2000,
                                          False)

        else:
            # si liens ok >> requete
            sHtmlContent = oPremiumHandler.GetHtml(
                URL_REMOTE, "%s%s%s" % ("links=", sMediaUrl, "&did=0"))
            if (sHtmlContent):
                sCheck = sHtmlContent.find('1 liens')
                if sCheck != -1:
                    #penible ce dialog auth
                    xbmc.executebuiltin("Dialog.Close(all,true)")
                    xbmcgui.Dialog().notification('Info upload',
                                                  'Ajouter a votre compte',
                                                  xbmcgui.NOTIFICATION_INFO,
                                                  2000, False)
예제 #7
0
def showHosters():
    oGui = cGui()
    oParser = cParser()
    oInputParameterHandler = cInputParameterHandler()
    sUrl = oInputParameterHandler.getValue('siteUrl')
    sTitle = oInputParameterHandler.getValue('sTitle')
    sCode = oInputParameterHandler.getValue('sCode')
    
    oPremiumHandler = cPremiumHandler('onefichier')

    sHtmlContent = oPremiumHandler.GetHtml(sUrl,'selected%5B%5D=' + sCode)

    sPattern = '<a href="([^"]+)">(.+?)<\/a><\/td>'
    aResult = oParser.parse(sHtmlContent, sPattern)
    if (aResult[0] == True):
        sHosterUrl = aResult[1][0][0]
        sTitle = aResult[1][0][1]
        
        oHoster = cHosterGui().checkHoster(sHosterUrl)
        if (oHoster != False):
            oHoster.setDisplayName(sTitle)
            oHoster.setFileName(sTitle)
            cHosterGui().showHoster(oGui, oHoster, sHosterUrl, '')

    oGui.setEndOfDirectory()
예제 #8
0
def load():
    addons = addon()

    if (addons.getSetting('hoster_onefichier_username')
            == '') and (addons.getSetting('hoster_onefichier_password') == ''):
        oGui = cGui()
        oGui.addText(
            SITE_IDENTIFIER, "[COLOR %s]%s[/COLOR]" %
            ("red", "Nécessite Un Compte 1Fichier Premium ou Gratuit"))
        oGui.setEndOfDirectory()
    else:
        if (GestionCookie().Readcookie('onefichier') != ''):
            showFile(URL_FILE)

        else:
            oPremiumHandler = cPremiumHandler('onefichier')
            Connection = oPremiumHandler.Authentificate()
            if (Connection == False):
                oGui = cGui()
                oGui.addText(
                    SITE_IDENTIFIER,
                    "[COLOR %s]%s[/COLOR]" % ("red", "Connexion refusée"))
                oGui.setEndOfDirectory()

            else:
                showFile(URL_FILE)
예제 #9
0
def load():
    oGui = cGui()

    oOutputParameterHandler = cOutputParameterHandler()
    oOutputParameterHandler.addParameter('siteUrl', 'http://venom/')
    oGui.addDir(SITE_IDENTIFIER, 'showMenuMovies', 'Films', 'films.png',
                oOutputParameterHandler)

    oOutputParameterHandler.addParameter('siteUrl', 'http://venom/')
    oGui.addDir(SITE_IDENTIFIER, 'showMenuTvShows', 'Séries', 'series.png',
                oOutputParameterHandler)

    oOutputParameterHandler.addParameter('siteUrl', 'http://venom/')
    oGui.addDir(SITE_IDENTIFIER, 'showMenuMangas', 'Animés', 'animes.png',
                oOutputParameterHandler)

    oOutputParameterHandler.addParameter('siteUrl', 'http://venom/')
    oGui.addDir(SITE_IDENTIFIER, 'showMenuAutre', 'Autres', 'tv.png',
                oOutputParameterHandler)

    if not cPremiumHandler("alldebrid").getToken():
        oOutputParameterHandler.addParameter('siteUrl', 'http://venom/')
        oGui.addDir(
            SITE_IDENTIFIER, 'getToken',
            '[COLOR red]Les utilisateurs d\'Alldebrid cliquez ici.[/COLOR]',
            'films.png', oOutputParameterHandler)

    oGui.setEndOfDirectory()
예제 #10
0
    def getMediaLink(self):

        dialog3 = xbmcgui.Dialog()
        ret = dialog3.select('Choissisez votre mode de fonctionnement', [
            'Passer en Streaming (via Uptostream)',
            'Rester en direct (via Uptobox)'
        ])

        #mode DL
        if ret == 1:
            self.stream = False
        #mode stream
        else:
            self.__sUrl = self.__sUrl.replace('http://uptobox.com/',
                                              'http://uptostream.com/iframe/')

        cGui().showInfo('Resolve', self.__sDisplayName, 5)

        #Si premium
        self.oPremiumHandler = cPremiumHandler(self.getPluginIdentifier())
        if (self.oPremiumHandler.isPremiumModeAvailable()):
            #self.stream = False
            return self.__getMediaLinkByPremiumUser()

        return self.__getMediaLinkForGuest()
예제 #11
0
    def getMediaLink(self):
        self.oPremiumHandler = cPremiumHandler(self.getPluginIdentifier())
        if (self.oPremiumHandler.isPremiumModeAvailable()):
            ADDON = addon()

            try:
                mDefault = int(ADDON.getSetting("hoster_uptobox_mode_default"))
            except AttributeError:
                mDefault = 0

            if mDefault == 0:
                ret = dialog().VSselect([
                    'Passer en Streaming (via Uptostream)',
                    'Rester en direct (via Uptobox)'
                ], 'Choissisez votre mode de fonctionnement')
            else:
                # 0 is ask me, so 1 is uptostream and so on...
                ret = mDefault - 1

            # mode stream
            if ret == 0:
                return self.__getMediaLinkForGuest()
            # mode DL
            if ret == 1:
                return self.__getMediaLinkByPremiumUser()

            return False

        else:
            VSlog('UPTOBOX - no premium')
            return self.__getMediaLinkForGuest()
예제 #12
0
    def getMediaLink(self):        
        oPremiumHandler = cPremiumHandler(self.getPluginIdentifier())
        if (oPremiumHandler.isPremiumModeAvailable()):
            sUsername = oPremiumHandler.getUsername()
            sPassword = oPremiumHandler.getPassword()
            return self.__getMediaLinkByPremiumUser(sUsername, sPassword);

        return self.__getMediaLinkForGuest();
예제 #13
0
    def getMediaLink(self):

        self.oPremiumHandler = cPremiumHandler(self.getPluginIdentifier())
        print self.oPremiumHandler.isPremiumModeAvailable()

        if (not self.oPremiumHandler.isPremiumModeAvailable()):
            oDialog = dialog().VSok('ATTENTION, Pas de streaming sans premium.')
            return False, False

        return self.__getMediaLinkByPremiumUser()
예제 #14
0
    def getMediaLink(self):

        self.oPremiumHandler = cPremiumHandler(self.getPluginIdentifier())
        print self.oPremiumHandler.isPremiumModeAvailable()

        if (not self.oPremiumHandler.isPremiumModeAvailable()):
            oDialog = cConfig().createDialogOK('ATTENTION, Pas de streaming sans premium.')
            return False,False

        cGui().showInfo('Resolve', self.__sDisplayName, 5)

        return self.__getMediaLinkByPremiumUser()
예제 #15
0
    def getMediaLink(self):

        self.oPremiumHandler = cPremiumHandler(self.getPluginIdentifier())
        print self.oPremiumHandler.isPremiumModeAvailable()

        import sys
        if ('site=cDownload&function' not in sys.argv[2]) and not (self.oPremiumHandler.isPremiumModeAvailable()):
            oDialog = dialog().VSok('Pas de streaming sans premium\nPour voir le film passer par l\'option "DL et Visualiser" du menu contextuel.')
            return False, False

        if (self.oPremiumHandler.isPremiumModeAvailable()):
            return self.__getMediaLinkByPremiumUser()

        return self.__getMediaLinkForGuest()
예제 #16
0
def showFile():
    oGui = cGui()
    oInputParameterHandler = cInputParameterHandler()
    sUrl = oInputParameterHandler.getValue('siteUrl')
    oParser = cParser()
    
    sFileonly = ''
    if (oInputParameterHandler.exist('file')):
        sFileonly = oInputParameterHandler.getValue('file')
        
    sToken = ''
    if (oInputParameterHandler.exist('sToken')):
        sToken = oInputParameterHandler.getValue('sToken') 

        
    oPremiumHandler = cPremiumHandler('uptobox')

    if 'uptobox.com' in sUrl:
        sHtmlContent = oPremiumHandler.GetHtml(sUrl)
    else:
        if sToken == '':
           sHtmlContent = oPremiumHandler.GetHtml(BURL)
           sPattern = 'token":"(.+?)",'
           aResult = oParser.parse(sHtmlContent, sPattern)
           if (aResult[0] == True):
                sToken = aResult[1][0]
            
    sHtmlContent = oPremiumHandler.GetHtml(API_URL.replace('none',sToken))
    content = json.loads(sHtmlContent)
    content = content["data"]["files"]
    if content:
        total = len(aResult[1])
        progress_ = progress().VScreate(SITE_NAME)
        for x in content:
            progress_.VSupdate(progress_, total)
            if progress_.iscanceled():
                break
  
            sTitle = x["file_name"]
            sHosterUrl = URL_MAIN + x["file_code"]
 
            oHoster = cHosterGui().checkHoster(sHosterUrl)
            if (oHoster != False):
                oHoster.setDisplayName(sTitle)
                oHoster.setFileName(sTitle)
                cHosterGui().showHoster(oGui, oHoster, sHosterUrl, '')

        progress_.VSclose(progress_)

    oGui.setEndOfDirectory()
예제 #17
0
def RecapchaBypass():
    oGui = cGui()
    oInputParameterHandler = cInputParameterHandler()
    sUrl = oInputParameterHandler.getValue('siteUrl')
    sMovieTitle = oInputParameterHandler.getValue('sMovieTitle')
    sThumb = oInputParameterHandler.getValue('sThumb')

    Token_Alldebrid = cPremiumHandler("alldebrid").getToken()

    if Token_Alldebrid:
        sUrl_Bypass = "******"
        sUrl_Bypass += Token_Alldebrid + "&link=" + sUrl

        oRequestHandler = cRequestHandler(sUrl_Bypass)
        sHtmlContent = json.loads(oRequestHandler.request())

        HostURL = sHtmlContent["data"]["links"]
        for sHosterUrl in HostURL:

            oHoster = cHosterGui().checkHoster(sHosterUrl)
            if (oHoster != False):
                oHoster.setDisplayName(sMovieTitle)
                oHoster.setFileName(sMovieTitle)
                cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumb)

    else:
        from resources.lib import librecaptcha
        test = librecaptcha.get_token(
            api_key="6LeH9lwUAAAAAGgg9ZVf7yOm0zb0LlcSai8t8-2o",
            site_url=sUrl,
            user_agent=UA,
            gui=False,
            debug=False)

        if test is None:
            oGui.addText(SITE_IDENTIFIER,
                         '[COLOR red]Resolution du Recaptcha annulé[/COLOR]')

        else:
            # N'affiche pas directement le liens car sinon Kodi crash.
            sDisplayTitle = "Recaptcha passé avec succès, cliquez pour afficher les liens"
            oOutputParameterHandler = cOutputParameterHandler()
            oOutputParameterHandler.addParameter('siteUrl', sUrl)
            oOutputParameterHandler.addParameter('sMovieTitle', sMovieTitle)
            oOutputParameterHandler.addParameter('sThumb', sThumb)
            oOutputParameterHandler.addParameter('Token', test)
            oGui.addLink(SITE_IDENTIFIER, 'getHost', sDisplayTitle, sThumb, '',
                         oOutputParameterHandler)

    oGui.setEndOfDirectory()
예제 #18
0
    def getMediaLink(self):
        
        self.oPremiumHandler = cPremiumHandler(self.getPluginIdentifier())
        print self.oPremiumHandler.isPremiumModeAvailable()
        
        import sys
        if ('site=cDownload&function' not in sys.argv[2]) and not (self.oPremiumHandler.isPremiumModeAvailable()):
            oDialog = cConfig().createDialogOK('ATTENTION, Pas de streaming sans premium\nPour voir le film passer par l\'option "DL et Visualiser" du menu contextuel.')
            return False,False

        cGui().showInfo('Resolve', self.__sDisplayName, 5)
        
        if (self.oPremiumHandler.isPremiumModeAvailable()):
            return self.__getMediaLinkByPremiumUser()

        return self.__getMediaLinkForGuest()
예제 #19
0
def showFile(sFileTree = ''):
    oGui = cGui()
    oInputParameterHandler = cInputParameterHandler()
    #sUrl = oInputParameterHandler.getValue('siteUrl')
    if (oInputParameterHandler.exist('siteUrl')):
        sUrl = oInputParameterHandler.getValue('siteUrl')
        
    if sFileTree:
        sUrl = sFileTree
        
    oPremiumHandler = cPremiumHandler('onefichier')

    sHtmlContent = oPremiumHandler.GetHtml(sUrl)

    oParser = cParser()
    sPattern = '((?:|directory")) *rel="([^"]+)"><div class="dF"><a href="#" onclick="return false">(.+?)<\/a>'
    aResult = oParser.parse(sHtmlContent, sPattern)
    if (aResult[0] == True):
        total = len(aResult[1])
        progress_ = progress().VScreate(SITE_NAME)

        for aEntry in aResult[1]:
            progress_.VSupdate(progress_, total)
            if progress_.iscanceled():
                break

            if aEntry[0]:
                oOutputParameterHandler = cOutputParameterHandler()
                oOutputParameterHandler.addParameter('siteUrl', "%s%s%s%s" % (URL_FILE, "?dir_id=", aEntry[1], '&oby=0&search='))
                oOutputParameterHandler.addParameter('sTitle', aEntry[2])
                oGui.addDir(SITE_IDENTIFIER, 'showFile', aEntry[2], 'genres.png', oOutputParameterHandler)

            else:
                oOutputParameterHandler = cOutputParameterHandler()
                oOutputParameterHandler.addParameter('siteUrl', "%s%s" % (URL_MAIN, "console/link.pl"))
                oOutputParameterHandler.addParameter('sCode', aEntry[1])
                oOutputParameterHandler.addParameter('sTitle', aEntry[2])
                oGui.addDir(SITE_IDENTIFIER, 'showHosters', aEntry[2], 'genres.png', oOutputParameterHandler)


        progress_.VSclose(progress_)


    oGui.setEndOfDirectory()
예제 #20
0
    def getMediaLink(self):
        
        dialog3 = xbmcgui.Dialog()
        ret = dialog3.select('Choissisez votre mode de fonctionnement',['Passer en Streaming (via Uptostream)','Rester en direct (via Uptobox)'])

        #mode DL
        if ret == 1:
            self.stream = False
        #mode stream
        else:
            self.__sUrl = self.__sUrl.replace('http://uptobox.com/','http://uptostream.com/iframe/')

        cGui().showInfo('Resolve', self.__sDisplayName, 5)
        
        self.oPremiumHandler = cPremiumHandler(self.getPluginIdentifier())
        if (self.oPremiumHandler.isPremiumModeAvailable()):
            return self.__getMediaLinkByPremiumUser()

        return self.__getMediaLinkForGuest()
예제 #21
0
    def getMediaLink(self):
        self.oPremiumHandler = cPremiumHandler('uptobox')
        premium = self.oPremiumHandler.isPremiumModeAvailable()
        api_call = False
        SubTitle = ''

        # compte gratuit ou payant
        token = ''
        if premium:
            if self.oPremiumHandler.Authentificate():
                sHtmlContent = self.oPremiumHandler.GetHtml(self.__sUrl)
                sPattern = "window\.token = '([^']+)';"
                token = re.search(sPattern,sHtmlContent, re.DOTALL)
                if token:
                    token = token.group(1)

                SubTitle = self.checkSubtitle(sHtmlContent)
        else:
            VSlog('no Premium')

        if token:
            sUrl2 = "https://uptostream.com/api/streaming/source/get?token={}&file_code={}".format(token, self.__getIdFromUrl())
            sHtml = self.oPremiumHandler.GetHtml(sUrl2)
        else:
            # pas de compte
            sUrl2 = "https://uptostream.com/api/streaming/source/get?token=null&file_code={}".format(self.__getIdFromUrl())

            oRequest = cRequestHandler(sUrl2)
            sHtml = oRequest.request()

        qua, url_list = decodeur1(sHtml)
        if qua and url_list:
            api_call = dialog().VSselectqual(qua, url_list)

        if (api_call):
            if SubTitle:
                return True, api_call.replace('\\', ''), SubTitle
            else:
                return True, api_call.replace('\\', '')

        return False, False
예제 #22
0
def UptomyAccount():
    oInputParameterHandler = cInputParameterHandler()
    sMediaUrl = oInputParameterHandler.getValue('sMediaUrl')

    oPremiumHandler = cPremiumHandler('onefichier')
    #verif du lien
    sHtmlContent = oPremiumHandler.GetHtml("%s" % (URL_VERIF + sMediaUrl))
    if (sHtmlContent):
        sCheck = sHtmlContent.find('NOT FOUND')
        if sCheck != -1:
            #penible ce dialog auth
            xbmc.executebuiltin("Dialog.Close(all,true)")
            xbmcgui.Dialog().notification('Info upload', 'Fichier introuvable', xbmcgui.NOTIFICATION_INFO, 2000, False)
        
        else:
            # si liens ok >> requete
            sHtmlContent = oPremiumHandler.GetHtml(URL_REMOTE,"%s%s%s" % ("links=", sMediaUrl, "&did=0"))
            if (sHtmlContent):
                sCheck = sHtmlContent.find('1 liens')
                if sCheck != -1:
                    #penible ce dialog auth
                    xbmc.executebuiltin("Dialog.Close(all,true)")
                    xbmcgui.Dialog().notification('Info upload', 'Ajouter a votre compte', xbmcgui.NOTIFICATION_INFO, 2000, False)
예제 #23
0
def UptomyAccount():
    addons = addon()

    if (addons.getSetting('hoster_uptobox_username') == '') and (addons.getSetting('hoster_uptobox_password') == ''):
        return
    oInputParameterHandler = cInputParameterHandler()
    sMediaUrl = oInputParameterHandler.getValue('sMediaUrl')

    oPremiumHandler = cPremiumHandler('uptobox')

    sHtmlContent = oPremiumHandler.GetHtml(URL_MAIN)
    cookies = GestionCookie().Readcookie('uptobox')

    aResult = re.search('<form id="fileupload" action="([^"]+)"', sHtmlContent, re.DOTALL)
    if (aResult):
        UPurl = aResult.group(1).replace('upload?','remote?')

        if UPurl.startswith('//'):
            UPurl = 'https:' + UPurl
            
        fields = {'urls':'["' + sMediaUrl + '"]'}
        mpartdata = MPencode(fields)

        req = urllib2.Request(UPurl, mpartdata[1], headers)
        req.add_header('Content-Type', mpartdata[0].replace(',', ';'))
        req.add_header('Cookie', cookies)
        req.add_header('Content-Length', len(mpartdata[1]))
        
        #penible ce dialog auth
        xbmc.executebuiltin("Dialog.Close(all,true)")
        xbmcgui.Dialog().notification('Requete envoyé', 'vous pouvez faire autre chose', xbmcgui.NOTIFICATION_INFO, 4000, False)

        try:
            rep = urllib2.urlopen(req)
        except urllib2.URLError, e:
            return ''

        sHtmlContent = rep.read()
        rep.close()

        sPattern = '{"id":.+?,(?:"size":|"progress":)([0-9]+)'
        oParser = cParser()
        aResult = oParser.parse(sHtmlContent, sPattern)
        if (aResult[0] == True):
            total = aResult[1][0]
            del aResult[1][0]

            dialog = xbmcgui.DialogProgressBG()
            dialog.create(SITE_NAME, 'Transfert de fichiers sur votre compte Uptobox')

            for aEntry in aResult[1]:
                dialog.update(int(aEntry) * 100 / int(total),'Upload en cours...')

                xbmc.sleep(500)
            dialog.close()


        else:
            #penible ce dialog auth
            xbmc.executebuiltin("Dialog.Close(all,true)")
            xbmcgui.Dialog().notification('Info upload', 'Fichier introuvable', xbmcgui.NOTIFICATION_INFO, 2000, False)
예제 #24
0
def showFile():

    oGui = cGui()
    oInputParameterHandler = cInputParameterHandler()
    sUrl = oInputParameterHandler.getValue('siteUrl')
    #VSlog('input   ' + str(sUrl))
    oParser = cParser()
    
    sOffset = 0
    if (oInputParameterHandler.exist('sOffset')):
        sOffset = int(oInputParameterHandler.getValue('sOffset'))
        
    sNext = 0
    if (oInputParameterHandler.exist('sNext')):
        sNext = int(oInputParameterHandler.getValue('sNext'))
        
    sToken = ''
    if (oInputParameterHandler.exist('sToken')):
        sToken = oInputParameterHandler.getValue('sToken') 

    sFoldername = ''
    if (oInputParameterHandler.exist('sFoldername')):
        sFoldername = oInputParameterHandler.getValue('sFoldername')
        sUrl = sUrl + urllib.quote(sFoldername).replace('//','%2F%2F')
        #VSlog('folder   ' +str(sUrl))
        
    sPath = '' 
    if (oInputParameterHandler.exist('sPath')):
        sPath = oInputParameterHandler.getValue('sPath')
        sUrl = sUrl + urllib.quote(sPath).replace('//','%2F%2F')
        #VSlog('sPath   ' + str(sUrl))
        
    oPremiumHandler = cPremiumHandler('uptobox')
    
    if 'uptobox.com' in sUrl:
        sHtmlContent = oPremiumHandler.GetHtml(sUrl)

    else:
        if sToken == '':
            sHtmlContent = oPremiumHandler.GetHtml(BURL)
            sPattern = 'token":"(.+?)",'
            aResult = oParser.parse(sHtmlContent, sPattern)
            if (aResult[0] == True):
                sToken = aResult[1][0]
            
            sHtmlContent = oPremiumHandler.GetHtml(API_URL.replace('none',sToken) + '%2F%2F')

    content = json.loads(sHtmlContent)
    content = content["data"]

    if content:
        total = len(content)
        progress_ = progress().VScreate(SITE_NAME)
        sPath = getpath(content)
        for x in content:
            
            progress_.VSupdate(progress_, total)
            if progress_.iscanceled():
                break

            if x == "files":

                for y in content[x]:
                    sTitle = y["file_name"].encode('utf-8')
                    sHosterUrl = URL_MAIN + y["file_code"]

                    oHoster = cHosterGui().checkHoster(sHosterUrl)
                    if (oHoster != False):
                        oHoster.setDisplayName(sTitle)
                        oHoster.setFileName(sTitle)
                        cHosterGui().showHoster(oGui, oHoster, sHosterUrl, '')
                    sNext +=1
                    
            if x == "folders":

                for z in content[x]:
                    sTitle = z["name"].encode('utf-8')
                    sFoldername = z["fld_name"].encode('utf-8')
                    
                    sUrl = API_URL.replace('none',sToken)

                    oOutputParameterHandler = cOutputParameterHandler()
                    oOutputParameterHandler.addParameter('siteUrl', sUrl)
                    oOutputParameterHandler.addParameter('sMovieTitle', sTitle)
                    oOutputParameterHandler.addParameter('sFoldername', sFoldername)
                    oOutputParameterHandler.addParameter('sToken', sToken)
                    oGui.addDir(SITE_IDENTIFIER, 'showFile', sTitle, 'genres.png', oOutputParameterHandler)

            if x == "currentFolder":
                if content[x]["fileCount"] != int(sNext):
                    oOutputParameterHandler = cOutputParameterHandler()

                    sOffset = int(sOffset) + 100

                    oOutputParameterHandler.addParameter('siteUrl', API_URL.replace('none',sToken).replace('offset=0','offset=' + str(sOffset)))
                    oOutputParameterHandler.addParameter('sToken', sToken)
                    oOutputParameterHandler.addParameter('sNext', sNext)
                    oOutputParameterHandler.addParameter('sOffset', sOffset)
                    oOutputParameterHandler.addParameter('sPath', sPath)
                    oGui.addNext(SITE_IDENTIFIER, 'showFile', '[COLOR teal]Next >>>[/COLOR]', oOutputParameterHandler)
                    

        progress_.VSclose(progress_)

    oGui.setEndOfDirectory()