
    `im                     P   S SK r 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Sr\" 5       R3                  \5      rSrSrSr\S4rSrS\0r  S r!S r"S r#S%S jr$S&S jr%S'S jr&S r'S r(S r)S r*S r+S r,S  r-S! r.S" r/S# r0S$ r1g)(    N)dialogaddonisMatrixsiteManager)cGui)
cHosterGui)cInputParameterHandler)cOutputParameterHandler)cPremiumHandler)cRequestHandler)cUtilsitedarkiboxz)[COLOR dodgerblue]Compte DarkiBox[/COLOR]zFichiers sur compte DarkiBoxd   zapi/file/list?per_page=100zapi/file/list?per_page=1000zapi/folder/list?files=0
showMediaszHMozilla/5.0 (Windows NT 6.1; WOW64; rv:61.0) Gecko/20100101 Firefox/61.0z
User-Agentc                  R   [        5       n [        S5      R                  5       (       dt  U R                  [        SS5        [        5       nUR                  SS5        U R                  [        S[        5       R                  S5      SU5        U R                  5         g [        5       nUR                  S[        S	   S
-   5        U R                  [        [        S   SSU5        UR                  S[        S	   S
-   5        U R                  [        SSSU5        U R                  5         g )Ndarkiboxu0   [COLOR red]Nécessite un compte DarkiBox[/COLOR] siteUrlz//opensettingiGu  zparametres.pngr   z	&fld_id=0   u   Mes vidéos	films.pngshowFilezMes fichiers
genres.png)r   r   getTokenaddTextSITE_IDENTIFIERr
   addParameteraddDirr   VSlangsetEndOfDirectory	URL_MOVIE)oGuioOutputParameterHandlers     L/home/kodi/.kodi/addons/plugin.video.vstream/resources/sites/sitedarkibox.pyloadr%   (   s    6D :&//11_&bdfg"9";,,Y=O]EGNN54IK[]tu 57((IaL;4NOKK1}kKbc((IaL;4NOKK^\Kbc    c                  4    [        5       R                  5         g N)r   openSettings r&   r$   r   r   >   s    	Gr&   c                  4   [        5       n [        5       nUR                  S5      nUR                  S5      nU R                  5       nU(       aK  [        S-   U-   nU(       a  USU-   -  nUS:X  a  [        U5        g US:X  a  [        X$5        g [        X%5        g g )Nr   sMovieTitlez&title=&cat=filmserie)r   r	   getValueshowKeyBoardAPI_URL_FILEr   searchSeriesr   )r"   oInputParameterHandlersPathsTypesSearchText
sUrlSearchs         r$   
showSearchr9   B   s    6D35"++I6E"++M:E##%K!I-;
'E/)JF?z"g,U' r&   c                    [        5       n[        5       nU (       a  [        U 5      nOSnU(       a  UnUS:X  a  SnOP[        5       nUR	                  S5      nSU;   a/  [        [
        R                  " SU5      R                  S5      5      n[        S5      nUR                  5       nSn	SU;   a/  [        [
        R                  " S	U5      R                  S5      5      n	U(       Gd|  U	S:X  Gau  [        5       n
U
R                  SU5        UR                  [        S
SSU
5        [        [        -   SU-  -   nUSU-  -  n[!        U5      nUR#                  5       n[$        R&                  " U5      nUS   S:w  a-  [)        5       R+                  US   5        UR-                  5         g US   nU(       d  UR-                  5         g SU;   a  [/        US   S S9nU H  nUS   nUS   n[1        5       (       d  UR3                  S5      nUR5                  U5      n[6        SU-  -   nU
R                  SU5        U
R                  SU5        UR                  [        SUSU
5        M     U(       a  UnO[6        nUS:  a  USU-  -  nUSU	-  -   n[        U-   SU-  -   n[!        U5      nUR#                  5       n[$        R&                  " U5      nUS   S:w  a-  [)        5       R+                  US   5        UR-                  5         g US   nU(       d  UR-                  5         g Sn[9        5       nUR;                  S5      nUS    H  nUS   n[1        5       (       d  UR3                  S5      nUR5                  U5      nUn[        US   -   nUR=                  U5        UR?                  U5        URA                  UUUUS   5        US-  nM     U(       dn  U[B        :X  ad  U	S-  n	[6        nUSU-  -  nUSU	-  -  n[        5       n
U
R                  SU5        U
R                  SS 5        URE                  [        SS!U	-  U
5        UR-                  5         g )"Nr   r   fld_id&fld_id=(\d+)r   r   &page=&page=(\d+)r9   
Rechercher
search.png&key=%s
&fld_id=%dstatus   msgresultfoldersc                 (    U S   R                  5       $ Nnameupperfs    r$   <lambda>showFile.<locals>.<lambda>   s    qy?Pr&   keyrK   utf-8r,   r   r   &page=%dfilestitle	file_code	thumbnailSuitePage %d)#r   r   intr	   r0   researchgroupr   r   r
   r   r   r   URL_MAINAPI_URL_FOLDERr   requestjsonloadsr   VSinfor    sortedr   encodeunescaper2   r   checkHostersetDisplayNamesetFileName
showHosterNB_FILESaddNext)r5   sSearchr"   oUtilfldIdr   r4   oPremiumHandlersTokennumPager#   apiUrloRequestHandlersHtmlContentcontentrH   foldersTitle	folderdIdsUrlnbFile
oHosterGuioHosterfilesDisplayTitle
sHosterUrls                             r$   r   r   W   s   6DGEE
A:E!7!9(11)<w		/7;AA!DEE &j1O%%'F G7biiw7==a@A w!|"9";,,Y>O\<Ofg N*Y-??,&&)&1&..0**\*8#HOOGEN+""$(#""$WY/5PQG!"8,	zz#]]73F/#lY&>>'44YE'44]FKOZOfg " zu$$*w&&D_y611F%f-O"**,Ljj&GxC' hG FJ$$Z0G gzz]]7+F'  [ 11
}-F#dGZk9JK!% !* v)1u$$
W$$"9";,,Y=,,]GD_j)g2EG^_r&   c                 F
   [        5       n[        5       nUR                  S5      nUR                  S5      nS nSU;   a'  [        R                  " SU5      R                  S5      nOSnU (       a  U nUnO@UR                  S5      n[        [        R                  " SU5      R                  S5      5      nU(       af  U(       d_  SU;   d$  S	U;   d  S
U;   d  SU;   d  SU;   d  SU;   d  SU;   a  SnO2SU;   d  SU;   a  SnO#SU;   d  SU;   d  SU;   a  SnOSU;   d  SU;   a  SnUS:H  nUS:H  n	US:H  n
SnSnSU;   a/  [        [        R                  " SU5      R                  S5      5      n[        S5      nUR                  5       nU (       Gd  US:X  a  U(       aN  [        5       nUR                  S[        S   5        UR                  SS5        UR                  [        SSSU5        U	(       aM  S U;  aG  [        5       nUR                  SU5        UR                  SS5        UR                  [        SS!SU5        SnUS"S  S#:X  a  UR                  S$5      nUUS-   S" nUS U n[        [         -   S%U-  -   nU(       a  US&U-  -  n[#        U5      nUR%                  5       n[&        R(                  " U5      nUS'   S(:w  a-  [+        5       R-                  US)   5        UR/                  5         g US*   nU(       d  UR/                  5         g U	(       d  U
(       a  [1        UUUU5      nU	(       d(  U
(       d!  U (       d  US:X  a  S+U;   a  [3        UUUU5        U (       a  U nO[4        nU	(       d  U
(       a  [6        nU(       a  US&U-  -  nU(       a  US,U-  -  n[        U-   S%U-  -   n[#        U5      nUR%                  5       n[&        R(                  " U5      nUS'   S(:w  a-  [+        5       R-                  US)   5        UR/                  5         g US*   nU(       d  UR/                  5         g U	(       d  U
(       aC  S-nS U;   a  UR9                  S.5      S   nS/U;   a   [;        US/   5      S:  a  [=        XUUU5      nOU(       a  [?        UU5      nU (       d}  U[@        :X  as  US-  n[4        nU(       a  US&U-  -  nUS,U-  -   nUS0U-  -   n[        5       nUR                  SU5        UR                  SS15        URC                  [        S2S3U-  U5        UR/                  5         g )4Nr,   r   r-   z&cat=(.+?)(&|$)r   r   r=   FILMMOVIEDISNEY3D4KDOCUMENTAIREDOCSr.   MANGAJAPANanimeSERIE   SÉRIETVSHOWr/   ANIMES   ANIMÉSr   r>   r?   r   r9   zRechercher (Films)rA   sSeasonu   Rechercher (Séries)r;   :/rB   rC   rD   rE   rF   rG   rH   rU   FzsSeason=rV   &cat=%srZ   r   r[   )"r   r	   r0   r]   r^   r_   r\   r   r   r
   r   r!   r   r   rindexr`   ra   r   rb   rc   rd   r   re   r    
showSeries
addFoldersr2   API_URL_FILE_TVSHOWsplitlenshowEpisodes
showMoviesrm   rn   )ro   r"   r4   r,   r   rq   sCatsSiteUrlisMovieisTvShowisAnimer}   rt   rr   rs   r#   searchFolder	idxFolderru   rv   rw   rx   r|   r   s                           r$   r   r      s   6D35(11-@K$--i8GE'yy*G4::1=)229=BIIow7==a@A4[ G{$:h+>UY]alYl;.K"?6[CXD#w+'=D#x;'>(kBYD$	[(@DfnGwHgoGFG7biiw7==a@A%j1O%%'F a<*A*C''44Y	!M'44]FKO\;OQ]_vwG+.E.G++88EJ+88PKK?UWce|} BC=C ,I#IaK3L
+HN*Y-??lU**F)&1&..0**\*8#HOOGEN+""$(#""$wg|WEFGqLYZaMatWdL9 w&Du$$
W$$_y611F%f-O"**,Ljj&GxC' hG 7 nnZ03Gg#gg&6"7!";!$WhPF 
D'* v)1L5((Dj7**i$&&"9";,,Y=,,]GD_lI4GI`ar&   c                     [        5       n[        US   S S9nSn[        5       n[        5       nU GHQ  n	U	S   n
U	S   nUR	                  U
5      n
[        5       (       d   U
R                  S5      n
U(       a  U
R                  U5      (       d  M_  SnU
R                  S	5      (       d  U
R                  S
5      (       a  SnU(       aB  SU
;   a<  U
R                  S5      u  pU(       a  X:X  a  Un
OX;   a  M  UR                  U5        Un
U
R                  S	5      (       a  U
R                  S	S5      n
O(U
R                  S
5      (       a  U
R                  S
S5      n
U
(       d  [        XUW5      s  $ U
R                  S5      (       a8  U
R                  S5      (       a"  U
R                  SS5      R                  SS5      n
U(       a!  US:X  a  SnOUS:X  a  SnOUS:X  a  SnOSnUnGOESU
R                  5       ;   d  SU
R                  5       ;   a  SnSnGOSU
R                  5       ;   d  SU
R                  5       ;   a  SnSnOSU
R                  5       ;   d(  SU
R                  5       ;   d  SU
R                  5       ;   a  SnSnOSU
R                  5       ;   d  S U
R                  5       ;   a  SnS!nO|S"U
R                  5       ;   a  SnSnOcS#U
R                  5       ;   a  SnS$nOJS%U
R                  5       ;   a  SnS&nO1S'U
R                  5       ;   d  S(U
R                  5       ;   a  SnSnOS nSn[        S)U-  -   nU(       a  US*U-  -  nUR                  S+U5        UR                  S,U
5        U R!                  ["        S-XU5        GMT     g !    GN= f).NrH   c                 (    U S   R                  5       $ rJ   rL   rN   s    r$   rP   addFolders.<locals>.<lambda>h  s    qy7Hr&   rR   r   rK   r<   rT   FREP_00_Tr   zRES-z-RES[]r/   
series.pngr.   r   r   z
animes.pngr   r   r   r   r   r   r   r   r   r   zdoc.png	SPECTACLECONCERTz	music.pngSPORTz	sport.pngr   r   rC   r   r   r,   r   )r   rf   setr
   rh   r   rg   
startswithr   addreplacer   endswithrM   r2   r   r   r   )r"   rx   
sSearchCatr   rp   rH   rq   
subFoldersr#   ry   rz   isSubFoldersubName	subFoldersThumbr   r|   s                    r$   r   r   d  sB   GE WY'-HIGE J57x ' zzw/  1 1, ? ?V$$(9(9%(@(@K3&=!'c!2G*&F(w' V$$^^FB/Fu%%^^E2.F dZAAV$$)@)@^^FC088EFW$%v%$w&%%D'7flln+D$FLLN*g.G%FLLN*h&,,..HHX^XdXdXfLf%6<<>1Vv||~5M".%flln,$FLLN*$V\\^+yFLLN/J%%lU22I$$D,,Y=,,]FCO\6CZ[q s    NNc           
      "   [        5       nSnUS    GH  nUS   n[        5       (       d  UR                  S5      nUR                  U5      n[        US   -   nUS   S:X  a  USS  S;  a  MZ  US S n[        5       (       d   UR                  S5      nUn[        U5      n[        Xx5      u  p[        Xx5      u  p[        Xx5      u  p[        Xx5      u  pUS U R                  SS	5      R                  S
S	5      R                  5       nSUR                  5       ;  a/  [        R                  " S[        R                  " S5      -   SU5      nUS-  nUnU
(       a  USU
-  -  nU(       a  USU-  -  n[!        5       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5        UR#                  SU5        U R%                  [&        SUSUS   SU5        GM     U$ !    GN|= f)Nr   rV   rW   rT   rX   .z.mkv.avi.mp4.m4v.iso _customerz(?i)customr   r   z [%s]z (%s)r   r,   sYearsRessLangsTmdbIdshowHostersr   rY   )r   r   rg   rh   r`   r   getYeargetReso	getIdTMDBgetLangr   striplowerr]   subescaper
   r   addMovier   )r"   rx   rp   r}   r   rz   r   r,   posr   r   r   r   r   r#   s                  r$   r   r     s   GEF  gzz]]7+F'[ 11
":bc{"88CR[F zzw/
 +[.
K-	 2[.
!$3'//S9AA#sKQQS [..00&&"))H*=!=r;OK!#Wt^+MWu_,M #:";,,Y
C,,]KH,,We<,,VT:,,We<,,Y@o}m[RVWbRceg  jA  	Bm !p MMs   H		Hc           
      V   [        5       nUS   n[        U5      S:X  a  g[        US S9nSnSnUS-
  [        -  n[	        5       n	US:X  Ga  U GH  n
U
S   nU
S   nSUSS	 ;   d  S
USS ;   d  M"  [        5       (       d  UR                  S5      nUR                  U5      nSU;   a  UR                  S5      S   n[        SU-  -   nUS-  nSnUR                  S5      (       a  UR                  SS5      nO(UR                  S
5      (       a  UR                  S
S5      nU	R                  SU5        U	R                  SU5        U R                  [        SXU	5        GM     U GH  n
U
S   nU
S   n[        5       (       d  UR                  S5      nUR                  U5      nU(       a$  UR                  5       UR                  5       ;  a  Mj  SUSS	 ;   d	  S
USS ;   a  M~  US-  nXh::  a  M  [        U5      n[!        X5      u  nn[#        X5      u  nn[%        X5      u  nnUS U n[        SU-  -   nUS-  nUS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5        S nSUR                  5       ;   d  SUR                  5       ;   a8  [&        R(                  " SU5      nU(       a  [+        UR-                  S5      5      nU(       d8  [&        R(                  " SU5      nU(       a  [+        UR-                  S5      5      nU(       a  Un[        U5      n[#        UU5      u  nn[%        UU5      u  nnUS U nUSU-  -  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-   U-   SSSU	5        O/UnU(       a  US U-   S!-   -  nU R1                  [        SUSSSU	5        US-  nU[        :X  d  GM    U$    U$ )"NrH   r   c                 (    U S   R                  5       $ rJ   rL   rN   s    r$   rP   showSeries.<locals>.<lambda>  s    AfIOO,=r&   rR   r   rK   r<   r      r      rT   r   r;   rC   z
&cat=serier   r   r   r,   r   rU   r   r   r   SAISONSEASONz(\d+)zS(\d+)&sSeason=%dr   r   r   )r   r   rf   rm   r
   r   rg   rh   r   r2   r   r   r   r   r   rM   r   r   r   r]   r^   r\   r_   	addSeasonaddTV)r"   rx   r   rt   rp   rH   	numSeriesnbSeriesoffsetr#   ry   rz   rq   r|   r   r   r   r   r   saisonr,   s                        r$   r   r   
  s    GE i G
7|qW"=>GIHai8#F 67 !|FF^F8$E!$!(<zz#]]73F/&=#\\#.r2F#lU&::$%$$V,,#^^FB7F&&u--#^^E26F'44YE'44]FKO\6Kbc) , x zz]]7+F' L..0FVAa[ EVAa[$8Q	&kF(	cV)
s -lU22
Q,,Y=,,]FC,,We<,,VT:,,Y@v||~%V\\^)CYYw/FV\\!_-YYx0FV\\!_- Kk"C c2JE3$[#6LGS%ds+KMF**D#00DA#00L#00%@#00GDNN?L+:Kf:TVXZ\^`byz KsTzC//JJk2r2OfgAxOE D Or&   c           
         U(       d  Sn[        5       nUS    H]  nUS-  nUS   n[        5       (       d  UR                  S5      n[        U5      u  pU	(       d  MC  UR	                  [        U	5      5        M_     [        U5      S:  am  [        5       n[        U5       HR  nUSU-  -   nSU-  U-   nUR                  SU5        UR                  S	U5        U R                  [        S
USSSU5        MT     U$ [        U5      n[        X5      u  pUS U nSn[        5       nUS    GH<  nUS   n[        5       (       d  UR                  S5      n[        U5      u  pU(       a$  U	(       a  [        U	5      [        U5      :w  a  M^  OUn	U
(       a  SU
-   S-   U-   nU	(       a  SU	-   U-   n[        U5      n[        UU5      u  nn[        UU5      u  nnU
(       d  US U nWnU(       a  USU-  -  nU(       a  USU-  -  n[        US   -   nUS-  nUR                  SU5        UR                  S	U5        UR                  SU5        U R!                  [        SUSUS   SU5        GM?     U$ )Nr   rV   r   rW   rT   r   z
Saison %d r   r,   r   r   Er   Sz[%s]z(%s)rX   r   r   r   rY   )r   r   rg   searchEpisoder   r\   r   r
   rf   r   r   r   r   r   r   r`   
addEpisode)r"   r,   rx   r   r   r}   saisonsr   rz   saepr#   r   r|   r   r   	sFileNamer   r   r   r   s                        r$   r   r   y  s   % G$DaKF']F::w/ #6*FBrCG$ % w<!&=&?# /-&"88%.<'44YE'44]KPfb"bRij * M
k
C*JEds#K F57 M	zz!((1I y)r7c'l* + 2X^k1FrF*)nIs+	cY,
st_FVd]*MVe^+M [ 11
!,,Y
C,,]FC,,We<|UYZeUfhj  mD  	EW !Z Mr&   c                    S=p[         R                  " SU [         R                  [         R                  -  5      nU(       aC  UR	                  S5      nUR	                  S5      n[        U5      S:X  a  [        U5      S:  a  S=pU(       d  [         R                  " SU [         R                  [         R                  -  5      nU(       a  UR	                  S5      nX4$ [         R                  " SU [         R                  [         R                  -  5      nU(       a"  UR	                  S	5      n[        U5      S
:  a  SnX4$ )Nr   u_   (^S|\WS|_*S|saison|season) *(\d+)(\W*E|_*E|\W*Ep|_*Ep|x|\W*\wpisode|\W*Épisode| *Etape) *(\d+)   r   r   i  z%(^|\s|\.)(E|Ep|\wpisode)(\s?|\.)(\d+)z#( S|\.S|_S|\[S|saison)(\s?|\.)(\d+)r   r   )r]   r^   UNICODE
IGNORECASEr_   r\   )rz   r   r   ms       r$   r   r     s   LB
		su{}  ~H  ~H  KM  KX  KX  ~X  	YAWWQZWWQZr7a<CGcMLBII=vrzzTVTaTaGabB 6M 		?VXVcVcIcdAWWQZr7S=B6Mr&   c                    [        5       n[        S5      R                  5       n[        [        -   SU-  -   S-   U -   n[        U5      nUR                  5       n[        R                  " U5      nUS   S:w  a-  [        5       R                  US   5        UR                  5         g US   nU(       d  UR                  5         g [        X'US5        UR                  5         g )	Nr   rB   z&fld_id=rD   rE   rF   rG   r   )r   r   r   r`   ra   r   rb   rc   rd   r   re   r    r   )rq   
searchNamer"   rs   ru   rv   rw   rx   s           r$   r3   r3     s    6DZ(113F&V);;jH5PF &f-O"**,Ljj&GxC' hG tj!,r&   c                  J   [        5       n [        5       nUR                  S5      nUR                  S5      n[        5       R	                  S5      nU(       a=  UR                  U5        UR                  U5        [        5       R                  XUS5        U R                  5         g )Nr   r,   r   r   )	r   r	   r0   r   ri   rj   rk   rl   r    )r"   r4   r   rz   r   s        r$   r   r     s    6D35'00;J#,,];Fl&&z2Gv&F#z2>r&   c                 V    S/n[        XU5      u  p1U(       a  X14$ S/n[        XU5      $ )Nz\(([0-9]{4})\)z[^\w]([0-9]{4})[^\w]_getTag)r,   r   sPatternys       r$   r   r   
  s;     !!H[C0FAv ''H;#..r&   c                 "    / SQn[        XU5      $ )N)VFIVFFVFQ	SUBFRENCH
TRUEFRENCHz	.(FRENCH)VFVOSTFRz[^\w](VOST)[^\w]z[^\w](VO)[^\w]QCz[^\w](MULTI)[^\w]FASTSUBr   r,   r   r   s      r$   r   r     s    HH;#..r&   c                     S/n[        XU5      u  p1U(       d+  / SQn[        XU5      u  p1U(       a  UR                  SS5      nX14$ )NzRES-(.+?)-RES)HDCAMz[^\w](CAM)[^\w]z[^\w](R5)[^\w]z.(3D)z	.(DVDSCR)z.(TVRIP)z.(FHD)z
.(HDLIGHT)z.(4K)z.(UHD)z\d{3,4}Pz.(HDRIP)z.(BDRIP)z.(BRRIP)	.(DVDRIP)z.(HDTV)z	.(BLURAY)z	.(WEB-DL)z.(WEBDL)z	.(WEBRIP)z[^\w](WEB)[^\w]r  2160Pr   )r   r   )r,   r   r   r   s       r$   r   r     sN     Hs3IDr K37	<<.D9r&   c                      S/n[        XU5      $ )Nz	TM(\d+)TMr   r   s      r$   r   r   ,  s    }H;#..r&   c                    U H  n[         R                  " X0[         R                  5      nU(       d  M1  [        UR	                  5       5      nUR                  U5      nU(       d  US:  a  UR                  US-
  5      nU R                  UR                  S5      5      nX's=:  a  S:  a  O  OUnUR                  5       U4s  $    SU4$ )Nr   r   r   F)r]   r^   r   r   groupsr_   indexrM   )r,   tagsr   taResultlretps           r$   r   r   1  s    ))ABMM:7GNN$%A--"C1q5mmAaC(!!'--"23A{{99;##  #:r&   )r   r   )r   r(   )2rc   r]   resources.lib.comaddonr   r   r   r   resources.lib.gui.guir   resources.lib.gui.hosterr   +resources.lib.handler.inputParameterHandlerr	   ,resources.lib.handler.outputParameterHandlerr
   $resources.lib.handler.premiumHandlerr   $resources.lib.handler.requestHandlerr   resources.lib.utilr   r   	SITE_NAME	SITE_DESCrm   
getUrlMainr`   r2   r   ra   r!   UAheadersr%   r   r9   r   r   r   r   r   r   r   r3   r   r   r   r   r   r   r*   r&   r$   <module>r     s     	 G G & / N P @ @ $ !7	*	=##O4+3 *<(	O
,(*{|L^c\L=@l^Qj.0

///
r&   