
    `i@                        S SK r S SKJrJrJr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  S S	KJr  S
rSrSr\" 5       R/                  \5      rSrSrSrSrSrSrSrSr Sr!Sr"Sr#Sr$Sr%Sr&Sr'\" 5       RQ                  S5      r)S r*S r+S r,S  r-S! r.S" r/S# r0S$ r1S% r2S& r3S' r4S( r5S) r6S* r7S+ r8S, r9S0S- jr:S. r;S/ r<g)1    N)progressaddonisMatrixsiteManager)
cHosterGui)cGui)cInputParameterHandler)cOutputParameterHandler)cRequestHandler)cParser)cUtilanimeultimezAnime Ultimeu"   Animés, Dramas en Direct DownloadzNMozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0)zsearch-0-1+
showSeries)zsearch-dramar   )zsearch-animer   )TshowMenuAnimes)TShowYearsAnimes)TShowGenreAnimes)TShowAlphaAnimes)TshowMenuDramas)TShowYearsDramas)TShowGenreDramas)TShowAlphaDramas)TshowMenuTokusatsu)zseries-0-1/tokusatsu/0---r   )trueShowAlphaTokusatsucontenu_adultec                     [        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                  5         g )
NsiteUrlr      u   Animész
animes.pngDramasz
dramas.png	Tokusatsu	films.png)	r   r
   addParameter
ANIM_ANIMSaddDirSITE_IDENTIFIERDRAMA_DRAMASTOKUSATSU_TOKUSATSUSsetEndOfDirectoryoGuioOutputParameterHandlers     K/home/kodi/.kodi/addons/plugin.video.vstream/resources/sites/animeultime.pyloadr-   ,   s    6D57((JqMBKKA	<I`a((LODKKa(LJab((4H4KLKK!5a!8+{Tkl    c                     [        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                  5         g )Nr   r   
showSearch	Recherche
search.pngr   u   Animés  (Ordre alphabétique)az.pngu   Animés (Genres)
genres.pngu   Animés (Par années)
annees.png)
r   r
   r"   URL_SEARCH_ANIMSr$   r%   
ANIM_ALPHAANIM_GENRESANIM_ANNEESr(   r)   s     r,   r   r   <   s    6D57((4DQ4GHKK{LJab((JqMBKKA0PRZ\st((KNCKKQ1C\Sjk((KNCKKQ1H,Xopr.   c                     [        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                  5         g )Nr   r   r0   r1   r2   r   u   Dramas (Ordre alphabétique)r3   zDramas (Genres)r4   u   Dramas (Par années)r5   )
r   r
   r"   URL_SEARCH_DRAMASr$   r%   DRAMA_ALPHADRAMA_GENRESDRAMA_ANNEESr(   r)   s     r,   r   r   O   s    6D57((4Ea4HIKK{LJab((KNCKKQ1OQY[rs((LODKKa2C\Sjk((LODKKa2H,Xopr.   c                  0   [        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                  5         g )Nr   r   r   r    r!   u   Tokusatsu (Ordre alphabétique)r3   )r   r
   r"   	TOKUSATSUr$   r%   TOKUSATSU_ALPHAr(   r)   s     r,   r   r   b   s|    6D57((IaLAKK1{KI`a((OA4FGKK!35VX`byzr.   c                    [         S-   U -   n[        U5      nUR                  5       n[        5       nSnUR	                  XF5      n0 nUS   (       a  US    H  n	U	S   (       a  U	S   U:X  a  Sn
OSn
W
(       d  M$  U	S   (       d  M0  [        5       (       d$  U	S   R                  S5      R                  S	5      nOU	S   nUR                  S
S5      R                  5       nU	S   X'   M     [        UR                  5       S S9nU$ )Nseries-0-1/z7<select name="([^"]+)|<option value='([^']+).*?>([^<]+)r   r   TF   
iso-8859-1utf8eEc                     U S   $ )Nr    )typeLists    r,   <lambda>loadTypelist.<locals>.<lambda>   s	    xPQ{r.   )key)URL_MAINr   requestr   parser   decodeencodereplacestripsorteditems)	typemovietypelistsUrloRequestHandlersHtmlContentoParsersPatternaResultlist_typelistaEntrybfindtitles               r,   loadTypelistrd   o   s     m#i/D%d+O"**,LiGJHmmL3GMqzajFay!9( E!Euzz"1I,,\:AA&IE"1IEc3/557'-ay$ ! =..06RSMr.   c                      [        S5        g Nanime	ShowGenrerJ   r.   r,   r   r      
    gr.   c                      [        S5        g Ndramarh   rJ   r.   r,   r   r      rj   r.   c                    [        5       n[        U S5      n[        5       nU HR  nSU -   S-   US   -   S-   nUS   R                  5       nUR	                  SU5        UR                  [        SUS	U5        MT     UR                  5         g )
NgenrerC   z/-r   ---r   r   r   r4   )r   rd   r
   rc   r"   r$   r%   r(   )rX   r*   list_listgenrer+   ilisturlsTitles          r,   ri   ri      s    6D!)W5N57i'$.q9EAq!,,Y<O\6<I`a	   	r.   c                      [        S5        g rf   	ShowYearsrJ   r.   r,   r   r      rj   r.   c                      [        S5        g rl   rv   rJ   r.   r,   r   r      rj   r.   c                 
   [        5       n[        U S5      n[        5       n[        U5       HD  nSU -   S-   US   -   S-   nUS   nUR	                  SU5        UR                  [        SUS	U5        MF     UR                  5         g )
NyearrC   z/--r   z--r   r   r   r5   )r   rd   r
   reversedr"   r$   r%   r(   )rX   r*   	list_yearr+   listers   rt   s          r,   rw   rw      s    6DY/I57)$i'%/%(:TAq,,Y<O\6<I`a	 % 	r.   c                      [        S5        g rf   	ShowAlpharJ   r.   r,   r   r      rj   r.   c                      [        S5        g rl   r   rJ   r.   r,   r   r      rj   r.   c                      [        S5        g )N	tokusatsur   rJ   r.   r,   r   r      s
    kr.   c                    [        5       nSS KnUR                  n[        U5      nSSU -   S-   //nU H9  nUR	                  [        U5      R                  5       SU -   S-   U-   S-   /5        M;     [        5       nU H6  u  pUR                  SU	5        UR                  [        SS	U-   S
-   SU5        M8     UR                  5         g )Nr   #rC   z/1---/rp   r   r   zLettre [COLOR coral]z[/COLOR]z
listes.png)r   stringascii_lowercaselistappendstrupperr
   r"   r$   r%   r(   )
rX   r*   r   sAlpha	listalphar}   alphar+   rt   rZ   s
             r,   r   r      s    6D##FVI=9,w678Ec%j&&(-)*Cc*IE*QTY*YZ[  67,,Y=O\3IF3RU_3_am  pG  	H  	r.   c                      [        5       n [        5       nUR                  S5      nU R                  5       nU(       a   X#-   n[	        U5        U R                  5         g g )Nr   )r   r	   getValueshowKeyBoardr   r(   )r*   oInputParameterHandlerrZ   sSearchTexts       r,   r0   r0      sW    6D35!**95D##%K!4 	 r.   c           
         [        5       n[        5       nS=p4U (       a  [        5       n[        S   U ;   n[        S   U ;   nU R                  [        S   S5      nUR                  [        S   S5      nUR                  U5      n[        [        S   -   UR                  SS5      R                  SS5      -   nO"[        5       n[        UR                  S5      -   n[        U5      n	U	R                  5       n
U (       a#  SU(       a  S	OS
-   nUR                  XS5      n
SnOSnUR                  XU5      n
SnUR                  X5      nUS   (       Gd  [        5       nU (       a  SU
;  a  Sn [         R"                  " SU
5      R%                  S5      nU(       a  UnSnSU;   d  SU;   a!  [&        S:X  a  UR)                  [*        S5        g UR-                  SU5        UR-                  SU5        UR-                  SU5        SU;   a  UR/                  [*        SUSUSU5        OGUR1                  [*        SUSUSU5        O+UR)                  [*        5        OUR)                  [*        5        US   (       Ga  [        5       n[3        US   5      n[5        5       R7                  [8        SS9nUS    GHq  nUR;                  UU5        UR=                  5       (       a    GOHUS   nU (       a   [         R>                  " SSU5      n URA                  S5      RC                  S5      nUS   nUS   n[&        S:X  a  SU;   d  SU;   a  M  U (       a  WRE                  WU5      (       d  M  US    RG                  5       nUS!U-  -  nUR-                  SU5        UR-                  SU5        UR-                  SU5        US":X  a  URI                  [*        SUSUSU5        GM+  U(       d  SU;   a  UR/                  [*        SUSUSU5        GMV  UR1                  [*        SUSUSU5        GMt     URK                  U5        U (       d  URM                  5         g g !    GN= f!    GNZ= f!    GNA= f)#NFr     +z%20r   z<th width="80%">rg   rm   z	 </table>z~<td class=".+?<a href="([^"]+)".+?<img src=.+?img=([^>]+)\/>.+?onMouseOut.+?>(.+?)<\/a>.+?<td class="" align="center">([^<]+)<z<div id="principal">z^<td class=".+?<a href="([^"]+)".+?<img src=([^>]+)\/>.+?alt="([^"]+).+?align="center">([^<]+)<zsultats animez<h1>([^<]+)r   zPublic AvertiInterditfalseu3   [COLOR red]Contenu pour adultes désactivé[/COLOR]sMovieTitlesThumbz/anime/showEpisodeT)largerD   <.*?>rE   rF      z [%s]Film)'r   r   r   r6   r;   rT   	CleanNamerO   
URL_SEARCHr	   r   r   rP   abParserQ   r
   researchgroupadulteContentaddTextr%   r"   addAnimeaddDramalenr   VScreate	SITE_NAMEVSupdate
iscanceledsubrR   rS   CheckOccurencerU   addMovieVScloser(   )sSearchr*   r]   bAnimebDramaoUtilr   rZ   r   r[   r\   r^   r_   r+   rt   sUrl2r   total	progress_ra   sTypes                        r,   r   r      s   6DiGF!!$/"1%0oo&7&:B?!))*:1*=rBook2*Q-'+*=*=c3*G*O*OPUWZ*[[!7!9099)DD%d+O"**,L%FH|{K T)|xHsmmL3G 1::"9";l:F=,?EEaH  #f,
f0D$/_6kl'44YF'44]FK'44XvF$MM/=&"fVXZqrMM/=&"fVXZqr _-LL)qzz"9";GAJJ''	'>	ajFy%0##%%AYFVVGR8F|4;;FC 1IEAYF'"f,
f0D ++K@@1IOO%Ego%F#00EB#00G#006Bo}fb&RTVmn9,o}fb&RTVmno}fb&RTVmnW !Z 	)$  _Rs$   +&Q 'Q  QQQQ!c            
      @   [        5       n [        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                  Xi5      n
U
S   (       a~  U
S   S   R                  SS5      R                  S	S5      nUR                  S
S5      R                  SS5      R                  SS5      nSS< SU< 3n [        R                  " SSU5      nO Sn	UR                  Xi5      n
U
S   (       Ga  [        5       n[        5       nU
S    GH  nUS   nX;   a  M  UR                  U5        US   n UR                  S5      R                  S5      nSnSU;   a  SnSU;   a  SnUS   R                  SS5      R                  SS5      R                  SS5      R                  SS5      R                  SS5      R                  SS5      R                  SS5      R!                  5       nS U;   a"  UR                  S!S5      R                  S"S5      nUR#                  S5      S#   nUR                  US$U-   5      R!                  5       nUS%-   U-   S-   nUR%                  SU5        UR%                  SU5        UR%                  SU5        UR%                  S&U5        U R'                  [(        S'USX8U5        GM     U R+                  5         g !    GN= f!    GN= f!    GN= f)(Nr   r   r   r   u^   src="images.+?(?:<br />)(.+?)(?:<span style|TITRE ORIGINAL|ANNÉE DE PRODUCTION|STUDIO|GENRES)r   r   z<br>z<br />Synopsissynopsis:r   z[I][COLOR coral]z
Synopsis :z[/COLOR][/I] r   zf<tr.+?align="left">.+?align="left">([^"]+)</td>.+?nowrap>+?<.+?</td>.+?<.+?/td>.+?<.+?<a href="([^"]+)rE   rF    vostfrVOSTFR vfVF[]FHDvostfrvfHDHQz(saison()z	 Episode z [sLangshowHosters)r   r	   rO   r   r   rP   r   rQ   rT   r   r   r
   setaddrR   rS   rU   splitr"   
addEpisoder%   r(   )r*   r   rZ   r   r   r[   r\   r]   sDescr^   r_   r+   linksra   r   rt   r   sEpisodesDisplayTtitles                      r,   r   r   c  s5   6D35,55i@@D#,,X6F(11-@K%d+O"**,LiGEs--71:AJqM))&"5==hKEMM*b199*bIQQRUWZ[E=I5QEwE2  xHmmL3Gqzz"9";ajF1IE~IIeAYF|4;;FC EF" AY&&sB/77R@HHPRS[[\dfhiqqrvxz{  D  D  EI  KM  N  V  V  W[  ]_  `  f  f  hFF"R088bA||C(,H^^HkH.DEKKMF#d]U2S8N $00EB#00G#006B#00%@OOO]NBPV_vw= !@ 	W$s1   7BL 9L 1 LL
L L LLc                     [        5       n [        5       n[        5       n[        UR	                  S5      -   nUR	                  S5      nUR	                  S5      n[        U5      nUR                  5       nSnUR                  Xx5      n	U	S   (       a  [        5       n
U	S    H  nUS   R                  5       nSU;   a  SnS	U;   a  S
nU< SW< S3nUS   nUS   nX;   a  MA  U
R                  U5        [        5       R                  U5      nU(       d  Mt  UR                  U5        UR                  U5        [        5       R                  XX5        M     U R!                  5         g )Nr   r   r   zvid="stream">Streaming <span itemprop="name">([^<]+)<.+?thumbnailUrl" content="([^"]+)".+?contentURL" content="([^"]+)"r   r   r   r   r   r   z - [r   rD   )r   r   r	   rO   r   r   rP   rQ   r   rU   r   r   checkHostersetDisplayNamesetFileName
showHosterr(   )r*   r]   r   rZ   r   r   r[   r\   r^   r_   urlsra   rt   r   
sHosterUrloHosters                   r,   r   r     sF   6DiG35,55i@@D(11-@K#,,X6F%d+O"**,L JHmmL3GqzuajFAY__&FF" &159FAYFJ!HHZ  l..z:Gw&&v.##F+''zJ' !* 	r.   )r   )=r   resources.lib.comaddonr   r   r   r   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.utilr   r%   r   	SITE_DESC
getUrlMainrO   UAr   r;   r6   r#   r9   r8   r7   r&   r>   r=   r<   r'   r@   rA   
getSettingr   r-   r   r   r   rd   r   r   ri   r   r   rw   r   r   r   r   r0   r   r   r   rJ   r.   r,   <module>r      s   
 I I / & N P @ ( $	0	=##O4U*
2 1 %
''&
'(('2 7	0""#34 &&
!H

$
v!rCL%r.   