
    `i*                     .   S SK r S SKJr  S SKJr  S SKJr  S SKJr  S SK	J
r
  S SKJr  S SKJrJr  S	rS
rSrSr\" 5       R)                  \5      rSr\S4r\S-   S4r\S-   S4r\S-   S4rSr\S-   S4r\S    S4rSrS rS r S r!SS jr"S r#S r$S r%S r&g)    N)
cHosterGui)cGui)cInputParameterHandler)cOutputParameterHandler)cRequestHandler)cParser)progresssiteManagerzHMozilla/5.0 (Windows NT 6.1; WOW64; rv:70.0) Gecko/20100101 Firefox/70.0frenchanimeszFrench AnimeszMangas en streaming)Tload
showAnimesz
animes-vf/zanimes-vostfr/zfilms-vf-vostfr/)T
showGenresz0?do=search&mode=advanced&subaction=search&story=
showSearchc                     [        5       n [        5       nUR                  SS5        U R                  [        SSSU5        UR                  S[
        S   5        U R                  [        [
        S   SS	U5        UR                  S[        S   5        U R                  [        [        S   S
SU5        UR                  S[        S   5        U R                  [        [        S   SSU5        UR                  S[        S   5        U R                  [        [        S   SSU5        UR                  S[        S   5        U R                  [        [        S   SSU5        U R                  5         g )NsiteUrlzhttp://animesr   u   Recherche Animész
search.pngr      u   Animés (Derniers ajouts)znews.pngu   Animés (VF)zvf.pngu   Animés (VOSTFR)z
vostfr.pngu   Animés (Films)z
animes.pngu   Animés (Genres)
genres.png)r   r   addParameteraddDirSITE_IDENTIFIER	ANIM_NEWSANIM_VFSANIM_VOSTFRS
ANIM_MOVIEANIM_GENRESsetEndOfDirectory)oGuioOutputParameterHandlers     L/home/kodi/.kodi/addons/plugin.video.vstream/resources/sites/frenchanimes.pyr   r   !   s)   6D57((ODKK/BLRij((IaLAKK1/JJXop((HQK@KK!nhH_`((LODKKa2DlTkl((JqMBKKA0A<Qhi((KNCKKQ1C\Sjk    c                      [        5       n U R                  5       nU(       a8  [        S   UR                  SS5      -   n[	        U5        U R                  5         g g )Nr    +)r   showKeyBoard
URL_SEARCHreplacer   r   )r   sSearchTextsUrls      r   r   r   :   sQ    6D##%K!}{223<<4 	 r    c                  J   [        5       n [        5       n[        [        5      nUR	                  5       nSnSnUR                  X4U5      nSnUR                  X65      nUS   (       d  U R                  [        5        / nUS   (       a  US    H7  n	[        S S U	S   -   n
U	S   R                  5       nUR                  X45        M9     [        US S9n[        5       nU H0  u  pUR                  S	U
5        U R                  [        S
USU5        M2     U R                  5         g g )Nz$</span><b>Animes par genre</b></div>z<div class="side-b">z<a href="([^"]+)">([^<]+)r   r   c                     U S   $ )Nr    )genres    r   <lambda>showGenres.<locals>.<lambda>[   s    eAhr    )keyr   r   r   )r   r   r   URL_MAINrequestabParseparseaddTextr   
capitalizeappendsortedr   r   r   r   )r   oParseroRequestHandlersHtmlContentsStartsEndsPatternaResultTriAlphaaEntryr(   sTitler   s                r   r   r   D   s   6DiG%h/O"**,L3F!D??<>L*HmmL3G1:_%HqzajFCR=6!9,DAY))+FOOVN+ ! ((>?"9";$LF#00DAKKv|Mde % 	  r    c           
         [        5       n[        5       nU (       a  U nO[        5       nUR                  S5      n[	        U5      nUR                  5       nSnUS-  nUR                  Xg5      nUS   (       d  UR                  [        5        US   (       Ga  [        US   5      n	[        5       R                  [        5      n
[        5       nUS    GHC  nU
R                  X5        U
R                  5       (       a    GOUS   nUR!                  S5      (       a  ["        S S U-   nUS   R%                  SS	5      nUS
   nUS   R%                  SS5      nUS   n['        US   5      nUU;   a  UR%                  US	5      nU< SU< SU< S3nUR)                  SU5        UR)                  SU5        UR)                  SU5        UR)                  SU5        SU;   a  UR+                  [        SUS	UUU5        GM(  UR-                  [        SUS	UUU5        GMF     U
R/                  U
5        [1        U5      u  nnU(       a7  [        5       nUR)                  SU5        UR3                  [        SSU-   U5        U (       d  UR5                  5         g g )Nr   z]mov clearfix.+?src="([^"]*)" *alt="([^"]*).+?link="([^"]+).+?(?:sai">([^<]+[0-9]).+?|)Versionz-.+?desc">([^<]*).+?Synopsis:.+?desc">(.*?)</dr   r   /r*   z wiflix       SaisonzSaison       r"   z ()sMovieTitlesThumbsDesczfilms-vf-vostfrshowHostersshowEpisodesr   zPage )r   r   r   getValuer   r2   r4   r5   r   lenr	   VScreate	SITE_NAMEr   VSupdate
iscanceled
startswithr1   r&   strr   addMovie	addSeasonVSclose__checkForNextPageaddNextr   )sSearchr   r9   r(   oInputParameterHandlerr:   r;   r>   r?   total	progress_r   rA   rM   rB   sSaisonsLangrN   sDisplaytitle	sNextPagesPagings                        r   r   r   d   sX   6DiG!7!9%..y9%d+O"**,LnH??HmmL3G1:_%qzzGAJJ''	2	"9";ajFy0##%%AYF  %%!#2/AY&&y"5F!9DQi'')<G1IEq	NE r2,2GUCM#00DA#00G#006B#00%@ D(o}mRQWY^`wxrSY[`byz9 !< 	)$/=	7&=&?##00IFLL,'8IKbc  r    c                     Sn[        5       nUR                  X5      nUS   (       aG  US   S   S   nUS   S   S   n[        R                  " SU5      R	                  S5      nUS-   U-   nXW4$ g)Nz<>([^<]+)</a> *</span>.*?<span class="pnext"><a href="([^"]+)r   r   zpage.([0-9]+)rD   )Fnone)r   r4   researchgroup)r;   r>   r9   r?   
sNumberMaxre   sNumberNextrf   s           r   r\   r\      s}    MHiGmmL3GqzQZ]1%
AJqM!$	ii;AA!D#j0!!r    c            
          [        5       n [        5       nUR                  S5      nUR                  S5      nUR                  S5      nUR                  S5      n[        U5      nUR	                  5       n[        5       nSn	Sn
UR                  SS5      nUR                  XyU
5      nUR                  S	S
5      R                  SS5      nSnUR                  X{5      nUS   (       a  [        5       nUS    H  nUS   (       d  M  U< SUS   < 3nUR                  SU< SUS   < 35        UR                  SU5        UR                  SU5        UR                  SU5        U R                  [        SUSXEU5        M     U R                  5         g )Nr   rL   rM   rN   "class="eps" style="display: none">/div>
@!//	!https://,//	,https://([0-9]+)!|(https:.+?)[,|@]r   r   z	 Episode |showEpisodeLinksrE   )r   r   rQ   r   r2   r   r&   r3   r4   r   r   
addEpisoder   r   )r   r_   r(   rL   rM   rN   r:   r;   r9   r<   r=   r>   r?   r   rA   rd   s                   r   rP   rP      s|   6D35!**95D(11-@K#,,X6F"++G4E%d+O"**,LiG1FD  ''c2L??<>L  ''{;CCE;WL+HmmL3Gqz"9";ajFayy2=vay I'44Y4QWXYQZ@[\'44]KP'44XvF'44WeD1C]TVX^g~ ! 	r    c                  L   [        5       n [        5       nUR                  S5      R                  S5      u  p#UR                  S5      nUR                  S5      n[	        U5      nUR                  5       n[        5       nSn	Sn
UR                  SS5      nUR                  XyU
5      nUR                  S	S
5      R                  SS5      nSnUR                  X{5      nUS   (       a  SnUS    H  nUS   (       a  U(       a    OUS   U:w  a  M!  UnU(       d  M,  US   (       d  M8  US-   U-   nUS   n[        5       R                  U5      nU(       d  Mg  UR                  U5        UR                  U5        [        5       R                  U UUU5        M     U R                  5         g )Nr   rx   rL   rM   ro   rp   rq   rr   rs   rt   ru   rv   rw   r   r   r"   )r   r   rQ   splitr   r2   r   r&   r3   r4   r   checkHostersetDisplayNamesetFileName
showHosterr   )r   r_   r(   searchEprL   rM   r:   r;   r9   r<   r=   r>   r?   numEprA   rB   
sHosterUrloHosters                     r   ry   ry      s   6D35+44Y?EEcJND(11-@K#,,X6F%d+O"**,LiG1FD  ''c2L??<>L  ''{;CCE;WL+HmmL3GqzajFay!9( u$s*U2#AY
$,22:>7**62''/L++D':vN !  	r    c                  ~   [        5       n [        5       nUR                  S5      nUR                  S5      nUR                  S5      n[        5       n[	        U5      nUR                  5       nSnSn	UR                  XxU	5      nUR                  SS5      R                  SS	5      nS
n
UR                  Xz5      nUS   (       al  US    Hc  nUn[        5       R                  U5      nU(       d  M'  UR                  U5        UR                  U5        [        5       R                  XX5        Me     U R                  5         g )Nr   rL   rM   ro   rp   rs   rt   ru   rv   z(https:.+?)[,|<]r   r   )r   r   rQ   r   r   r2   r3   r&   r4   r   r}   r~   r   r   r   )r   r_   r(   rL   rM   r9   r:   r;   r<   r=   r>   r?   rA   r   r   s                  r   rO   rO   
  s   6D35!**95D(11-@K#,,X6FiG%d+O"**,L1FD??<>L''{;CCE;WL!HmmL3GqzajFJ l..z:Gw&&{3##K0''zJ ! 	r    )rE   )'ri   resources.lib.gui.hosterr   resources.lib.gui.guir   +resources.lib.handler.inputParameterHandlerr   ,resources.lib.handler.outputParameterHandlerr   $resources.lib.handler.requestHandlerr   resources.lib.parserr   resources.lib.comaddonr	   r
   UAr   rT   	SITE_DESC
getUrlMainr1   
ANIM_ANIMSr   r   r   r   r   r%   URL_SEARCH_ANIMSFUNCTION_SEARCHr   r   r   r   r\   rP   ry   rO   r,   r    r   <module>r      s    
 / & N P @ ( 8O 	!	=##O4
|$	|#\2++\:++\:
"KK\Z
qM<0 2!@@!F%P*Zr    