# -*- coding: utf-8 -*- # vStream https://github.com/Kodi-vStream/venom-xbmc-addons from resources.lib.gui.hoster import cHosterGui from resources.lib.gui.gui import cGui 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.comaddon import progress from resources.lib.util import Unquote import re UA = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0' SITE_IDENTIFIER = 'tvseriestreaming' SITE_NAME = 'Tv_seriestreaming' SITE_DESC = 'Séries & Animés en Streaming' URL_MAIN = 'https://seriestreamingtv.com/' # https://seriestreaming.co/ URL_LAST = URL_MAIN + 'acceuils-5' # URL used for list and search SERIE_SERIES = ('http://', 'load') SERIE_NEWS = (URL_MAIN + 'derniere-et-meilleures-serie-en-streaming', 'showMovies') SERIE_VIEWS = (URL_MAIN + 'la-top-des-meilleures-serie', 'showMovies') SERIE_COMMENT = (URL_MAIN + 'meilleur-serie-populaire-streaming', 'showMovies') SERIE_LIST = (URL_MAIN, 'showAZ') SERIE_GENRES = (True, 'showGenres') SERIE_ANNEES = (True, 'showSerieYears') URL_SEARCH_SERIES = ('', 'searchSerie') 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', SERIE_NEWS[0]) oGui.addDir(SITE_IDENTIFIER, SERIE_NEWS[1], 'Séries (Derniers ajouts)', 'news.png', oOutputParameterHandler) oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', SERIE_VIEWS[0]) oGui.addDir(SITE_IDENTIFIER, SERIE_VIEWS[1], 'Séries (Les plus vues)', 'views.png', oOutputParameterHandler) oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', SERIE_COMMENT[0]) oGui.addDir(SITE_IDENTIFIER, SERIE_COMMENT[1], 'Séries (Populaire)', 'comments.png', oOutputParameterHandler) oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', SERIE_LIST[0]) oGui.addDir(SITE_IDENTIFIER, SERIE_LIST[1], 'Series (Liste)', 'listes.png', oOutputParameterHandler) oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', SERIE_GENRES[0]) oGui.addDir(SITE_IDENTIFIER, SERIE_GENRES[1], 'Séries (Genres)', 'genres.png', oOutputParameterHandler) oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', SERIE_ANNEES[0]) oGui.addDir(SITE_IDENTIFIER, SERIE_ANNEES[1], 'Séries (Par années)', 'annees.png', oOutputParameterHandler) oGui.setEndOfDirectory() def showSearch(): oGui = cGui() sSearchText = oGui.showKeyBoard() if (sSearchText != False): searchSerie(sSearchText) oGui.setEndOfDirectory() return def showSerieYears(): # for i in itertools.chain(range(5, 7), [8, 9]): afficher dans l'ordre (pense bete ne pas effacer) oGui = cGui() from itertools import chain generator = chain([1936, 1940, 1941, 1950, 1955], range(1958, 2021)) for i in reversed(list(generator)): Year = str(i) oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', URL_MAIN + 'annee/' + Year) oGui.addDir(SITE_IDENTIFIER, 'showMovies', Year, 'annees.png', oOutputParameterHandler) oGui.setEndOfDirectory() def showAZ(): oGui = cGui() for i in range(0, 27): if (i < 1): sLetter = '\d+' aLetter = '0-9' else: sLetter = chr(64 + i) aLetter = sLetter oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('sLetter', sLetter) oGui.addDir(SITE_IDENTIFIER, 'AlphaDisplay', "%s [COLOR coral]%s[/COLOR]" % ("Lettre", aLetter), 'az.png', oOutputParameterHandler) oGui.setEndOfDirectory() def AlphaDisplay(): oGui = cGui() oParser = cParser() oInputParameterHandler = cInputParameterHandler() sLetter = oInputParameterHandler.getValue('sLetter') oRequestHandler = cRequestHandler(URL_LAST) sHtmlContent = oRequestHandler.request() sHtmlContent = oParser.abParse(sHtmlContent, '

Listes des séries:

', 'Copyright') sPattern = 'Listes des séries:', '

') sPattern = '
Les derniers episodes", "les plus vues") #reste else: sPattern = '' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == False): oGui.addText(SITE_IDENTIFIER) 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 # Derniers épisodes if 'derniere-et-meilleures-serie-en-streaming' in sUrl: sUrl2 = aEntry[0] sTitle = aEntry[1].replace(' - ', ' ') + aEntry[2].replace(' ','') sThumb = 'news.png' else: sTitle = aEntry[0].replace('Streaming', '') sUrl2 = aEntry[1] sThumb = aEntry[2] oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', sUrl2) oOutputParameterHandler.addParameter('sMovieTitle', sTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) if 'derniere-et-meilleures-serie-en-streaming' in sUrl: oGui.addDir(SITE_IDENTIFIER, 'showLink', sTitle, sThumb, oOutputParameterHandler) else: oGui.addTV(SITE_IDENTIFIER, 'showS_E', sTitle, '', sThumb, '', oOutputParameterHandler) progress_.VSclose(progress_) sNextPage = __checkForNextPage(sHtmlContent) if (sNextPage != False): oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', sNextPage) number = re.search('page=([0-9]+)', sNextPage).group(1) oGui.addNext(SITE_IDENTIFIER, 'showMovies', '[COLOR teal]Page ' + number + ' >>>[/COLOR]', oOutputParameterHandler) if not sSearch: oGui.setEndOfDirectory() def __checkForNextPage(sHtmlContent): sPattern = '