def showEpisode():
    oGui = cGui()
    
    oInputParameterHandler = cInputParameterHandler()
    sUrl = oInputParameterHandler.getValue('siteUrl')

    sHtmlContent = CloudflareBypass().GetHtml(sUrl)
    
    sHtmlContent = sHtmlContent.replace('\n','')
    
    #return
   
    oParser = cParser()
    #sPattern = "<a class='various' data-fancybox-type='iframe' href='(.+?)' > *(.+?)<\/a>\t*<\/h3>\t*(.+?)<br>"
    sPattern = ";\" src=\"(.+?)\" class=\"img-responsive\">.+?<a class='various' data-fancybox-type='iframe' href='(.+?)' *> *(.+?)<\/a>\t*<\/h3>\t*(.+?)<br>"
    aResult = oParser.parse(sHtmlContent, sPattern)
   
    #print aResult
   
    if (aResult[0] == True):
        
        SpecHead = CloudflareBypass().GetHeadercookie(sUrl)
        
        total = len(aResult[1])
        dialog = cConfig().createDialog(SITE_NAME)
       
        for aEntry in aResult[1]:
            cConfig().updateDialog(dialog, total)
            if dialog.iscanceled():
                break
           
            sTitle = aEntry[2]
            sThumb = aEntry[0]
            if URL_MAIN in sThumb:
                sThumb = sThumb + SpecHead        
            sCom = aEntry[3]
            
            
            #sDisplayTitle = cUtil().DecoTitle(sTitle)
           
            oOutputParameterHandler = cOutputParameterHandler()
            oOutputParameterHandler.addParameter('siteUrl', aEntry[1])
            oOutputParameterHandler.addParameter('sMovieTitle', sTitle)
            oOutputParameterHandler.addParameter('sThumbnail', sThumb)
 
            oGui.addTV(SITE_IDENTIFIER, 'showHosters', sTitle, '', sThumb, sCom, oOutputParameterHandler)
 
        cConfig().finishDialog(dialog)
           
    oGui.setEndOfDirectory()
def AlphaDisplay():

    oGui = cGui()
    oInputParameterHandler = cInputParameterHandler()
    sUrl = oInputParameterHandler.getValue('siteUrl')
    sLetter = oInputParameterHandler.getValue('sLetter')

    sHtmlContent = CloudflareBypass().GetHtml(sUrl)

    oParser = cParser()
    sPattern = '<a href=\'(http:\/\/www\.series-en-streaming\.tv\/serie\/.+?)\'>(' + sLetter + '[^<>]+?)<\/a><br>'
    aResult = oParser.parse(sHtmlContent, sPattern)

    if (aResult[0] == True):
        total = len(aResult[1])
        dialog = cConfig().createDialog(SITE_NAME)
        for aEntry in aResult[1]:
            cConfig().updateDialog(dialog, total)
            if dialog.iscanceled():
                break

            sTitle = aEntry[1]
            sTitle = cUtil().unescape(sTitle)
            sTitle = cUtil().removeHtmlTags(sTitle)
            sTitle = unicode(sTitle, 'utf-8')
            sTitle = unicodedata.normalize('NFD',
                                           sTitle).encode('ascii', 'ignore')
            sTitle = sTitle.encode("utf-8")

            oOutputParameterHandler = cOutputParameterHandler()
            oOutputParameterHandler.addParameter('siteUrl', aEntry[0])
            oOutputParameterHandler.addParameter('sMovieTitle', sTitle)

            oGui.addTV(SITE_IDENTIFIER, 'ShowSaisons', sTitle, '', '', '',
                       oOutputParameterHandler)

        cConfig().finishDialog(dialog)

        oGui.setEndOfDirectory()
def AlphaDisplay():

    oGui = cGui()
    oInputParameterHandler = cInputParameterHandler()
    sUrl = oInputParameterHandler.getValue('siteUrl')
    sLetter = oInputParameterHandler.getValue('sLetter')

    sHtmlContent = CloudflareBypass().GetHtml(sUrl)
    
    #fh = open('c:\\test.txt', "w")
    #fh.write(sHtmlContent)
    #fh.close()
    
    oParser = cParser()
    sPattern = '<a href=\'\.\.\/(serie\/.+?)\'>(' + sLetter + '[^<>]+?)<\/a><br>'
    aResult = oParser.parse(sHtmlContent, sPattern)
   
    if (aResult[0] == True):
        total = len(aResult[1])
        dialog = cConfig().createDialog(SITE_NAME)
        for aEntry in aResult[1]:
            cConfig().updateDialog(dialog, total)
            if dialog.iscanceled():
                break
                
            sTitle = CleanTitle(aEntry[1])
            sUrl2 = URL_MAIN + aEntry[0]
            
            oOutputParameterHandler = cOutputParameterHandler()
            oOutputParameterHandler.addParameter('siteUrl', sUrl2)
            oOutputParameterHandler.addParameter('sMovieTitle', sTitle)

            oGui.addTV(SITE_IDENTIFIER, 'ShowSaisons', sTitle, '', '','', oOutputParameterHandler)
        
        cConfig().finishDialog(dialog)
        
        oGui.setEndOfDirectory()
def ShowSaisons():
    oGui = cGui()

    oInputParameterHandler = cInputParameterHandler()
    sUrl = oInputParameterHandler.getValue('siteUrl')
    sMovieTitle = oInputParameterHandler.getValue('sMovieTitle')
    sThumb = oInputParameterHandler.getValue('sThumbnail')

    sHtmlContent = CloudflareBypass().GetHtml(sUrl)
   
    oParser = cParser()
    sPattern = '<a href="([^<>]+?)" class="seasonLink">([^<>]+?)<\/a>'
    aResult = oParser.parse(sHtmlContent, sPattern)
    
    if (aResult[0] == True):
        total = len(aResult[1])
        dialog = cConfig().createDialog(SITE_NAME)
       
        for aEntry in aResult[1]:
            cConfig().updateDialog(dialog, total)
            if dialog.iscanceled():
                break
           
            sTitle = sMovieTitle + ' Saison ' + aEntry[1]
            sDisplayTitle = cUtil().DecoTitle(sTitle)
            
            if sThumb: #alphadisplay pas de thumbs
               sThumb = sThumb.replace(' ','%20')

            oOutputParameterHandler = cOutputParameterHandler()
            oOutputParameterHandler.addParameter('siteUrl', aEntry[0])
            oOutputParameterHandler.addParameter('sMovieTitle', sTitle)
            oGui.addTV(SITE_IDENTIFIER, 'showEpisode', sDisplayTitle, '', str(sThumb), '', oOutputParameterHandler)

        cConfig().finishDialog(dialog)
           
    oGui.setEndOfDirectory()
def showMovies(sSearch = ''):
    oGui = cGui()
    
    if sSearch :
        sUrl = sSearch
    else:
        oInputParameterHandler = cInputParameterHandler()
        sUrl = oInputParameterHandler.getValue('siteUrl')
   
    #print sUrl

    sHtmlContent = CloudflareBypass().GetHtml(sUrl)
    
    #fh = open('c:\\test.txt', "w")
    #fh.write(sHtmlContent)
    #fh.close()
   
    oParser = cParser()
    sPattern = "<a href='([^'<>]+?)' data-original-title='' title=''><img src='([^'<>]+?)' width='100%' height='100%' title='' data-original-title=''><h3 data-original-title='' title=''>(.+?)<\/h3>"
    aResult = oParser.parse(sHtmlContent, sPattern)

    if (aResult[0] == True):
        
        SpecHead = CloudflareBypass().GetHeadercookie(sUrl)  
        total = len(aResult[1])
        dialog = cConfig().createDialog(SITE_NAME)

        for aEntry in list(set(aResult[1])):
            cConfig().updateDialog(dialog, total)
            if dialog.iscanceled():
                break

            sThumb = aEntry[1]

            if sThumb.startswith('../'):
               sThumb = URL_MAIN + sThumb.replace('../','').replace(' ','%20')

            if URL_MAIN in sThumb:
                sThumb = sThumb + SpecHead

            sUrl = aEntry[0]  
            if sUrl.startswith('../'):
               sUrl = URL_MAIN + sUrl.replace('../','')
           
            #not found better way
            #sTitle = unicode(sTitle,'iso-8859-1')
            #sTitle = unicodedata.normalize('NFD', sTitle).encode('ascii', 'ignore').decode("unicode_escape")
            #sTitle = sTitle.encode( "utf-8")
            #sTitle = sTitle.encode('ascii', 'ignore').decode('ascii')
            
            sTitle = CleanTitle(aEntry[2])
            
            #sDisplayTitle = cUtil().DecoTitle(sTitle)

            oOutputParameterHandler = cOutputParameterHandler()
            oOutputParameterHandler.addParameter('siteUrl', sUrl)
            oOutputParameterHandler.addParameter('sMovieTitle', sTitle)
            oOutputParameterHandler.addParameter('sThumbnail', sThumb)
 
            oGui.addTV(SITE_IDENTIFIER, 'ShowSaisons', sTitle, '', sThumb, '', oOutputParameterHandler)
 
        cConfig().finishDialog(dialog)
           
    if not sSearch:
        oGui.setEndOfDirectory()