# -*- coding: utf-8 -*- # vStream https://github.com/Kodi-vStream/venom-xbmc-addons import re 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.util import cUtil from resources.lib.comaddon import progress SITE_IDENTIFIER = 'libertyland_tv' SITE_NAME = 'Libertyland' SITE_DESC = 'Les films et séries récentes en streaming et en téléchargement' URL_MAIN = 'https://www.libertyvf.one/' URL_SEARCH = (URL_MAIN + 'v2/recherche/', 'showMovies') URL_SEARCH_MOVIES = (URL_MAIN + 'v2/recherche/categorie=films&mot_search=', 'showMovies') URL_SEARCH_SERIES = (URL_MAIN + 'v2/recherche/categorie=series&mot_search=', 'showMovies') FUNCTION_SEARCH = 'showMovies' MOVIE_MOVIE = (True, 'showMenuMovies') MOVIE_NEWS = (URL_MAIN + 'films/nouveautes/', 'showMovies') MOVIE_VIEWS = (URL_MAIN + 'films/plus-vus-mois/', 'showMovies') MOVIE_NOTES = (URL_MAIN + 'films/les-mieux-notes/', 'showMovies') MOVIE_GENRES = (True, 'showMovieGenres') MOVIE_ANNEES = (True, 'showMovieAnnees') MOVIE_VOSTFR = (URL_MAIN + 'films/films-vostfr/', 'showMovies') SERIE_SERIES = (True, 'showMenuSeries') SERIE_NEWS = (URL_MAIN + 'series/', 'showMovies') SERIE_GENRES = (True, 'showSerieGenres') SERIE_ANNEES = (True, 'showSerieAnnees') def load(): oGui = cGui() oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', 'http://venom/') oGui.addDir(SITE_IDENTIFIER, 'showMenuMovies', 'Films', 'films.png', oOutputParameterHandler) oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', 'http://venom/') oGui.addDir(SITE_IDENTIFIER, 'showMenuSeries', 'Séries', 'series.png', oOutputParameterHandler) oGui.setEndOfDirectory() def showMenuMovies(): oGui = cGui() oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', URL_SEARCH_MOVIES[0]) oGui.addDir(SITE_IDENTIFIER, 'showSearch', 'Recherche film', 'search.png', oOutputParameterHandler) oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', MOVIE_NEWS[0]) oGui.addDir(SITE_IDENTIFIER, MOVIE_NEWS[1], 'Films (Derniers ajouts)', 'news.png', oOutputParameterHandler) oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', MOVIE_VIEWS[0]) oGui.addDir(SITE_IDENTIFIER, MOVIE_VIEWS[1], 'Films (Les plus vus)', 'views.png', oOutputParameterHandler) oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', MOVIE_NOTES[0]) oGui.addDir(SITE_IDENTIFIER, MOVIE_NOTES[1], 'Films (Les mieux notés)', 'notes.png', oOutputParameterHandler) oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', MOVIE_GENRES[0]) oGui.addDir(SITE_IDENTIFIER, MOVIE_GENRES[1], 'Films (Genres)', 'genres.png', oOutputParameterHandler) oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', MOVIE_ANNEES[0]) oGui.addDir(SITE_IDENTIFIER, MOVIE_ANNEES[1], 'Films (Par années)', 'annees.png', oOutputParameterHandler) oGui.setEndOfDirectory() def showMenuSeries(): oGui = cGui() oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', URL_SEARCH_SERIES[0]) oGui.addDir(SITE_IDENTIFIER, 'showSearch', 'Recherche série', '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_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() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sSearchText = oGui.showKeyBoard() if (sSearchText != False): sUrl = sUrl + sSearchText.replace(' ', '+') showMovies(sUrl) oGui.setEndOfDirectory() return def showMovieGenres(): oGui = cGui() sUrl = URL_MAIN + 'films/genre/' liste = [] liste.append(['Action', sUrl + 'action.html']) liste.append(['Animation', sUrl + 'animation.html']) liste.append(['Arts martiaux', sUrl + 'arts-martiaux.html']) liste.append(['Aventure', sUrl + 'aventure.html']) liste.append(['Biographie', sUrl + 'biographie.html']) liste.append(['Biopic', sUrl + 'biopic.html']) liste.append(['Comédie', sUrl + 'comedie.html']) liste.append(['Comédie Dramatique', sUrl + 'comedie-dramatique.html']) liste.append(['Comédie Musicale', sUrl + 'comedie-musicale.html']) liste.append(['Crime', sUrl + 'crime.html']) liste.append(['Drame', sUrl + 'drame.html']) liste.append(['Espionnage', sUrl + 'espionnage.html']) liste.append(['Famille', sUrl + 'famille.html']) liste.append(['Fantastique', sUrl + 'fantastique.html']) liste.append(['Guerre', sUrl + 'guerre.html']) liste.append(['Histoire', sUrl + 'histoire.html']) liste.append(['Historique', sUrl + 'historique.html']) liste.append(['Horreur', sUrl + 'horreur.html']) liste.append(['Judiciaire', sUrl + 'judiciaire.html']) liste.append(['Médical', sUrl + 'medical.html']) liste.append(['Musical', sUrl + 'musical.html']) liste.append(['Péplum', sUrl + 'peplum.html']) liste.append(['Policier', sUrl + 'policier.html']) liste.append(['Romance', sUrl + 'romance.html']) liste.append(['Science-Fiction', sUrl + 'science-fiction.html']) liste.append(['Sport', sUrl + 'sport.html']) liste.append(['Thriller', sUrl + 'thriller.html']) liste.append(['Western', sUrl + 'western.html']) for sTitle, sUrl in liste: oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', sUrl) oGui.addDir(SITE_IDENTIFIER, 'showMovies', sTitle, 'genres.png', oOutputParameterHandler) oGui.setEndOfDirectory() def showSerieGenres(): oGui = cGui() sUrl = URL_MAIN + 'v2/series/genre/' liste = [] liste.append(['Action', sUrl + 'action/']) liste.append(['Animé', sUrl + 'anime/']) liste.append(['Aventure', sUrl + 'aventure/']) liste.append(['Comédie', sUrl + 'comedie/']) liste.append(['DC Comics', sUrl + 'dc-comics/']) liste.append(['Documentaire', sUrl + 'documentaire/']) liste.append(['Drama', sUrl + 'drama/']) liste.append(['Drame', sUrl + 'drame/']) liste.append(['Emission TV', sUrl + 'emission-tv/']) liste.append(['Epouvante-Horreur', sUrl + 'epouvante-horreur/']) liste.append(['Fantastique', sUrl + 'fantastique/']) liste.append(['Gore', sUrl + 'gore/']) liste.append(['Guerre', sUrl + 'guerre/']) liste.append(['Historique', sUrl + 'historique/']) liste.append(['Mystère', sUrl + 'mystere/']) liste.append(['Policier', sUrl + 'policier/']) liste.append(['Romance', sUrl + 'romance/']) liste.append(['Science-Fiction', sUrl + 'science-fiction/']) liste.append(['Série TV', sUrl + 'serie-tv/']) liste.append(['Thriller', sUrl + 'thriller/']) liste.append(['Télé-réalité', sUrl + 'tele-realite/']) for sTitle, sUrl in liste: oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', sUrl) oGui.addDir(SITE_IDENTIFIER, 'showMovies', sTitle, 'genres.png', oOutputParameterHandler) oGui.setEndOfDirectory() def showMovieAnnees(): oGui = cGui() for i in reversed(range(1914, 2021)): Year = str(i) oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', URL_MAIN + 'films/annee/' + Year + '.html') oGui.addDir(SITE_IDENTIFIER, 'showMovies', Year, 'annees.png', oOutputParameterHandler) oGui.setEndOfDirectory() def showSerieAnnees(): oGui = cGui() for i in reversed(range(1989, 2021)): Year = str(i) oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', URL_MAIN + 'v2/series/annee/' + Year + '/') oGui.addDir(SITE_IDENTIFIER, 'showMovies', Year, 'annees.png', oOutputParameterHandler) oGui.setEndOfDirectory() def showMovies(sSearch=''): oGui = cGui() oParser = cParser() if sSearch: sUrl = sSearch sPattern = '([^<>]+)<' else: oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') if '/series' in sUrl: sPattern = '
([^<]+)<\/strong>.+?>>[/COLOR]', oOutputParameterHandler) oGui.setEndOfDirectory() def __checkForNextPage(sHtmlContent): oParser = cParser() sPattern = '