def showSearch(): oGui = cGui() addons = addon() oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', 'search/movie') oGui.addDir(SITE_IDENTIFIER, 'showSearchMovie', addons.VSlang(30423), 'search.png', oOutputParameterHandler) oOutputParameterHandler.addParameter('siteUrl', 'search/tv') oGui.addDir(SITE_IDENTIFIER, 'showSearchSerie', addons.VSlang(30424), 'search.png', oOutputParameterHandler) oOutputParameterHandler.addParameter('siteUrl', 'search/person') oGui.addDir(SITE_IDENTIFIER, 'showSearchActor', addons.VSlang(30450), 'search.png', oOutputParameterHandler) oGui.setEndOfDirectory()
def showMenuMovies(): oGui = cGui() oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', MOVIE_NEWS[0]) oGui.addDir(SITE_IDENTIFIER, MOVIE_NEWS[1], 'Films (News)', 'news.png', oOutputParameterHandler) oOutputParameterHandler.addParameter('siteUrl', MOVIE_PAYS[0]) oGui.addDir(SITE_IDENTIFIER, MOVIE_PAYS[1], 'Films (Pays)', 'lang.png', oOutputParameterHandler) # 8 results oOutputParameterHandler.addParameter('siteUrl', MOVIE_POPULAR[0]) oGui.addDir(SITE_IDENTIFIER, MOVIE_POPULAR[1], 'Films (Populaires)', 'views.png', oOutputParameterHandler) oGui.setEndOfDirectory()
def showPays(genre): oGui = cGui() url = URL_API + 'videos/countries.json?app=' + _APP + '' oRequestHandler = cRequestHandler(url) oRequestHandler.addHeaderEntry('User-Agent', UA) oRequestHandler.addHeaderEntry('Accept-Language', '') jsonrsp = oRequestHandler.request(jsonDecode=True) oOutputParameterHandler = cOutputParameterHandler() for country, subdict in jsonrsp.items(): urlcountry = URL_API + genre + '.json?sort=newest_video&page=1&per_page=50&app=' + _APP + '&origin_country=' + country + '&t=' country = jsonrsp[country]['name']['en'] oOutputParameterHandler.addParameter('siteUrl', urlcountry) oGui.addDir(SITE_IDENTIFIER, 'showMovies', country.capitalize(), 'genres.png', oOutputParameterHandler) oGui.setEndOfDirectory()
def showMenuAnims(): oGui = cGui() oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', URL_SEARCH_ANIMS[0]) oGui.addDir(SITE_IDENTIFIER, 'showSearch', 'Recherche', 'search.png', oOutputParameterHandler) oOutputParameterHandler.addParameter('siteUrl', ANIM_NEWS[0]) oGui.addDir(SITE_IDENTIFIER, ANIM_NEWS[1], 'Animés (Derniers ajouts)', 'news.png', oOutputParameterHandler) oOutputParameterHandler.addParameter('siteUrl', ANIM_LIST[0]) oGui.addDir(SITE_IDENTIFIER, ANIM_LIST[1], 'Animés (Par ordre alphabétique)', 'az.png', oOutputParameterHandler) oGui.setEndOfDirectory()
def showMenuTvShows(): oGui = cGui() oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', SERIE_NEWS[0]) oGui.addDir(SITE_IDENTIFIER, SERIE_NEWS[1], 'Séries (Derniers ajouts)', 'news.png', oOutputParameterHandler) # oOutputParameterHandler.addParameter('siteUrl', SERIE_GENRES[0]) # oGui.addDir(SITE_IDENTIFIER, SERIE_GENRES[1], 'Séries (Genres)', 'genres.png', oOutputParameterHandler) # oOutputParameterHandler.addParameter('siteUrl', SERIE_ANNEES[0]) # oGui.addDir(SITE_IDENTIFIER, SERIE_ANNEES[1], 'Séries (Par années)', 'annees.png', oOutputParameterHandler) # oOutputParameterHandler.addParameter('siteUrl', SERIE_LIST[0]) # oGui.addDir(SITE_IDENTIFIER, SERIE_LIST[1], 'Séries (Ordre alphabétique)', 'listes.png', oOutputParameterHandler) oGui.setEndOfDirectory()
def showLinks(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') sDesc = oInputParameterHandler.getValue('sDesc') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() oParser = cParser() numUrl = 0 sPatternUrl = '<iframe (?:data-)*src="([^"]+)"' aResultUrl = oParser.parse(sHtmlContent, sPatternUrl) if (aResultUrl[0] == True): sPatternHost = '<a class="btn(| on)" href="(.+?)".+?<span class="server">([^<]+) <' aResultHost = oParser.parse(sHtmlContent, sPatternHost) if (aResultHost[0] == True): oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResultHost[1]: sUrl2 = aResultUrl[1][numUrl] numUrl += 1 sHost = aEntry[2] sLang = 'VF' if '-VOSTFR' in sHost: sLang = 'VOSTFR' sHost = sHost.replace('VF', '').replace('VOSTFR', '') oHoster = cHosterGui().checkHoster(sHost) if (oHoster != False): sDisplayTitle = ('%s [COLOR coral]%s[/COLOR] (%s)') % ( sMovieTitle, sHost, sLang) oOutputParameterHandler.addParameter('siteUrl', sUrl2) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('sDesc', sDesc) oOutputParameterHandler.addParameter('sHost', sHost) oOutputParameterHandler.addParameter('sLang', sLang) oOutputParameterHandler.addParameter( 'sMovieTitle', sMovieTitle) oGui.addLink(SITE_IDENTIFIER, 'showHosters', sDisplayTitle, sThumb, '', oOutputParameterHandler) oGui.setEndOfDirectory()
def showLink(): oGui = cGui() oParser = cParser() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sThumb = '' try: sPattern = '<img class=".+?" src="(.+?)"' aResult = oParser.parse(sHtmlContent, sPattern) if aResult[0]: sThumb = aResult[1][0] except: pass sPattern = '</i> *Lien.+?</td.+?alt="([^"]+).+?(?:|center">([^<]+)</td>.+?)(?:|data-uid="([^"]+)") data-id="([^"]+)' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: sHost = aEntry[0].replace('www.', '') sHost = re.sub('\..+', '', sHost).capitalize() if aEntry[2] == '': sUrl = URL_MAIN + 'll/captcha?hash=' + aEntry[3] else: sUrl = URL_MAIN + 'll/captcha?hash=' + aEntry[3] sLang = aEntry[1].replace(' ', '') sTitle = ('%s (%s) [COLOR coral]%s[/COLOR]') % (sMovieTitle, sLang, sHost) oOutputParameterHandler.addParameter('siteUrl', sUrl) oOutputParameterHandler.addParameter('sMovieTitle', sMovieTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('sHost', sHost) oOutputParameterHandler.addParameter('sLang', sLang) oGui.addLink(SITE_IDENTIFIER, 'showHosters', sTitle, sThumb, '', oOutputParameterHandler) oGui.setEndOfDirectory()
def seriesHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') sDesc = oInputParameterHandler.getValue('sDesc') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sPattern = 'iframe loading.+?src="([^"]+)' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: sUrl2 = aEntry if 'https' not in sUrl2: sUrl2 = 'https:' + sUrl2 # sHost = '' oHoster = cHosterGui().checkHoster(sUrl2) if (oHoster != False): sHost = '[COLOR coral]' + oHoster.getDisplayName() + '[/COLOR]' else: sHost = '[COLOR pink]' + getHostName(sUrl2) + '[/COLOR]' # juste pour dire que c'est le lien le plus fiable en generale if 'SendVid' in sHost: sHost = sHost + ' #' sDisplayTitle = sMovieTitle + ' ' + sHost oOutputParameterHandler.addParameter('siteUrl', sUrl2) oOutputParameterHandler.addParameter('sMovieTitle', sMovieTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('referer', sUrl) oGui.addLink(SITE_IDENTIFIER, 'hostersLink', sDisplayTitle, sThumb, sDesc, oOutputParameterHandler) oGui.setEndOfDirectory()
def showHoster(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sThumb = oInputParameterHandler.getValue('sThumb') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sDesc = oInputParameterHandler.getValue('sDesc') oParser = cParser() oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sPattern = 'data-url="([^"]+).+?DIV_5.+?>([^<]+).+?src="/icon/([^"]+)_l.png' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == False): oGui.addText(SITE_IDENTIFIER) if (aResult[0] == True): oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: sDataUrl = aEntry[0] sHost = aEntry[1].capitalize() sLang = aEntry[2].upper() # filtrage des hosters oHoster = cHosterGui().checkHoster(sHost) if not oHoster: continue sTitle = ('%s (%s) [COLOR coral]%s[/COLOR]') % (sMovieTitle, sLang, sHost) lien = URL_MAIN[:-1] + sDataUrl oOutputParameterHandler.addParameter('sMovieTitle', sMovieTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('siteUrl', lien) oOutputParameterHandler.addParameter('referer', sUrl) oGui.addLink(SITE_IDENTIFIER, 'showHostersLinks', sTitle, sThumb, sDesc, oOutputParameterHandler) oGui.setEndOfDirectory()
def showHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') sDesc = oInputParameterHandler.getValue('sDesc') sYear = oInputParameterHandler.getValue('sYear') oParser = cParser() oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sPattern = "data-type='([^']*).*?post='([^']*).*?nume='([^']*).*?title'>([^<]*).+?flags.(.+?).png" aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: datatype = aEntry[0] datapost = aEntry[1] datanum = aEntry[2] sHost = re.sub('\.\w+', '', aEntry[3]) sLang = str(aEntry[4]).upper() if 'lecteur hd' in sHost.lower(): continue sUrl2 = URL_MAIN + 'wp-admin/admin-ajax.php' pdata = 'action=doo_player_ajax&post=' + datapost + '&nume=' + datanum + '&type=' + datatype sDisplayTitle = ('%s (%s) [COLOR coral]%s[/COLOR]') % (sMovieTitle, sLang, sHost.capitalize()) oOutputParameterHandler.addParameter('siteUrl', sUrl2) oOutputParameterHandler.addParameter('referer', sUrl) oOutputParameterHandler.addParameter('sMovieTitle', sMovieTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('sYear', sYear) oOutputParameterHandler.addParameter('sHost', sHost) oOutputParameterHandler.addParameter('sLang', sLang) oOutputParameterHandler.addParameter('pdata', pdata) oGui.addLink(SITE_IDENTIFIER, 'hostersLink', sDisplayTitle, sThumb, sDesc, oOutputParameterHandler) oGui.setEndOfDirectory()
def showSaisons(): oGui = cGui() oParser = cParser() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sThumb = oInputParameterHandler.getValue('sThumb') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sYear = oInputParameterHandler.getValue('sYear') sDesc = oInputParameterHandler.getValue('sDesc') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sPattern = 'itemprop="description">([^<]+)' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sDesc = ('[I][COLOR grey]%s[/COLOR][/I] %s') % ('Synopsis :', aResult[1][0]) start = sHtmlContent.find('<div class="contentomovies">') sHtmlContent = sHtmlContent[start:] sPattern = '<a href="([^"]+).+?class="nop">Saison([^<]+)' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == False): oGui.addText(SITE_IDENTIFIER) if (aResult[0] == True): oOutputParameterHandler = cOutputParameterHandler() for aEntry in reversed(aResult[1]): sUrl2 = aEntry[0] saison = aEntry[1].replace(' ', '') sTitle = ("%s %s %s") % (sMovieTitle, ' Saison ', saison) oOutputParameterHandler.addParameter('siteUrl', sUrl2) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('sDesc', sDesc) oOutputParameterHandler.addParameter('sMovieTitle', sMovieTitle) oOutputParameterHandler.addParameter('sYear', sYear) oGui.addEpisode(SITE_IDENTIFIER, 'ShowEpisodes', sTitle, '', sThumb, sDesc, oOutputParameterHandler) oGui.setEndOfDirectory()
def showMenuSeries(): oGui = cGui() oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', URL_SEARCH_SERIES[0]) oGui.addDir(SITE_IDENTIFIER, 'showSearch', 'Rechercher séries', 'search.png', oOutputParameterHandler) oOutputParameterHandler.addParameter('siteUrl', SERIE_NEWS[0]) oGui.addDir(SITE_IDENTIFIER, SERIE_NEWS[1], 'Derniers ajouts', 'news.png', oOutputParameterHandler) oOutputParameterHandler.addParameter('siteUrl', SERIE_VF[0]) oGui.addDir(SITE_IDENTIFIER, SERIE_VF[1], 'Séries (VF)', 'series.png', oOutputParameterHandler) oOutputParameterHandler.addParameter('siteUrl', SERIE_VF_720[0]) oGui.addDir(SITE_IDENTIFIER, SERIE_VF_720[1], 'Séries 720p (VF)', 'series.png', oOutputParameterHandler) oOutputParameterHandler.addParameter('siteUrl', SERIE_VOSTFRS[0]) oGui.addDir(SITE_IDENTIFIER, SERIE_VOSTFRS[1], 'Séries (VOSTFR)', 'series.png', oOutputParameterHandler) oOutputParameterHandler.addParameter('siteUrl', SERIE_VOSTFRS_720[0]) oGui.addDir(SITE_IDENTIFIER, SERIE_VOSTFRS_720[1], 'Séries 720p (VOSTFR)', 'series.png', oOutputParameterHandler) oOutputParameterHandler.addParameter('siteUrl', PACK_SERIE_VOSTFRS[0]) oGui.addDir(SITE_IDENTIFIER, PACK_SERIE_VOSTFRS[1], 'Saison complète (VOSTFR)', 'series.png', oOutputParameterHandler) oOutputParameterHandler.addParameter('siteUrl', PACK_SERIE_VOSTFRS_720[0]) oGui.addDir(SITE_IDENTIFIER, PACK_SERIE_VOSTFRS_720[1], 'Saison complet en 720p (VOSTFR)', 'series.png', oOutputParameterHandler) oOutputParameterHandler.addParameter('siteUrl', PACK_SERIE_VOSTFRS_1080[0]) oGui.addDir(SITE_IDENTIFIER, PACK_SERIE_VOSTFRS_1080[1], 'Saison complet en 1080p (VOSTFR)', 'series.png', oOutputParameterHandler) oGui.setEndOfDirectory()
def showSXE(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sThumb = oInputParameterHandler.getValue('sThumb') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sDesc = oInputParameterHandler.getValue('sDesc') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() oParser = cParser() # permet de couper une partie précise du code html pour récupéré plus simplement les episodes. sStart = 'class="les-title"' sEnd = '<div class="mvi-content"' sHtmlContent = oParser.abParse(sHtmlContent, sStart, sEnd) sPattern = '<strong>Season.+?(\d+)|<a href="([^"]+).+?Episode.+?(\d+)' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: if aEntry[0]: oGui.addText( SITE_IDENTIFIER, '[COLOR skyblue]' + 'Saison ' + aEntry[0] + '[/COLOR]') else: sUrl = aEntry[1] Ep = aEntry[2] sTitle = sMovieTitle.replace('- Saison', ' Saison') + ' Episode' + Ep oOutputParameterHandler.addParameter('siteUrl', sUrl) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('sMovieTitle', sTitle) oOutputParameterHandler.addParameter('sDesc', sDesc) oGui.addEpisode(SITE_IDENTIFIER, 'showHosters', sTitle, '', sThumb, sDesc, oOutputParameterHandler) oGui.setEndOfDirectory()
def showSerieLinks(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') sDesc = oInputParameterHandler.getValue('sDesc') oParser = cParser() oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() cook = oRequestHandler.GetCookies() sPattern = "class=\"lien.+?playEpisode.+?\'([^\']*).+?'([^\']*)" aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: id = aEntry[0] xfield = aEntry[1] hosterName = xfield.replace('_', ' ').capitalize().replace( 'vf', '(VF)').replace('vostfr', '(VOSTFR)') postdata = 'id=' + id + '&xfield=' + xfield + '&action=playEpisode' sUrl2 = URL_MAIN + 'engine/inc/serial/app/ajax/Season.php' sDisplayTitle = ('%s [COLOR coral]%s[/COLOR]') % (sTitle, hosterName) oOutputParameterHandler.addParameter('siteUrl', sUrl2) oOutputParameterHandler.addParameter('sMovieTitle', sTitle) oOutputParameterHandler.addParameter('sDesc', sDesc) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('referer', sUrl) oOutputParameterHandler.addParameter('cook', cook) oOutputParameterHandler.addParameter('postdata', postdata) oGui.addLink(SITE_IDENTIFIER, 'showSerieHosters', sDisplayTitle, sThumb, sDesc, oOutputParameterHandler) oGui.setEndOfDirectory()
def showS_E(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() rUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') oParser = cParser() oRequestHandler = cRequestHandler(rUrl) sHtmlContent = oRequestHandler.request() sPattern = '<img class=".+?src="(http.+?(?:.jpe*g|.png))|<a class="btn btn-primary btn-blo.+?" href="([^"]+)">(.+?)</a></div>' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: if '/saison/' in rUrl: # episode if aEntry[0]: sThumb = aEntry[0] else: sUrl = aEntry[1] sTitle = sMovieTitle + ' ' + aEntry[2] oOutputParameterHandler.addParameter('siteUrl', sUrl) oOutputParameterHandler.addParameter('sMovieTitle', sTitle) oGui.addEpisode(SITE_IDENTIFIER, 'showLink', sTitle, '', sThumb, '', oOutputParameterHandler) else: # saison if aEntry[0]: sThumb = aEntry[0] else: sUrl = aEntry[1] sTitle = sMovieTitle + ' ' + aEntry[2] oOutputParameterHandler.addParameter('siteUrl', sUrl) oOutputParameterHandler.addParameter('sMovieTitle', sTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oGui.addEpisode(SITE_IDENTIFIER, 'showS_E', sTitle, '', sThumb, '', oOutputParameterHandler) oGui.setEndOfDirectory()
def showMovieGenres(): oGui = cGui() liste = [] liste.append(['Action', URL_MAIN + 'film-genre/action/']) liste.append(['Animation', URL_MAIN + 'film-genre/animation/']) liste.append(['Arts Martiaux', URL_MAIN + 'film-genre/arts-Martiaux/']) liste.append(['Aventure', URL_MAIN + 'film-genre/aventure/']) liste.append(['Biopic', URL_MAIN + 'film-genre/biopic/']) liste.append(['Comédie', URL_MAIN + 'film-genre/com%C3%A9die/']) liste.append([ 'Comédie Dramatique', URL_MAIN + 'film-genre/com%C3%A9die-dramatique/' ]) liste.append( ['Comédie Musicale', URL_MAIN + 'film-genre/com%C3%A9die-musicale/']) liste.append(['Documentaire', URL_MAIN + 'film-genre/documentaire/']) liste.append(['Drame', URL_MAIN + 'film-genre/drame/']) liste.append( ['Epouvante Horreur', URL_MAIN + 'film-genre/epouvante_horreur/']) liste.append(['Erotique', URL_MAIN + 'film-genre/erotique/']) liste.append(['Espionnage', URL_MAIN + 'film-genre/espionnage/']) liste.append(['Famille', URL_MAIN + 'film-genre/famille/']) liste.append(['Fantastique', URL_MAIN + 'film-genre/fantastique/']) liste.append(['Guerre', URL_MAIN + 'film-genre/guerre/']) liste.append(['Historique', URL_MAIN + 'film-genre/historique/']) liste.append(['Musical', URL_MAIN + 'film-genre/musical/']) liste.append(['Policier', URL_MAIN + 'film-genre/policier/']) liste.append(['Péplum', URL_MAIN + 'film-genre/peplum/']) liste.append(['Romance', URL_MAIN + 'film-genre/romance/']) liste.append(['Science Fiction', URL_MAIN + 'film-genre/science-fiction/']) liste.append(['Spectacle', URL_MAIN + 'film-genre/spectacle/']) liste.append(['Super héros', URL_MAIN + 'film-genre/Super_héros/']) liste.append(['Thriller', URL_MAIN + 'film-genre/thriller/']) liste.append(['Walt Disney', URL_MAIN + 'film-genre/Walt-Disney/']) liste.append(['Western', URL_MAIN + 'film-genre/western/']) liste.append(['Divers', URL_MAIN + 'film-genre/divers/']) oOutputParameterHandler = cOutputParameterHandler() for sTitle, sUrl in liste: oOutputParameterHandler.addParameter('siteUrl', sUrl) oGui.addDir(SITE_IDENTIFIER, 'showMovies', sTitle, 'genres.png', oOutputParameterHandler) oGui.setEndOfDirectory()
def showListEpisodes(): # plus utilisé # parent https://mystream.zone/tvshows oGui = cGui() oInputParameterHandler = cInputParameterHandler() sThumb = oInputParameterHandler.getValue('sThumb') sDesc = oInputParameterHandler.getValue('sDesc') sYear = oInputParameterHandler.getValue('sYear') listeUrlEpisode = oInputParameterHandler.getValue('listeUrlEpisode') listeStitle = oInputParameterHandler.getValue('listeStitle') listeUrlEpisode2 = [] listeStitle2 = [] sPattern = "'([^']*)'" oParser = cParser() aResult = oParser.parse(listeUrlEpisode, sPattern) if (aResult[0] == False): oGui.addText(SITE_IDENTIFIER) if (aResult[0] == True): for aEntry in aResult[1]: listeUrlEpisode2.append(aEntry) aResult = oParser.parse(listeStitle, sPattern) if (aResult[0] == False): oGui.addText(SITE_IDENTIFIER) if (aResult[0] == True): for aEntry in aResult[1]: listeStitle2.append(aEntry) i = 0 oOutputParameterHandler = cOutputParameterHandler() for itemurl in listeUrlEpisode2: sTitle = listeStitle2[i] i = i + 1 oOutputParameterHandler.addParameter('siteUrl', itemurl) oOutputParameterHandler.addParameter('sMovieTitle', sTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('sDesc', sDesc) oOutputParameterHandler.addParameter('sYear', sYear) oGui.addEpisode(SITE_IDENTIFIER, 'showHosters', sTitle, '', sThumb, sDesc, oOutputParameterHandler) oGui.setEndOfDirectory()
def showLinks(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') sDesc = oInputParameterHandler.getValue('sDesc') oRequest = cRequestHandler(sUrl) sHtmlContent = oRequest.request() sPattern = "player_option.+?post='(\d+)'.+?data-nume='(.+?)'.+?title'>(.+?)<.+?class='server'>(.+?)<.+?flags/(\w+)" oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): # trie par numéro de serveur sortedList = sorted(aResult[1], key=lambda item: item[2]) oOutputParameterHandler = cOutputParameterHandler() for aEntry in sortedList: sUrl2 = URL_MAIN + 'wp-json/dooplayer/v1/post/' dtype = 'movie' # fonctionne pour Film ou Série (pour info : série -> dtype = 'tv') dpost = aEntry[0] dnum = aEntry[1] pdata = dpost + '?type=' + dtype + '&source=' + dnum sTitle = aEntry[2].replace('Serveur', '').replace( 'Télécharger', '').replace('(', '').replace(')', '') sLang = aEntry[4].replace('fr', 'VF').replace('en', 'VOSTFR') sServer = aEntry[3] if 'freebiesforyou.net' in sServer or 'youtube.com' in sServer: continue sTitle = ('%s [%s] (%s)') % (sMovieTitle, sTitle, sLang) oOutputParameterHandler.addParameter('siteUrl', sUrl2) oOutputParameterHandler.addParameter('referer', sUrl) oOutputParameterHandler.addParameter('sMovieTitle', sMovieTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('pdata', pdata) oGui.addLink(SITE_IDENTIFIER, 'showHosters', sTitle, sThumb, sDesc, oOutputParameterHandler) oGui.setEndOfDirectory()
def showAZRadio(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') oOutputParameterHandler = cOutputParameterHandler() for i in string.digits: oOutputParameterHandler.addParameter('siteUrl', sUrl) oOutputParameterHandler.addParameter('AZ', i) oGui.addDir(SITE_IDENTIFIER, 'showWeb', i, 'az.png', oOutputParameterHandler) for i in string.ascii_uppercase: oOutputParameterHandler.addParameter('siteUrl', sUrl) oOutputParameterHandler.addParameter('AZ', i) oGui.addDir(SITE_IDENTIFIER, 'showWeb', i, 'az.png', oOutputParameterHandler) oGui.setEndOfDirectory()
def showGenres(): oGui = cGui() liste = [['Animaux', 'animaux'], ['Civilisations anciennes', 'civilisations-anciennes'], ['Consommation', 'consommation'], ['Environnement', 'environnement'], ['Grands conflits', 'grands-conflits'], ['Histoire', 'histoire'], ['Politique', 'politique'], ['Santé', 'sante'], ['Science et technologie', 'science-et-technologie'], ['Société', 'societe'], ['Sport', 'sport'], ['Voyage', 'voyage']] oOutputParameterHandler = cOutputParameterHandler() for sTitle, sUrl in liste: oOutputParameterHandler.addParameter('siteUrl', URL_MAIN + sUrl + '/') oGui.addDir(SITE_IDENTIFIER, 'showMovies', sTitle, 'doc.png', oOutputParameterHandler) oGui.setEndOfDirectory()
def showGenres(): oGui = cGui() liste = [] liste.append(['Action', URL_MAIN + 'category/action']) liste.append(['Animation', URL_MAIN + 'category/animation']) liste.append(['Anime', URL_MAIN + 'category/anime']) liste.append(['Aventure', URL_MAIN + 'category/adventure']) liste.append(['Biographie', URL_MAIN + 'category/biography']) liste.append(['Comédie', URL_MAIN + 'category/comedy']) liste.append(['Crime', URL_MAIN + 'category/crime']) liste.append(['Documentaire', URL_MAIN + 'category/documentary']) liste.append(['Drama', URL_MAIN + 'category/drama']) liste.append(['Drame', URL_MAIN + 'category/drame']) liste.append(['Enfants', URL_MAIN + 'category/children']) liste.append(['Famille', URL_MAIN + 'category/family']) liste.append(['Fantastique', URL_MAIN + 'category/fantasy']) liste.append(['Guerre', URL_MAIN + 'category/war']) liste.append(['Historique', URL_MAIN + 'category/history']) liste.append(['Horreur', URL_MAIN + 'category/horror']) liste.append(['Music', URL_MAIN + 'category/music']) liste.append(['Musical', URL_MAIN + 'category/musical']) liste.append(['Mystère', URL_MAIN + 'category/mystere']) liste.append(['Policier', URL_MAIN + 'category/policier']) liste.append(['Réalité', URL_MAIN + 'category/reality']) liste.append(['Réalité-tv', URL_MAIN + 'category/reality-tv']) liste.append(['Romance', URL_MAIN + 'category/romance']) liste.append(['Sci-fi', URL_MAIN + 'category/sci-fi']) liste.append(['Science-fiction', URL_MAIN + 'category/science-fiction']) liste.append(['Soap', URL_MAIN + 'category/soap']) liste.append(['Sport', URL_MAIN + 'category/sport']) liste.append(['Super-hero', URL_MAIN + 'category/superhero']) liste.append(['Suspense', URL_MAIN + 'category/suspense']) liste.append(['Thriller', URL_MAIN + 'category/thriller']) liste.append(['Western', URL_MAIN + 'category/western']) liste.append(['Autre', URL_MAIN + 'category/na']) oOutputParameterHandler = cOutputParameterHandler() for sTitle, sUrl in liste: oOutputParameterHandler.addParameter('siteUrl', sUrl) oGui.addDir(SITE_IDENTIFIER, 'showMovies', sTitle, 'genres.png', oOutputParameterHandler) oGui.setEndOfDirectory()
def showSaisons(): oGui = cGui() oParser = cParser() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sThumb = oInputParameterHandler.getValue('sThumb') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() # récupération du Synopsis sDesc = '' try: sPattern = 'dci-desc">(.+?)</div>' aResult = oParser.parse(sHtmlContent, sPattern) if aResult[0]: sDesc = aResult[1][0] except: pass # pour ne pas prendre les propositions de la source sStart = 'dci-desc">' sEnd = 'À regarder aussi' sHtmlContent = oParser.abParse(sHtmlContent, sStart, sEnd) sPattern = 'item">.+?href="([^"]+)" title="([^"]+)' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: sUrl = aEntry[0] sTitle = aEntry[1] oOutputParameterHandler.addParameter('siteUrl', sUrl) oOutputParameterHandler.addParameter('sMovieTitle', sTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('sDesc', sDesc) oGui.addTV(SITE_IDENTIFIER, 'showEpisodes', sTitle, '', sThumb, sDesc, oOutputParameterHandler) oGui.setEndOfDirectory()
def showSearchResult(sSearch): oGui = cGui() oRequestHandler = cRequestHandler(URL_SEARCH[0]) oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() searchURL = URL_MAIN + re.search('var urlsearch = "([^"]+)";', sHtmlContent).group(1) sSearch = sSearch.lower() oRequestHandler = cRequestHandler(searchURL) data = oRequestHandler.request(jsonDecode=True) Title, Url, Thumb = parseJson(data, sSearch) total = len(Title) progress_ = progress().VScreate(SITE_NAME) oOutputParameterHandler = cOutputParameterHandler() for title, url, thumb in zip(Title, Url, Thumb): progress_.VSupdate(progress_, total) if progress_.iscanceled(): break sTitle = title sUrl2 = URL_MAIN + url sThumb = thumb sDesc = '' oOutputParameterHandler.addParameter('siteUrl', sUrl2) oOutputParameterHandler.addParameter('sMovieTitle', sTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oGui.addAnime(SITE_IDENTIFIER, 'showSaisonEpisodes', sTitle, '', sThumb, sDesc, oOutputParameterHandler) progress_.VSclose(progress_) if not sSearch: oGui.setEndOfDirectory()
def showSaisonsEP(): oGui = cGui() oParser = cParser() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sYear = oInputParameterHandler.getValue('sYear') sDesc = oInputParameterHandler.getValue('sDesc') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sPattern = 'property="og:description".+?content="([^"]+)' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sDesc = ('[I][COLOR grey]%s[/COLOR][/I] %s') % ('Synopsis :', aResult[1][0]) sPattern = "<div class='imagen'><img src='([^']+)'.+?<div class='numerando'>([^<>]+)<.+?<a href='([^']+)'>([^<>]+)" aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == False): if 'la saison que vous voulez voir' not in sHtmlContent: oGui.addText(SITE_IDENTIFIER, 'Pas de vidéo disponible') # juste info si bug ou pas else: oGui.addText(SITE_IDENTIFIER) if (aResult[0] == True): oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: sUrl2 = aEntry[2] sThumb = aEntry[0] sEp = re.sub(' - ', ' ', aEntry[1]) sTitle = sMovieTitle + ' ' + sEp oOutputParameterHandler.addParameter('siteUrl', sUrl2) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('sDesc', sDesc) oOutputParameterHandler.addParameter('sMovieTitle', sTitle) oOutputParameterHandler.addParameter('sYear', sYear) oGui.addEpisode(SITE_IDENTIFIER, 'showHosters', sTitle, '', sThumb, sDesc, oOutputParameterHandler) oGui.setEndOfDirectory()
def showGenres(): oGui = cGui() liste = [] liste.append(['FootBall', URL_MAIN + '1-foot-streaming-ligue.html']) liste.append(['Rugby', URL_MAIN + '2-rugby-streaming.html']) liste.append(['Basketball', URL_MAIN + '3-basketball-streaming.html']) liste.append(['Formule 1', URL_MAIN + '4-formule-1-grand-prix-despagne-en-streaming-gratuit.html']) liste.append(['Handball', URL_MAIN + '6-handball-streaming.html']) liste.append(['Tennis', URL_MAIN + '5-tennis-streaming.html']) liste.append(['Moto', URL_MAIN + '7-moto-gp-streaming-portugal.html']) # liste.append( ['Radio', URL_MAIN + '76-ecouter-la-radio-streaming.html']) oOutputParameterHandler = cOutputParameterHandler() for sTitle, sUrl in liste: oOutputParameterHandler.addParameter('siteUrl', sUrl) oGui.addDir(SITE_IDENTIFIER, 'showMovies', sTitle, 'genres.png', oOutputParameterHandler) oGui.setEndOfDirectory()
def showLink(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') sDesc = oInputParameterHandler.getValue('sDesc') oRequest = cRequestHandler(sUrl) sHtmlContent = oRequest.request() sPattern = "dooplay_player_option.+?data-post='(\d+)'.+?data-nume='(.+?)'>.+?'title'>(.+?)<" oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): oOutputParameterHandler = cOutputParameterHandler() # trie par numéro de serveur sortedList = sorted(aResult[1], key=lambda item: item[2]) for aEntry in sortedList: sUrl2 = URL_MAIN + 'wp-admin/admin-ajax.php' dtype = 'movie' # fonctionne pour Film ou Série (pour info : série -> dtype = 'tv') dpost = aEntry[0] dnum = aEntry[1] pdata = 'action=doo_player_ajax&post=' + dpost + '&nume=' + dnum + '&type=' + dtype sLang = aEntry[2].replace('Serveur', '').replace( 'Télécharger', '').replace('(', '').replace(')', '') if 'VIP - ' in sLang: # Les liens VIP ne fonctionnent pas continue sTitle = ('%s [%s]') % (sMovieTitle, sLang) oOutputParameterHandler.addParameter('siteUrl', sUrl2) oOutputParameterHandler.addParameter('referer', sUrl) oOutputParameterHandler.addParameter('sMovieTitle', sMovieTitle) oOutputParameterHandler.addParameter('sLang', sLang) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('pdata', pdata) oGui.addLink(SITE_IDENTIFIER, 'showHosters', sTitle, sThumb, sDesc, oOutputParameterHandler) oGui.setEndOfDirectory()
def __createItemUrl(self, oGuiElement, oOutputParameterHandler=''): if (oOutputParameterHandler == ''): oOutputParameterHandler = cOutputParameterHandler() sParams = oOutputParameterHandler.getParameterAsUri() sPluginPath = cPluginHandler().getPluginPath() if (len(oGuiElement.getFunction()) == 0): sItemUrl = '%s?site=%s&title=%s&%s' % ( sPluginPath, oGuiElement.getSiteName(), QuotePlus(oGuiElement.getCleanTitle()), sParams) else: sItemUrl = '%s?site=%s&function=%s&title=%s&%s' % ( sPluginPath, oGuiElement.getSiteName(), oGuiElement.getFunction(), QuotePlus(oGuiElement.getCleanTitle()), sParams) return sItemUrl
def showSXE(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sThumb = oInputParameterHandler.getValue('sThumb') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sDesc = '' oParser = cParser() sPattern = 'film-poster.*?Synopsis :([^<]+)' aResultDesc = oParser.parse(sHtmlContent, sPattern) if (aResultDesc[0] == True): sDesc = ('[I][COLOR grey]%s[/COLOR][/I] %s') % ('Synopsis : ', aResultDesc[1][0]) sPattern = '<h3 id="Saison-(\d+)|<a href="([^"]+)">épisode.(\d+)' aResult = oParser.parse(sHtmlContent, sPattern) sSaison = '' if (aResult[0] == True): oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: if aEntry[0]: sSaison = 'Saison ' + aEntry[0] oGui.addText(SITE_IDENTIFIER, '[COLOR greenyellow]' + sSaison + '[/COLOR]') else: sUrl = aEntry[1] Ep = aEntry[2] sTitle = sMovieTitle + ' ' + sSaison + ' Episode ' + Ep oOutputParameterHandler.addParameter('siteUrl', sUrl) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('sMovieTitle', sTitle) oOutputParameterHandler.addParameter('sDesc', sDesc) oGui.addEpisode(SITE_IDENTIFIER, 'showLinks', sTitle, '', sThumb, sDesc, oOutputParameterHandler) oGui.setEndOfDirectory()
def showGenre(): oGui = cGui() listeGenres = [ 'action', 'animation', 'arts-martiaux', 'aventure', 'biopic', 'comédie-dramatique', 'comédie-musicale', 'comédie', 'divers', 'documentaire', 'drame', 'epouvante-horreur', 'espionnage', 'famille', 'fantastique', 'guerre', 'historique', 'musical', 'péplum', 'policier', 'romance', 'science-fiction', 'thriller', 'western' ] oOutputParameterHandler = cOutputParameterHandler() for genre in listeGenres: oOutputParameterHandler.addParameter( 'siteUrl', URL_MAIN + genre.replace(' ', '%20') + '.html') oGui.addDir(SITE_IDENTIFIER, 'showMovies', genre.capitalize(), 'genres.png', oOutputParameterHandler) oGui.setEndOfDirectory()
def showHistory(self): oGui = cGui() from Plugins.Extensions.IPTVPlayer.tsiplayer.addons.resources.lib.db import cDb row = cDb().get_history() if row: oGui.addText(SITE_IDENTIFIER, self.addons.VSlang(30416)) else: oGui.addText(SITE_IDENTIFIER) oOutputParameterHandler = cOutputParameterHandler() for match in row: # code to get type with disp sType = self.addons.getSetting('search' + match[2][-1:] + '_type') if sType: oOutputParameterHandler.addParameter('type', sType) window(10101).setProperty('search_type', sType) oOutputParameterHandler.addParameter('siteUrl', 'http://venom') oOutputParameterHandler.addParameter('searchtext', match[1]) # oOutputParameterHandler.addParameter('disp', match[2]) # oOutputParameterHandler.addParameter('readdb', 'False') oGuiElement = cGuiElement() oGuiElement.setSiteName('globalSearch') oGuiElement.setFunction('globalSearch') try: oGuiElement.setTitle('- ' + match[1]) except: oGuiElement.setTitle('- ' + str(match[1], 'utf-8')) oGuiElement.setFileName(match[1]) oGuiElement.setCat(match[2]) oGuiElement.setIcon('search.png') oGui.CreateSimpleMenu(oGuiElement, oOutputParameterHandler, SITE_IDENTIFIER, 'cHome', 'delSearch', self.addons.VSlang(30412)) oGui.addFolder(oGuiElement, oOutputParameterHandler) if row: oOutputParameterHandler.addParameter('siteUrl', 'http://venom') oGui.addDir(SITE_IDENTIFIER, 'delSearch', self.addons.VSlang(30413), 'search.png', oOutputParameterHandler) oGui.setEndOfDirectory()