# -*- coding: utf-8 -*- # vStream https://github.com/Kodi-vStream/venom-xbmc-addons # Arias800 import re import string import json import resources.sites.freebox from resources.lib.comaddon import addon from resources.lib.epg import cePg 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, Quote from datetime import datetime, timedelta SITE_IDENTIFIER = 'channelstream' SITE_NAME = 'Channel Stream' SITE_DESC = 'iptv' URL_MAIN = 'https://channelstream.me' TV_FRENCH = (URL_MAIN + "/chaine-tv.php", 'showMovies') UA = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0' def load(): oGui = cGui() liste = [] liste.append(['Généralistes', 'Chaîne de télévision généraliste', 'tv.png']) liste.append(['Cinéma', 'Chaîne consacrée aux Film', 'films.png']) liste.append(['Sport', 'Chaîne Sportive', 'sport.png']) liste.append(['Science et Nature', 'Chaîne axés sur les sciences', 'buzz.png']) for sTitle, sFiltre, sIcon in liste: oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', TV_FRENCH[0]) oOutputParameterHandler.addParameter('sFiltre', sFiltre) oGui.addDir(SITE_IDENTIFIER, TV_FRENCH[1], sTitle, sIcon, oOutputParameterHandler) oGui.setEndOfDirectory() def showMovies(): oGui = cGui() oParser = cParser() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sFiltre = oInputParameterHandler.getValue('sFiltre') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sHtmlContent = oParser.abParse(sHtmlContent, sFiltre, '') sPattern = 'location.href = \'\.(.+?)\'.+?src=\'(.+?)\'.+?
(.+?)
' aResult = oParser.parse(sHtmlContent, sPattern) EPG = cePg().get_epg('', 'direct') if (aResult[0] == True): for aEntry in aResult[1]: if not "+18" in str(aEntry[2]): sTitle = aEntry[2] if 'Canal + Série' in sTitle: sTitle = 'Canal + Séries' sUrl2 = URL_MAIN + aEntry[0] sThumb = URL_MAIN + '/' + aEntry[1] sDesc = getEPG(EPG, sTitle) oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', sUrl2) oOutputParameterHandler.addParameter('sMovieTitle', sTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oGui.addMisc(SITE_IDENTIFIER, 'showHoster', sTitle, sThumb, sThumb, sDesc, oOutputParameterHandler) oGui.setEndOfDirectory() def showHoster(): oGui = cGui() oParser = cParser() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() info = cePg().getChannelEpg(sTitle) sDesc = info['plot'] sMovieTitle = info['title'] if not sMovieTitle: sMovieTitle = sTitle sMeta = 0 sCat = info['media_type'] if sCat: if 'Film' in sCat : sMeta = 1 if 'Série' in sCat : sMeta = 2 sYear = info['year'] coverUrl = info['cover_url'] if coverUrl : sThumb = coverUrl # Double Iframe a passer. sPattern = '