GithubHelp home page GithubHelp logo

Comments (16)

LordVenom avatar LordVenom commented on July 24, 2024

Bonjour,

Dsl je n'ais pas trouver de solution alternative a l'affichage du log. Je ne connais pas KodiDirect enigma2 mais peux être il y a des plugin à installer pour prendre en charge toute les possibilité d'Xbmc.
Le seul endroit ou j'ai entendu parler d'enigma c'est sur ce forum j’espère que ça t'aideras.

http://www.dzsat.org/forum/f437/vstream-super-plugin-xbmc-en-francais-404376.html

from venom-xbmc-addons.

kookesam avatar kookesam commented on July 24, 2024

bonjour et merci oui je connais ce forum ce n'ai pas le meme j'ai poser la question a la personne qui a créer kodidirect sur enigma2 j'espere avoir une reponse en tout cas merci pour se plugin .

from venom-xbmc-addons.

kookesam avatar kookesam commented on July 24, 2024

bonsoir LordVenom probleme resolue fonctionne sur KodiDirect vstream 0.25 merci.

from venom-xbmc-addons.

LordVenom avatar LordVenom commented on July 24, 2024

Cool, peux être peux tu décrire t'a solution pour les prochains à avoir ce problème.

from venom-xbmc-addons.

kookesam avatar kookesam commented on July 24, 2024

bonsoir ce n'est pas moi qui a resolue le probleme c'est le concepteur de KodiDirect qui la fait,mais j'ai un autre probleme je voulais mettre un autre site j'ai que des erreurs le site est cinemay.com merci.

from venom-xbmc-addons.

LordVenom avatar LordVenom commented on July 24, 2024

Le fichier avec commentaire t'aide pas, faut vraiment que je face un tuto. A tu des bases html ?

from venom-xbmc-addons.

kookesam avatar kookesam commented on July 24, 2024

bonjour non je n'ai pas de base htlm j'ai suivis le tuto mais ca ne fonctionne pas j'ai due louper quelque chose.

from venom-xbmc-addons.

LordVenom avatar LordVenom commented on July 24, 2024

Bonjour, Sans base Html ça vas être compliquer. Si tu as une erreur d'indexation c'est python tu doit savoir que le code doit être carrer ou sinon ça plante. je te conseille notepad++ ou sublimetext.

from venom-xbmc-addons.

kookesam avatar kookesam commented on July 24, 2024

re oui je travail avec notepad++ voila se que j'ai mis:

#-*- coding: utf-8 -*-
#Venom.
from resources.lib.gui.hoster import cHosterGui #system de recherche pour l'hote
from resources.lib.handler.hosterHandler import cHosterHandler #system de recherche pour l'hote
from resources.lib.gui.gui import cGui #system d'affichage pour xbmc
from resources.lib.gui.guiElement import cGuiElement #system d'affichage pour xbmc
from resources.lib.handler.inputParameterHandler import cInputParameterHandler #entrer des parametres
from resources.lib.handler.outputParameterHandler import cOutputParameterHandler #sortis des parametres
from resources.lib.handler.requestHandler import cRequestHandler #requete url
from resources.lib.config import cConfig #config
from resources.lib.parser import cParser #recherche de code

#Si vous créer une source et la déposer dans le dossier sites elle seras directement visible sous xbmc

SITE_IDENTIFIER = 'cinemay_com' #identifant nom de votre fichier remplacer les espaces et les . par _ aucun caractere speciale
SITE_NAME = 'cinemay.com' # nom que xbmc affiche
SITE_DESC = 'films en streaming, vk streaming, youwatch, vimple , streaming hd , streaming 720p , streaming sans limite' #description courte de votre source

URL_MAIN = 'http://cinemay.com/' # url de votre source

#definis les url pour les catégories principale ceci et automatique si la deffition et présente elle seras afficher.
MOVIE_NEWS = 'http://cinemay.com' # films nouveautés
MOVIE_VIEWS = 'http://cinemay.com' # films + plus
MOVIE_COMMENTS = 'http://cinemay.com' # films + commentés
MOVIE_NOTES = 'http://cinemay.com' # films mieux notés
MOVIE_GENRES = True #

SERIE_SERIES = 'http://cinemay.com' # serie nouveautés
SERIE_VFS = 'http://cinemay.com' # serie VF
SERIE_VOSTFRS = 'http://cinemay.com' # serie Vostfr

ANIM_ANIMS = 'http://cinemay.com' #anim nouveautés
ANIM_VFS = 'http://cinemay.com' #anime VF
ANIM_VOSTFRS = 'http://cinemay.com' #anim VOSTFR
ANIM_MOVIES = 'http://cinemay.com' #anim film

DOC_DOCS = 'http://cinemay.com/' #Documentaire
SPORT_SPORTS = 'http://cinemay.com' #sport
MOVIE_NETS = 'http://cinemay.com' #video du net

def load(): #function charger automatiquement par l'addon l'index de votre navigation.
    oGui = cGui() #ouvre l'affichage

    oOutputParameterHandler = cOutputParameterHandler() #apelle la function pour sortir un parametre
    oOutputParameterHandler.addParameter('siteUrl', 'http://cinemay/') # sortis du parametres siteUrl oublier pas la Majuscule
    oGui.addDir(SITE_IDENTIFIER, 'showSearch', 'Recherche', 'search.png', oOutputParameterHandler) 
    #Ajoute lien dossier (identifant, function a attendre, nom, icon, parametre de sortis)
    #Puisque nous ne voulont pas atteindre une url on peux mettre ceux qu'on veut dans le parametre siteUrl

    oOutputParameterHandler = cOutputParameterHandler()
    oOutputParameterHandler.addParameter('http://cinemay.com', MOVIE_NEWS)
    oGui.addDir(SITE_IDENTIFIER, 'showMovies', 'Films Nouveautés', 'news.png', oOutputParameterHandler)
    #ici la function showMovies a besoin d'une url ici le racourcis MOVIE_NEWS

    oOutputParameterHandler = cOutputParameterHandler()
    oOutputParameterHandler.addParameter('siteUrl', 'http://cinemay')
    oGui.addDir(SITE_IDENTIFIER, 'showGenre', 'Films Genre', 'genres.png', oOutputParameterHandler)
    #showGenre n'a pas besoin d'une url pour cette methode 

    oOutputParameterHandler = cOutputParameterHandler()
    oOutputParameterHandler.addParameter('http://cinemay.com', SERIE_SERIES)
    oGui.addDir(SITE_IDENTIFIER, 'showMovies', 'Series', 'series.png', oOutputParameterHandler)


    oGui.setEndOfDirectory() #ferme l'affichage

def showSearch(): #function de recherche
    oGui = cGui()

    sSearchText = oGui.showKeyBoard() #apelle le clavier xbmx
    if (sSearchText != False):
            sUrl = 'http://cinemay.com/xfsearch/'+sSearchText  #modifier l'url de recherche
            showMovies(sUrl) #apelle la function qui pouras lire la page de resulta
            oGui.setEndOfDirectory()
            return  


def showGenre(): #affiche les genres
    oGui = cGui()

    #juste a entrer c'est caterorie et les lien qui vont bien
    liste = []
    liste.append( ['Action','http://cinemay.com/action/'] )
    liste.append( ['Animation','http://cinemay.com/animation/'] )
    liste.append( ['Arts Martiaux','http://fcinemay.com/arts-martiaux/'] )
    liste.append( ['Aventure','http://cinemay.com/aventure/'] )
    liste.append( ['serie','http://cinemay.com/serie/'] )
    liste.append( ['Comedie','http://cinemay.com/comedie/'] )
    liste.append( ['Comedie Dramatique','http://cinemay.com/comedie-dramatique/'] )
    liste.append( ['Comedie Musicale','http://cinemay.com/comedie-musicale/'] )
    liste.append( ['Documentaire','http://cinemay.com/documentaire/'] )
    liste.append( ['Drame','http://cinemay.com/drame/'] )
    liste.append( ['Epouvante Horreur','http://cinemay.com/epouvante-horreur/'] ) 
    liste.append( ['Erotique','http://cinemay.com/erotique'] )
    liste.append( ['Espionnage','http://cinemay.com/espionnage/'] )
    liste.append( ['Famille','http://cinemay.com/famille/'] )
    liste.append( ['Fantastique','http://cinemay.com/fantastique/'] )  
    liste.append( ['Guerre','http://cinemay.com/guerre/'] )
    liste.append( ['Historique','http://cinemay.com/historique/'] )
    liste.append( ['Musical','http://cinemay.com/musical/'] )
    liste.append( ['Policier','http://cinemay.com/policier/'] )
    liste.append( ['Peplum','http://cinemay.com/peplum/'] )
    liste.append( ['Romance','http://cinemay.com/romance/'] )
    liste.append( ['Science Fiction','http://cinemay.com/science-fiction/'] )
    liste.append( ['Spectacle','http://cinemay.com/spectacle/'] )
    liste.append( ['Thriller','http://cinemay.com/thriller/'] )
    liste.append( ['Western','http://cinemay.com/western/'] )
    liste.append( ['Divers','http://cinemay.com/divers/'] ) 

    for sTitle,sUrl in liste:#boucle

        oOutputParameterHandler = cOutputParameterHandler()
        oOutputParameterHandler.addParameter('http://cinemay.com', sUrl)#sortis de l'url en parametre
        oGui.addDir(SITE_IDENTIFIER, 'showMovies', sTitle, 'genres.png', oOutputParameterHandler)
        #ajouter un dossier vers la function showMovies avec le titre de chaque categorie.

    oGui.setEndOfDirectory() 


def showMovies(sSearch = ''):
    oGui = cGui() #ouvre l'affichage
    if sSearch:#si une url et envoyer directement garce a la function showSearch
      sUrl = sSearch
    else:
        oInputParameterHandler = cInputParameterHandler()
        sUrl = oInputParameterHandler.getValue('http://cinemay.com') # recupere l'url sortis en parametre

    oRequestHandler = cRequestHandler(sUrl) # envoye une requete a l'url
    sHtmlContent = oRequestHandler.request(); #requete aussi
    sHtmlContent = sHtmlContent.replace('<span class="likeThis">', '').replace('</span>','')
    #la function replace et pratique pour supprimer un code du resultat
    sPattern = 'class="movie movie-block"><img src="([^<]+)" alt=".+?" title="([^<]+)"/>.+?<h2 onclick="window.location.href=\'([^<]+)\'">.+?<div style="color:#F29000">.+?<div.+?>(.+?)</div>'
    #pour faire simple recherche ce bout de code dans le code source de l'url
    #- ([^<]+) je veut cette partie de code mais y a une suite
    #- .+? je ne veut pas cette partis et peux importe ceux qu'elle contient
    #- (.+?) je veut cette partis et c'est la fin
    oParser = cParser()
    aResult = oParser.parse(sHtmlContent, sPattern)
    # le plus simple et de faire un print aResult 
    # dans le fichier log d'xbmc vous pourez voir un array de ce que recupere le script
    # et modifier sPattern si besoin
    print aResult #Commenter ou supprimer cette ligne une foix fini
    if (aResult[0] == True):
        total = len(aResult[1]) #dialog
        dialog = cConfig().createDialog(SITE_NAME) #dialog
        for aEntry in aResult[1]:
            cConfig().updateDialog(dialog, total) #dialog
            if dialog.iscanceled():
                break
            #L'array affiche vos info dans l'orde de sPattern en commencant a 0
            sTitle = aEntry[1]
            oOutputParameterHandler = cOutputParameterHandler()
            oOutputParameterHandler.addParameter('http://cinemay.com', str(aEntry[2])) #sortis de l'url
            oOutputParameterHandler.addParameter('sMovieTitle', str(aEntry[1])) #sortis du titre
            oOutputParameterHandler.addParameter('sThumbnail', str(aEntry[0])) #sortis du poster

            if '/series' in sUrl:
                oGui.addTV(SITE_IDENTIFIER, 'seriesHosters', sTitle,'', aEntry[0], aEntry[3], oOutputParameterHandler)
                #addTV pour sortir les serie tv (identifiant, function, titre, icon, poster, description, sortis parametre)
            else:
                oGui.addMovie(SITE_IDENTIFIER, 'showHosters', sTitle, '', aEntry[0], aEntry[3], oOutputParameterHandler)
                #addMovies pour sortir les films (identifiant, function, titre, icon, poster, description, sortis parametre)

            #il existe aussis addMisc(identifiant, function, titre, icon, poster, description, sortis parametre)
            #la difference et pour les metadonner serie, films ou sans
        cConfig().finishDialog(dialog)#dialog

        sNextPage = __checkForNextPage(sHtmlContent)#cherche la page suivante
        if (sNextPage != False):
            oOutputParameterHandler = cOutputParameterHandler()
            oOutputParameterHandler.addParameter('http://cinemay.com', sNextPage)
            oGui.addDir(SITE_IDENTIFIER, 'showMovies', '[COLOR teal]Next >>>[/COLOR]', 'next.png', oOutputParameterHandler)
            #Ajoute une entrer pour le lien Next | pas de addMisc pas de poster et de description inutile donc

    if not sSearch:
        oGui.setEndOfDirectory() #ferme l'affichage


def __checkForNextPage(sHtmlContent): #cherche la page suivante
    sPattern = '<div class="navigation".+? <span.+? <a href="(.+?)">'
    # .+? je ne veut pas cette partis et peux importe ceux qu'elle contient
    #- (.+?) je veut cette partis et c'est la fin
    oParser = cParser()
    aResult = oParser.parse(sHtmlContent, sPattern)
    print aResult #affiche le result dans le log naviguer un peux sur votre source pour voir si tous ce passe bien
    if (aResult[0] == True):
        return aResult[1][0]

    return False


def showHosters():# recherche et affiche les hotes
    oGui = cGui() #ouvre l'affichage
    oInputParameterHandler = cInputParameterHandler() #apelle l'entre de paramettre
    sUrl = oInputParameterHandler.getValue('http://cinemay.com')  # apelle siteUrl
    sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') #apelle le titre
    sThumbnail = oInputParameterHandler.getValue('sThumbnail') # apelle le poster

    oRequestHandler = cRequestHandler(sUrl) #requete sur l'url
    sHtmlContent = oRequestHandler.request(); #requete sur l'url
    sHtmlContent = sHtmlContent.replace('<iframe src="//www.facebook.com/','').replace('<iframe src=\'http://creative.rev2pub.com','')
    #supprimer a l'aide de replace toute les entrer qui corresponde a votre recherche mais ne doivent pas etre pris en compte      

    sPattern = '<iframe.+?src="(.+?)"'
    #ici nous cherchont toute les sources iframe
    oParser = cParser()
    aResult = oParser.parse(sHtmlContent, sPattern)
    #penser a faire un print aResult pour verifier 
    #si un lien ne s'affiche pas peux etre que l'hote n'est pas supporte par l'addon
    if (aResult[0] == True):
        for aEntry in aResult[1]:

            sHosterUrl = str(aEntry)
            oHoster = cHosterGui().checkHoster(sHosterUrl) #recherche l'hote dans l'addon
            if (oHoster != False):
                oHoster.setDisplayName(sMovieTitle) #nom affiche
                oHoster.setFileName(sMovieTitle) # idem
                cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) 
                #affiche le lien (oGui, oHoster, url du lien, poster)

    oGui.setEndOfDirectory() #fin

def seriesHosters(): #cherche les episode de series
    oGui = cGui()
    oInputParameterHandler = cInputParameterHandler()
    sUrl = oInputParameterHandler.getValue('http://cinemay.com')
    sMovieTitle = oInputParameterHandler.getValue('sMovieTitle')
    sThumbnail = oInputParameterHandler.getValue('sThumbnail')

    oRequestHandler = cRequestHandler(sUrl)
    sHtmlContent = oRequestHandler.request();
    sHtmlContent = sHtmlContent.replace('<iframe src="//www.facebook.com/','').replace('<iframe src=\'http://creative.rev2pub.com','')

    sPattern = '<dd><a href="([^<]+)" class="zoombox.+?" title="(.+?)"><button class="btn">.+?</button></a></dd>'
    oParser = cParser()
    aResult = oParser.parse(sHtmlContent, sPattern)
    if (aResult[0] == True):
        for aEntry in aResult[1]:

            sHosterUrl = str(aEntry[0])
            oHoster = cHosterGui().checkHoster(sHosterUrl)
            if (oHoster != False):
                oHoster.setDisplayName(aEntry[1])
                oHoster.setFileName(aEntry[1])
                cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) 

    oGui.setEndOfDirectory()

#Voila c'est un peux brouillon mais ça devrais aider un peux, n'esiter a poser vos question et meme a partager vos source

from venom-xbmc-addons.

LordVenom avatar LordVenom commented on July 24, 2024

Ca fonctionne ? pourquoi afficher des liens inutile.

#definis les url pour les catégories principale ceci et automatique si la deffition et présente elle seras afficher.

tu peux masquer avec un # ou supprimer.

#ANIM_ANIMS = 'http://cinemay.com' #anim nouveautés
ect...

from venom-xbmc-addons.

kookesam avatar kookesam commented on July 24, 2024

re tu pourrais me donner l'exemple si ca te derange pas simplement pour comprendre et eventuellement ajouter d'autres sites merci.

from venom-xbmc-addons.

LordVenom avatar LordVenom commented on July 24, 2024

Désoler pas le temp de faire une nouvelle source, ton fichier n'est pas asser avancer. Pour comprendre regarde les autres sources. Je pense a faire un tuto bientôt.

from venom-xbmc-addons.

kookesam avatar kookesam commented on July 24, 2024

ok merci

from venom-xbmc-addons.

mino60 avatar mino60 commented on July 24, 2024

Bonjour LordVenon je veux partager une nouvelle source zdstream.org marche bien sur enigma2
et correctif des liens pour full-streaming.org

http://www.mediafire.com/download/zh8qbd7qxvg4mjo/plugin.video.vstream.rar

from venom-xbmc-addons.

mino60 avatar mino60 commented on July 24, 2024

#-- coding: utf-8 --
#Venom.
from resources.lib.gui.hoster import cHosterGui
from resources.lib.handler.hosterHandler import cHosterHandler
from resources.lib.gui.gui import cGui
from resources.lib.gui.guiElement import cGuiElement
from resources.lib.handler.inputParameterHandler import cInputParameterHandler
from resources.lib.handler.outputParameterHandler import cOutputParameterHandler
from resources.lib.handler.requestHandler import cRequestHandler
from resources.lib.parser import cParser
from resources.lib.util import cUtil
from resources.lib.config import cConfig
import re, urllib

SITE_IDENTIFIER = 'zdstream_org'
SITE_NAME = 'Zdstream.org'
SITE_DESC = 'Film streaming, film gratuit, film en streaming, Streaming Film, site de streaming, serie streaming, series en sreaming, streaming gratuit regarder film'

URL_MAIN = 'http://zdstream.org/'

MOVIE_NEWS = ('http://zdstream.org/', 'showMovies')
MOVIE_VIEWS = ('http://zdstream.org/les-plus-vues/', 'showMovies')
MOVIE_COMMENTS = ('http://zdstream.org/les-plus-commentes/', 'showMovies')
MOVIE_POPULAIRES = ('http://zdstream.org/les-plus-populaires/', 'showMovies')
MOVIE_GENRES = (True, 'showGenre')
SERIE_SERIES = ('http://zdstream.org/genre/series-tv', 'showMovies')

URL_SEARCH = ('http://zdstream.org/?s=', 'showMovies')
FUNCTION_SEARCH = 'showMovies'

def load():
oGui = cGui()

oOutputParameterHandler = cOutputParameterHandler()
oOutputParameterHandler.addParameter('siteUrl', 'http://venom/')
oGui.addDir(SITE_IDENTIFIER, 'showSearch', 'Recherche', 'search.png', oOutputParameterHandler)

oOutputParameterHandler = cOutputParameterHandler()
oOutputParameterHandler.addParameter('siteUrl', MOVIE_NEWS[0])
oGui.addDir(SITE_IDENTIFIER, 'showMovies', 'Films Nouveautés', 'news.png', oOutputParameterHandler)

oOutputParameterHandler = cOutputParameterHandler()
oOutputParameterHandler.addParameter('siteUrl', MOVIE_VIEWS[0])
oGui.addDir(SITE_IDENTIFIER, 'showMovies', 'Films Les plus Vues', 'films.png', oOutputParameterHandler)

oOutputParameterHandler = cOutputParameterHandler()
oOutputParameterHandler.addParameter('siteUrl', MOVIE_COMMENTS[0])
oGui.addDir(SITE_IDENTIFIER, 'showMovies', 'Films Les plus Commentés', 'films.png', oOutputParameterHandler)

oOutputParameterHandler = cOutputParameterHandler()
oOutputParameterHandler.addParameter('siteUrl', MOVIE_POPULAIRES[0])
oGui.addDir(SITE_IDENTIFIER, 'showMovies', 'Films Les plus Populaires', 'films.png', oOutputParameterHandler)

oOutputParameterHandler = cOutputParameterHandler()
oOutputParameterHandler.addParameter('siteUrl', MOVIE_GENRES[0])
oGui.addDir(SITE_IDENTIFIER, 'showGenre', 'Films Genres', 'genres.png', oOutputParameterHandler)

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

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

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

oOutputParameterHandler = cOutputParameterHandler()
oOutputParameterHandler.addParameter('siteUrl', SERIE_SERIES[0])
oGui.addDir(SITE_IDENTIFIER, 'showMovies', 'Series Nouveautés', 'series.png', oOutputParameterHandler)


oGui.setEndOfDirectory()

def showSearch():
oGui = cGui()

sSearchText = oGui.showKeyBoard()
if (sSearchText != False):
        sUrl = 'http://zdstream.org/?s='+sSearchText  
        showMovies(sUrl)
        oGui.setEndOfDirectory()
        return

def showGenre():
oGui = cGui()
oInputParameterHandler = cInputParameterHandler()
sUrl = oInputParameterHandler.getValue('siteUrl')

liste = []
liste.append( ['Action','http://zdstream.org/genre/action/'] )
liste.append( ['Animation','http://zdstream.org/genre/animation/'] )
liste.append( ['Aventure','http://zdstream.org/genre/aventure/'] )
liste.append( ['Biopic','http://zdstream.org/genre/biopic/'] )
liste.append( ['Comedie','http://zdstream.org/genre/comedie/'] )
liste.append( ['Comedie dramatique','http://zdstream.org/genre/comedie-dramatique/'] )
liste.append( ['Comedie musicale','http://zdstream.org/genre/comedie-musicale/'] )
liste.append( ['Drame','http://zdstream.org/genre/drame/'] )
liste.append( ['Epouvante horreur','http://zdstream.org/genre/epouvante-horreur/'] )
liste.append( ['Espionage','http://zdstream.org/genre/espionnage/'] )
liste.append( ['Famille','http://zdstream.org/genre/famille/'] ) 
liste.append( ['Fantastique','http://zdstream.org/genre/fantastique/'] )
liste.append( ['Guerre','http://zdstream.org/genre/guerre/'] )
liste.append( ['Historique','http://zdstream.org/genre/historique/'] )
liste.append( ['judiciaire','http://zdstream.org/genre/judiciaire/'] )
liste.append( ['Policier','http://zdstream.org/genre/policier/'] )
liste.append( ['Romance','http://zdstream.org/genre/romance/'] )
liste.append( ['Science Fiction','http://zdstream.org/genre/science-fiction/'] )
liste.append( ['Thriller','http://zdstream.org/genre/thriller/'] )
liste.append( ['Western','http://zdstream.org/genre/western/'] )

for sTitle,sUrl in liste:

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

oGui.setEndOfDirectory()

def showQlt():
oGui = cGui()
oInputParameterHandler = cInputParameterHandler()
sUrl = oInputParameterHandler.getValue('siteUrl')

liste = []
liste.append( ['DVDRIP','http://zdstream.org/qualite/dvdrip/'] )
liste.append( ['BDRIP','http://zdstream.org/qualite/bdrip/'] )
liste.append( ['R5','http://zdstream.org/qualite/r5/'] )
liste.append( ['CAM','http://zdstream.org/qualite/cam/'] )
liste.append( ['DVDSCR','http://zdstream.org/qualite/dvdscr/'] ) 

for sTitle,sUrl in liste:

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

oGui.setEndOfDirectory()

def showPys():
oGui = cGui()
oInputParameterHandler = cInputParameterHandler()
sUrl = oInputParameterHandler.getValue('siteUrl')

liste = []
liste.append( ['Americain','http://zdstream.org/pays/americain/'] )
liste.append( ['Francais','http://zdstream.org/pays/francais/'] )
liste.append( ['Britannique','http://zdstream.org/pays/britannique/'] )
liste.append( ['Allemand','http://zdstream.org/pays/allemand/'] )
liste.append( ['Belge','http://zdstream.org/pays/belge/'] ) 
liste.append( ['Canadien','http://zdstream.org/pays/canadien/'] )
liste.append( ['Italien','http://zdstream.org/pays/italien/'] )
liste.append( ['Coreen','http://zdstream.org/pays/coreen/'] )
liste.append( ['Japonais','http://zdstream.org/pays/japonais/'] )
liste.append( ['Australien','http://zdstream.org/pays/australien/'] ) 

for sTitle,sUrl in liste:

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

oGui.setEndOfDirectory()

def showPlt():
oGui = cGui()
oInputParameterHandler = cInputParameterHandler()
sUrl = oInputParameterHandler.getValue('siteUrl')

liste = []
liste.append( ['Youwatch','http://zdstream.org/plateformes/youwatch/'] )
liste.append( ['Exashare','http://zdstream.org/plateformes/exashare/'] )
liste.append( ['Nowvideo','http://zdstream.org/plateformes/nowvideo/'] )
liste.append( ['NETU','http://zdstream.org/plateformes/netu/'] )
liste.append( ['Speedvideo','http://zdstream.org/plateformes/speedvideo/'] )
liste.append( ['VK','http://zdstream.org/plateformes/vk/'] ) 

for sTitle,sUrl in liste:

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

oGui.setEndOfDirectory()

def showMovies(sSearch = ''):
oGui = cGui()
if sSearch:
sUrl = sSearch
else:
oInputParameterHandler = cInputParameterHandler()
sUrl = oInputParameterHandler.getValue('siteUrl')

oRequestHandler = cRequestHandler(sUrl) 
sHtmlContent = oRequestHandler.request(); 
if '/serie-tv' in sUrl:
    sPattern = '<a class="entry-thumbnails-link" href="([^<]+)"><img src="(.+?)" .+?/>.+?<h3 class="entry-title"><a href=".+?" rel="bookmark">(.+?)</a></h3><div class="entry-summary" style=".+?">(.+?)</div>'
else:
    sPattern = '<a class="tooltips"  href="([^<]+)"> <img src="(.+?)" .*?alt="(.+?)" />.+?<br />(.+?)</span>'

oGui.setEndOfDirectory()   


oRequestHandler = cRequestHandler(sUrl)
sHtmlContent = oRequestHandler.request();

sPattern = '<li><atitle=".+?" href="([^<]+)">(.+?)</a> <spanclass="mctagmap_count">(.+?)</span>'

oParser = cParser()
aResult = oParser.parse(sHtmlContent, sPattern)
if (aResult[0] == True):
    for aEntry in aResult[1]:

        sTitle = aEntry[1]+' - '+aEntry[2]

        oOutputParameterHandler = cOutputParameterHandler()
        oOutputParameterHandler.addParameter('siteUrl', str(aEntry[0]))
        oGui.addDir(SITE_IDENTIFIER, 'showMovies', sTitle, 'genres.png', oOutputParameterHandler)

oGui.setEndOfDirectory()

def showMovies(sSearch = ''):
oGui = cGui()
if sSearch:
sUrl = sSearch
else:
oInputParameterHandler = cInputParameterHandler()
sUrl = oInputParameterHandler.getValue('siteUrl')

oRequestHandler = cRequestHandler(sUrl)
sHtmlContent = oRequestHandler.request();
sHtmlContent = sHtmlContent.replace('<span class="likeThis">', '').replace('</span>','')
sPattern = '<div.*?class="moviefilm"><a.*?href="([^<]+)">.+?<img.*?src="([^<]+)" alt="(.+?)".+?>'

oParser = cParser()
aResult = oParser.parse(sHtmlContent, sPattern)

if (aResult[0] == False):
    oGui.addNone(SITE_IDENTIFIER)
    return False

if (aResult[0] == True):
    total = len(aResult[1])
    dialog = cConfig().createDialog(SITE_NAME)
    for aEntry in aResult[1]:
        cConfig().updateDialog(dialog, total)
        if dialog.iscanceled():
            break

        #sTitle = aEntry[2]+' - [COLOR azure]'+aEntry[3]+'[/COLOR]'
        oOutputParameterHandler = cOutputParameterHandler()
        oOutputParameterHandler.addParameter('siteUrl', str(aEntry[0]))
        oOutputParameterHandler.addParameter('sMovieTitle', str(aEntry[2]))
        oOutputParameterHandler.addParameter('sThumbnail', str(aEntry[1]))
        if '/series-tv' in sUrl or '/series-tv' in aEntry[0]:
            oGui.addTV(SITE_IDENTIFIER, 'showSeries', aEntry[2],'', aEntry[1], '', oOutputParameterHandler)
        else:
            oGui.addMovie(SITE_IDENTIFIER, 'showLinks', aEntry[2], '', aEntry[1], '', oOutputParameterHandler)           

    cConfig().finishDialog(dialog)

    sNextPage = __checkForNextPage(sHtmlContent)
    if (sNextPage != False):
        oOutputParameterHandler = cOutputParameterHandler()
        oOutputParameterHandler.addParameter('siteUrl', sNextPage)
        oGui.addDir(SITE_IDENTIFIER, 'showMovies', '[COLOR teal]Next >>>[/COLOR]', 'next.png', oOutputParameterHandler)

if not sSearch:
    oGui.setEndOfDirectory()

def showSeries():
oGui = cGui()
oInputParameterHandler = cInputParameterHandler()
sUrl = oInputParameterHandler.getValue('siteUrl')
sMovieTitle = oInputParameterHandler.getValue('sMovieTitle')
sThumbnail = oInputParameterHandler.getValue('sThumbnail')
sUrl = sUrl+'/100/'
oRequestHandler = cRequestHandler(sUrl)
sHtmlContent = oRequestHandler.request();
sHtmlContent = sHtmlContent.replace('Téléchargement VOSTFR','').replace('Téléchargement VF','').replace('Téléchargement','')

sPattern = '<ahref="([^<]+)"><span>(.+?)</span></a>'

oParser = cParser()
aResult = oParser.parse(sHtmlContent, sPattern)
if (aResult[0] == True):
    total = len(aResult[1])
    dialog = cConfig().createDialog(SITE_NAME)
    for aEntry in aResult[1]:
        cConfig().updateDialog(dialog, total)
        if dialog.iscanceled():
            break

        sTitle = sMovieTitle+' - '+aEntry[1]
        oOutputParameterHandler = cOutputParameterHandler()
        oOutputParameterHandler.addParameter('siteUrl', str(aEntry[0]))
        oOutputParameterHandler.addParameter('sMovieTitle', str(sMovieTitle))
        oOutputParameterHandler.addParameter('sThumbnail', str(sThumbnail))
        oGui.addTV(SITE_IDENTIFIER, 'showHosters', sTitle, '', sThumbnail, '', oOutputParameterHandler)            

    cConfig().finishDialog(dialog)

oGui.setEndOfDirectory()

def __checkForNextPage(sHtmlContent):
sPattern = '<aclass="page larger" href="(.+?)">'
oParser = cParser()
aResult = oParser.parse(sHtmlContent, sPattern)
if (aResult[0] == True):
return aResult[1][0]

return False

def showLinks():
oGui = cGui()
oInputParameterHandler = cInputParameterHandler()
sUrl = oInputParameterHandler.getValue('siteUrl')
sMovieTitle = oInputParameterHandler.getValue('sMovieTitle')
sThumbnail = oInputParameterHandler.getValue('sThumbnail')
sUrl = sUrl+'/100/'
oRequestHandler = cRequestHandler(sUrl)
sHtmlContent = oRequestHandler.request();
#sHtmlContent = sHtmlContent.replace('<iframe src="//www.facebook.com/plugins/like.php','').replace('<iframe src="http://www.facebook.com/plugins/likebox.php','')

sPattern = '<ahref="([^<]+)"><span>(.+?)</span></a>'
oParser = cParser()
aResult = oParser.parse(sHtmlContent, sPattern)
if (aResult[0] == True):
    total = len(aResult[1])
    dialog = cConfig().createDialog(SITE_NAME)
    for aEntry in aResult[1]:
        cConfig().updateDialog(dialog, total)
        if dialog.iscanceled():
            break

        sHoster = cHosterGui().checkHoster(aEntry[1].lower())
        if (sHoster != False):
            sTitle = sMovieTitle+' - [COLOR azure]'+aEntry[1]+'[/COLOR]'
            oOutputParameterHandler = cOutputParameterHandler()
            oOutputParameterHandler.addParameter('siteUrl', str(aEntry[0]))
            oOutputParameterHandler.addParameter('sMovieTitle', str(sMovieTitle))
            oOutputParameterHandler.addParameter('sThumbnail', str(sThumbnail))
            oGui.addMovie(SITE_IDENTIFIER, 'showHosters', sTitle, '', sThumbnail, '', oOutputParameterHandler)             

    cConfig().finishDialog(dialog)

oGui.setEndOfDirectory()  

def showHosters():
oGui = cGui()
oInputParameterHandler = cInputParameterHandler()
sUrl = oInputParameterHandler.getValue('siteUrl')
sMovieTitle = oInputParameterHandler.getValue('sMovieTitle')
sThumbnail = oInputParameterHandler.getValue('sThumbnail')

oRequestHandler = cRequestHandler(sUrl)
sHtmlContent = oRequestHandler.request();
sHtmlContent = sHtmlContent.replace('<iframe src="//www.facebook.com/','').replace('<iframe src="http://www.facebook.com/plugins/likebox.php','')


sPattern = 'iframe.*?src="(.+?)"'
oParser = cParser()
aResult = oParser.parse(sHtmlContent, sPattern)

if (aResult[0] == True):
    total = len(aResult[1])
    dialog = cConfig().createDialog(SITE_NAME)
    for aEntry in aResult[1]:
        cConfig().updateDialog(dialog, total)
        if dialog.iscanceled():
            break

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

    cConfig().finishDialog(dialog)

oGui.setEndOfDirectory()

from venom-xbmc-addons.

mino60 avatar mino60 commented on July 24, 2024

#-- coding: utf-8 --
#Venom.
from resources.lib.gui.hoster import cHosterGui
from resources.lib.handler.hosterHandler import cHosterHandler
from resources.lib.gui.gui import cGui
from resources.lib.gui.guiElement import cGuiElement
from resources.lib.handler.inputParameterHandler import cInputParameterHandler
from resources.lib.handler.outputParameterHandler import cOutputParameterHandler
from resources.lib.handler.requestHandler import cRequestHandler
from resources.lib.parser import cParser
from resources.lib.util import cUtil
from resources.lib.config import cConfig
import re, urllib

SITE_IDENTIFIER = 'zdstream_org'
SITE_NAME = 'Zdstream.org'
SITE_DESC = 'Film streaming, film gratuit, film en streaming, Streaming Film, site de streaming, serie streaming, series en sreaming, streaming gratuit regarder film'

URL_MAIN = 'http://zdstream.org/'

MOVIE_NEWS = ('http://zdstream.org/', 'showMovies')
MOVIE_VIEWS = ('http://zdstream.org/les-plus-vues/', 'showMovies')
MOVIE_COMMENTS = ('http://zdstream.org/les-plus-commentes/', 'showMovies')
MOVIE_POPULAIRES = ('http://zdstream.org/les-plus-populaires/', 'showMovies')
MOVIE_GENRES = (True, 'showGenre')
SERIE_SERIES = ('http://zdstream.org/genre/series-tv', 'showMovies')

URL_SEARCH = ('http://zdstream.org/?s=', 'showMovies')
FUNCTION_SEARCH = 'showMovies'

def load():
oGui = cGui()

oOutputParameterHandler = cOutputParameterHandler()
oOutputParameterHandler.addParameter('siteUrl', 'http://venom/')
oGui.addDir(SITE_IDENTIFIER, 'showSearch', 'Recherche', 'search.png', oOutputParameterHandler)

oOutputParameterHandler = cOutputParameterHandler()
oOutputParameterHandler.addParameter('siteUrl', MOVIE_NEWS[0])
oGui.addDir(SITE_IDENTIFIER, 'showMovies', 'Films Nouveautés', 'news.png', oOutputParameterHandler)

oOutputParameterHandler = cOutputParameterHandler()
oOutputParameterHandler.addParameter('siteUrl', MOVIE_VIEWS[0])
oGui.addDir(SITE_IDENTIFIER, 'showMovies', 'Films Les plus Vues', 'films.png', oOutputParameterHandler)

oOutputParameterHandler = cOutputParameterHandler()
oOutputParameterHandler.addParameter('siteUrl', MOVIE_COMMENTS[0])
oGui.addDir(SITE_IDENTIFIER, 'showMovies', 'Films Les plus Commentés', 'films.png', oOutputParameterHandler)

oOutputParameterHandler = cOutputParameterHandler()
oOutputParameterHandler.addParameter('siteUrl', MOVIE_POPULAIRES[0])
oGui.addDir(SITE_IDENTIFIER, 'showMovies', 'Films Les plus Populaires', 'films.png', oOutputParameterHandler)

oOutputParameterHandler = cOutputParameterHandler()
oOutputParameterHandler.addParameter('siteUrl', MOVIE_GENRES[0])
oGui.addDir(SITE_IDENTIFIER, 'showGenre', 'Films Genres', 'genres.png', oOutputParameterHandler)

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

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

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

oOutputParameterHandler = cOutputParameterHandler()
oOutputParameterHandler.addParameter('siteUrl', SERIE_SERIES[0])
oGui.addDir(SITE_IDENTIFIER, 'showMovies', 'Series Nouveautés', 'series.png', oOutputParameterHandler)


oGui.setEndOfDirectory()

def showSearch():
oGui = cGui()

sSearchText = oGui.showKeyBoard()
if (sSearchText != False):
        sUrl = 'http://zdstream.org/?s='+sSearchText  
        showMovies(sUrl)
        oGui.setEndOfDirectory()
        return

def showGenre():
oGui = cGui()
oInputParameterHandler = cInputParameterHandler()
sUrl = oInputParameterHandler.getValue('siteUrl')

liste = []
liste.append( ['Action','http://zdstream.org/genre/action/'] )
liste.append( ['Animation','http://zdstream.org/genre/animation/'] )
liste.append( ['Aventure','http://zdstream.org/genre/aventure/'] )
liste.append( ['Biopic','http://zdstream.org/genre/biopic/'] )
liste.append( ['Comedie','http://zdstream.org/genre/comedie/'] )
liste.append( ['Comedie dramatique','http://zdstream.org/genre/comedie-dramatique/'] )
liste.append( ['Comedie musicale','http://zdstream.org/genre/comedie-musicale/'] )
liste.append( ['Drame','http://zdstream.org/genre/drame/'] )
liste.append( ['Epouvante horreur','http://zdstream.org/genre/epouvante-horreur/'] )
liste.append( ['Espionage','http://zdstream.org/genre/espionnage/'] )
liste.append( ['Famille','http://zdstream.org/genre/famille/'] ) 
liste.append( ['Fantastique','http://zdstream.org/genre/fantastique/'] )
liste.append( ['Guerre','http://zdstream.org/genre/guerre/'] )
liste.append( ['Historique','http://zdstream.org/genre/historique/'] )
liste.append( ['judiciaire','http://zdstream.org/genre/judiciaire/'] )
liste.append( ['Policier','http://zdstream.org/genre/policier/'] )
liste.append( ['Romance','http://zdstream.org/genre/romance/'] )
liste.append( ['Science Fiction','http://zdstream.org/genre/science-fiction/'] )
liste.append( ['Thriller','http://zdstream.org/genre/thriller/'] )
liste.append( ['Western','http://zdstream.org/genre/western/'] )

for sTitle,sUrl in liste:

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

oGui.setEndOfDirectory()

def showQlt():
oGui = cGui()
oInputParameterHandler = cInputParameterHandler()
sUrl = oInputParameterHandler.getValue('siteUrl')

liste = []
liste.append( ['DVDRIP','http://zdstream.org/qualite/dvdrip/'] )
liste.append( ['BDRIP','http://zdstream.org/qualite/bdrip/'] )
liste.append( ['R5','http://zdstream.org/qualite/r5/'] )
liste.append( ['CAM','http://zdstream.org/qualite/cam/'] )
liste.append( ['DVDSCR','http://zdstream.org/qualite/dvdscr/'] ) 

for sTitle,sUrl in liste:

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

oGui.setEndOfDirectory()

def showPys():
oGui = cGui()
oInputParameterHandler = cInputParameterHandler()
sUrl = oInputParameterHandler.getValue('siteUrl')

liste = []
liste.append( ['Americain','http://zdstream.org/pays/americain/'] )
liste.append( ['Francais','http://zdstream.org/pays/francais/'] )
liste.append( ['Britannique','http://zdstream.org/pays/britannique/'] )
liste.append( ['Allemand','http://zdstream.org/pays/allemand/'] )
liste.append( ['Belge','http://zdstream.org/pays/belge/'] ) 
liste.append( ['Canadien','http://zdstream.org/pays/canadien/'] )
liste.append( ['Italien','http://zdstream.org/pays/italien/'] )
liste.append( ['Coreen','http://zdstream.org/pays/coreen/'] )
liste.append( ['Japonais','http://zdstream.org/pays/japonais/'] )
liste.append( ['Australien','http://zdstream.org/pays/australien/'] ) 

for sTitle,sUrl in liste:

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

oGui.setEndOfDirectory()

def showPlt():
oGui = cGui()
oInputParameterHandler = cInputParameterHandler()
sUrl = oInputParameterHandler.getValue('siteUrl')

liste = []
liste.append( ['Youwatch','http://zdstream.org/plateformes/youwatch/'] )
liste.append( ['Exashare','http://zdstream.org/plateformes/exashare/'] )
liste.append( ['Nowvideo','http://zdstream.org/plateformes/nowvideo/'] )
liste.append( ['NETU','http://zdstream.org/plateformes/netu/'] )
liste.append( ['Speedvideo','http://zdstream.org/plateformes/speedvideo/'] )
liste.append( ['VK','http://zdstream.org/plateformes/vk/'] ) 

for sTitle,sUrl in liste:

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

oGui.setEndOfDirectory()

def showMovies(sSearch = ''):
oGui = cGui()
if sSearch:
sUrl = sSearch
else:
oInputParameterHandler = cInputParameterHandler()
sUrl = oInputParameterHandler.getValue('siteUrl')

oRequestHandler = cRequestHandler(sUrl) 
sHtmlContent = oRequestHandler.request(); 
if '/serie-tv' in sUrl:
    sPattern = '<a class="entry-thumbnails-link" href="([^<]+)"><img src="(.+?)" .+?/>.+?<h3 class="entry-title"><a href=".+?" rel="bookmark">(.+?)</a></h3><div class="entry-summary" style=".+?">(.+?)</div>'
else:
    sPattern = '<a class="tooltips"  href="([^<]+)"> <img src="(.+?)" .*?alt="(.+?)" />.+?<br />(.+?)</span>'

oGui.setEndOfDirectory()   


oRequestHandler = cRequestHandler(sUrl)
sHtmlContent = oRequestHandler.request();

sPattern = '<li><atitle=".+?" href="([^<]+)">(.+?)</a> <spanclass="mctagmap_count">(.+?)</span>'

oParser = cParser()
aResult = oParser.parse(sHtmlContent, sPattern)
if (aResult[0] == True):
    for aEntry in aResult[1]:

        sTitle = aEntry[1]+' - '+aEntry[2]

        oOutputParameterHandler = cOutputParameterHandler()
        oOutputParameterHandler.addParameter('siteUrl', str(aEntry[0]))
        oGui.addDir(SITE_IDENTIFIER, 'showMovies', sTitle, 'genres.png', oOutputParameterHandler)

oGui.setEndOfDirectory()

def showMovies(sSearch = ''):
oGui = cGui()
if sSearch:
sUrl = sSearch
else:
oInputParameterHandler = cInputParameterHandler()
sUrl = oInputParameterHandler.getValue('siteUrl')

oRequestHandler = cRequestHandler(sUrl)
sHtmlContent = oRequestHandler.request();
sHtmlContent = sHtmlContent.replace('<span class="likeThis">', '').replace('</span>','')
sPattern = '<div.*?class="moviefilm"><a.*?href="([^<]+)">.+?<img.*?src="([^<]+)" alt="(.+?)".+?>'

oParser = cParser()
aResult = oParser.parse(sHtmlContent, sPattern)

if (aResult[0] == False):
    oGui.addNone(SITE_IDENTIFIER)
    return False

if (aResult[0] == True):
    total = len(aResult[1])
    dialog = cConfig().createDialog(SITE_NAME)
    for aEntry in aResult[1]:
        cConfig().updateDialog(dialog, total)
        if dialog.iscanceled():
            break

        #sTitle = aEntry[2]+' - [COLOR azure]'+aEntry[3]+'[/COLOR]'
        oOutputParameterHandler = cOutputParameterHandler()
        oOutputParameterHandler.addParameter('siteUrl', str(aEntry[0]))
        oOutputParameterHandler.addParameter('sMovieTitle', str(aEntry[2]))
        oOutputParameterHandler.addParameter('sThumbnail', str(aEntry[1]))
        if '/series-tv' in sUrl or '/series-tv' in aEntry[0]:
            oGui.addTV(SITE_IDENTIFIER, 'showSeries', aEntry[2],'', aEntry[1], '', oOutputParameterHandler)
        else:
            oGui.addMovie(SITE_IDENTIFIER, 'showLinks', aEntry[2], '', aEntry[1], '', oOutputParameterHandler)           

    cConfig().finishDialog(dialog)

    sNextPage = __checkForNextPage(sHtmlContent)
    if (sNextPage != False):
        oOutputParameterHandler = cOutputParameterHandler()
        oOutputParameterHandler.addParameter('siteUrl', sNextPage)
        oGui.addDir(SITE_IDENTIFIER, 'showMovies', '[COLOR teal]Next >>>[/COLOR]', 'next.png', oOutputParameterHandler)

if not sSearch:
    oGui.setEndOfDirectory()

def showSeries():
oGui = cGui()
oInputParameterHandler = cInputParameterHandler()
sUrl = oInputParameterHandler.getValue('siteUrl')
sMovieTitle = oInputParameterHandler.getValue('sMovieTitle')
sThumbnail = oInputParameterHandler.getValue('sThumbnail')
sUrl = sUrl+'/100/'
oRequestHandler = cRequestHandler(sUrl)
sHtmlContent = oRequestHandler.request();
sHtmlContent = sHtmlContent.replace('Téléchargement VOSTFR','').replace('Téléchargement VF','').replace('Téléchargement','')

sPattern = '<ahref="([^<]+)"><span>(.+?)</span></a>'

oParser = cParser()
aResult = oParser.parse(sHtmlContent, sPattern)
if (aResult[0] == True):
    total = len(aResult[1])
    dialog = cConfig().createDialog(SITE_NAME)
    for aEntry in aResult[1]:
        cConfig().updateDialog(dialog, total)
        if dialog.iscanceled():
            break

        sTitle = sMovieTitle+' - '+aEntry[1]
        oOutputParameterHandler = cOutputParameterHandler()
        oOutputParameterHandler.addParameter('siteUrl', str(aEntry[0]))
        oOutputParameterHandler.addParameter('sMovieTitle', str(sMovieTitle))
        oOutputParameterHandler.addParameter('sThumbnail', str(sThumbnail))
        oGui.addTV(SITE_IDENTIFIER, 'showHosters', sTitle, '', sThumbnail, '', oOutputParameterHandler)            

    cConfig().finishDialog(dialog)

oGui.setEndOfDirectory()

def __checkForNextPage(sHtmlContent):
sPattern = '<aclass="page larger" href="(.+?)">'
oParser = cParser()
aResult = oParser.parse(sHtmlContent, sPattern)
if (aResult[0] == True):
return aResult[1][0]

return False

def showLinks():
oGui = cGui()
oInputParameterHandler = cInputParameterHandler()
sUrl = oInputParameterHandler.getValue('siteUrl')
sMovieTitle = oInputParameterHandler.getValue('sMovieTitle')
sThumbnail = oInputParameterHandler.getValue('sThumbnail')
sUrl = sUrl+'/100/'
oRequestHandler = cRequestHandler(sUrl)
sHtmlContent = oRequestHandler.request();
#sHtmlContent = sHtmlContent.replace('<iframe src="//www.facebook.com/plugins/like.php','').replace('<iframe src="http://www.facebook.com/plugins/likebox.php','')

sPattern = '<ahref="([^<]+)"><span>(.+?)</span></a>'
oParser = cParser()
aResult = oParser.parse(sHtmlContent, sPattern)
if (aResult[0] == True):
    total = len(aResult[1])
    dialog = cConfig().createDialog(SITE_NAME)
    for aEntry in aResult[1]:
        cConfig().updateDialog(dialog, total)
        if dialog.iscanceled():
            break

        sHoster = cHosterGui().checkHoster(aEntry[1].lower())
        if (sHoster != False):
            sTitle = sMovieTitle+' - [COLOR azure]'+aEntry[1]+'[/COLOR]'
            oOutputParameterHandler = cOutputParameterHandler()
            oOutputParameterHandler.addParameter('siteUrl', str(aEntry[0]))
            oOutputParameterHandler.addParameter('sMovieTitle', str(sMovieTitle))
            oOutputParameterHandler.addParameter('sThumbnail', str(sThumbnail))
            oGui.addMovie(SITE_IDENTIFIER, 'showHosters', sTitle, '', sThumbnail, '', oOutputParameterHandler)             

    cConfig().finishDialog(dialog)

oGui.setEndOfDirectory()  

def showHosters():
oGui = cGui()
oInputParameterHandler = cInputParameterHandler()
sUrl = oInputParameterHandler.getValue('siteUrl')
sMovieTitle = oInputParameterHandler.getValue('sMovieTitle')
sThumbnail = oInputParameterHandler.getValue('sThumbnail')

oRequestHandler = cRequestHandler(sUrl)
sHtmlContent = oRequestHandler.request();
sHtmlContent = sHtmlContent.replace('<iframe src="//www.facebook.com/','').replace('<iframe src="http://www.facebook.com/plugins/likebox.php','')


sPattern = 'iframe.*?src="(.+?)"'
oParser = cParser()
aResult = oParser.parse(sHtmlContent, sPattern)

if (aResult[0] == True):
    total = len(aResult[1])
    dialog = cConfig().createDialog(SITE_NAME)
    for aEntry in aResult[1]:
        cConfig().updateDialog(dialog, total)
        if dialog.iscanceled():
            break

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

    cConfig().finishDialog(dialog)

oGui.setEndOfDirectory()

from venom-xbmc-addons.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.