# -*- 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 = '