
    `ic                       S SK r S SKrS SKrS SKr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 S
KJr  SrSrSrSrSrSr \" 5       RC                  S5      r"  " S S5      r#g)    N)addondialogaddonManagerVSlog)cDb)cGui)cGuiElement)cInputParameterHandler)cOutputParameterHandler)cRequestHandler)cUtil)cViewingcTraktTraktzhttps://api.trakt.tv/@7139b7dace25c7bdf0bd79acf46fb02bd63310548b1f671d88832f75a4ac3dd6@bb02b2b0267b045590bc25c21dac21b1c47446a62b792091b3275e9c4a943e742trakt_number_elementc                   
   \ 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"S jrS#S jrS 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 r SSS\!RD                  4S jr#S r$S%S  jr%S!r&g)&r   *   0c                 .    SU l         SU l        SU l        g )N )_cTrakt__sTitle_cTrakt__sAction_cTrakt__sType)selfs    C/home/kodi/.kodi/addons/plugin.video.vstream/resources/lib/trakt.py__init__cTrakt.__init__/   s        c                 h   [        [        S-   5      nUR                  S5        UR                  SS5        UR                  SS5        UR	                  S[
        5        UR                  SS	9n[        U5      nUS
:  Ga  U R                  R                  S5      US   US   4-  nU R                  R                  U5      nUS
:X  a  gUS:X  Ga]   [        [        S-   5      nUR                  S5        UR                  SS5        UR                  SS5        UR	                  S[
        5        UR	                  S[        5        UR	                  SUS   5        UR                  SS	9nUS   (       Ga  U R                  R                  S[        US   5      5        SU;   a(  U R                  R                  S[        US   5      5        SU;   a(  U R                  R                  S[        US   5      5        U R                  R                  S[        [        R                  " 5       5      5        U R                  R!                  U R                  R                  S5      5        [#        5       R%                  S5      (       aU  U R                  R                  SS5        U R                  R                  SS5        U R                  R                  SS5        g U R                  R                  SS5        U R                  R                  SS5        U R                  R                  SS5        g  g g g !    g = f)Nzoauth/device/code   Content-Typeapplication/json
User-AgentvStream	client_idT
jsonDecoder   i`v  verification_url	user_codeFzoauth/device/tokenclient_secretcodedevice_codeaccess_tokenbstokenrefresh_token
expires_in
token_timei0u  zscript.traktinstall_trakt_addontrue trakt_movies_activate_scrobblingfalse!trakt_tvshows_activate_scrobbling)r   URL_APIsetRequestTypeaddHeaderEntryaddJSONEntryAPI_KEYrequestlenADDONVSlangDIALOGVSyesno
API_SECRET
setSettingstrtimeVSinfor   isAddonExists)r   oRequestHandlersHtmlContenttotalsTextoDialogs         r   getTokencTrakt.getToken4   s   )'4G*GH&&q)&&~7IJ&&|Y?$$[':&..$.?L!AIZZ&&u-,?Q2RT`alTm1nnEkk))%0G11&5g@T6T&UO#2215#22>CUV#22<K#00gF#00*M#00m9TU#2#:#:d#:#KL#N33

--i\.=Y9Z[*l: JJ11/3|TcGdCef'<7 JJ11,LQ]D^@_`

--lC		<LM**4::+<+<U+CD (>77GG JJ112GP JJ112TV]^ JJ112UW^_
  !JJ112GQ JJ112TV\] JJ112UW]^' 4. 	s   HL- AL- -L1c                 j   U R                  5       (       d  gU R                  R                  S5      nU(       d+  U R                  R	                  S5        U R                  5       $  [        [        S-   5      nUR                  S5        UR                  SS5        UR                  SS	5        UR                  SU5        UR                  S
[        5        UR                  S[        5        UR                  SS5        UR                  SS9nUR                  S5      (       a  U R                  R                  SUS   5        U R                  R                  SUS   5        U R                  R                  S[!        US   5      5        U R                  R                  S[!        ["        R"                  " 5       5      5        U R                  R	                  S5        gU R                  R	                  S5        g! [$         a1  nU R                  R	                  S[!        U5      -   5         SnAgSnAff = f)u;   
Rafraîchit l'access token en utilisant le refresh token.
Nr2   u;   Aucun token trouvé, veuillez vous authentifier à nouveau.zoauth/tokenr#   r$   r%   r&   r'   r(   r-   
grant_typeTr)   r0   r1   r3   r4   u   Token rafraîchi avec succès.u%   Échec du rafraîchissement du token.u,   Erreur lors du rafraîchissement du token : )isTokenExpiredrA   
getSettingrC   rI   rP   r   r:   r;   r<   r=   r>   rE   r?   getrF   rG   rH   	Exception)r   r2   rK   rL   es        r   refreshTokencTrakt.refreshTokenk   s    ""$$

--o>KK\]==?"	X-g.EFO**1-**>;MN**<C((-H((g>((*E((G*22d2CL//

%%in1MN

%%o|O7TU

%%lC\8R4ST

%%lC		4DE""#CD""#JK 	XKKMPSTUPVVWW	Xs   %E5G7 G7 7
H2'H--H2c                      [        U R                  R                  S5      5      n[        U R                  R                  S5      5      n[        R                  " 5       X!-   :  $ !    g= f)Nr3   r4   T)intrA   rU   floatrH   )r   r3   r4   s      r   rT   cTrakt.isTokenExpired   sY    	TZZ22<@AJtzz44\BCJ yy{j566	s   AA$ $A(c                    U R                  5         [        5       nU R                  R                  S5      n[	        5       nUS:X  ac  [        S5        UR                  SS5        UR                  SS5        UR                  [        SU R                  R                  S	5      S
U5        GO [        [        S-   5      nUR                  SS5        UR                  SS5        UR                  S[        5        UR                  S[        5        UR                  SSU-  5        UR                  SS9n[#        U5      nUS:  aJ  US   nUR                  SS5        UR%                  [        U R                  R                  S5      U-  S5        UR                  [        SU R                  R                  S5      SU5        UR                  [        SU R                  R                  S5      SU5        UR                  S[        S -   5        UR                  [        S!S"U R                  R                  S#5      -   S$-   S
U5        UR'                  5         g !   U R!                  5       s $ = f)%Nr1   r   zTRAKT - bstoken invalidsiteUrlzhttps://typemovierP   iav  	trakt.pngzusers/mer$   r%   r&   r'   trakt-api-keytrakt-api-versionAuthorization	Bearer %sTr)   r   usernameibv  zprofile.pngshowMenuMoviesiu  z	films.pngshowMenuTvShowsiu  z
series.pngzoauth/revokegetBsout[COLOR red]iev  [/COLOR])rY   r   rA   rU   r   r   addParameteraddDirSITE_IDENTIFIERrB   r   r:   r<   r>   API_VERSr?   rP   r@   addTextsetEndOfDirectory)r   oGuir1   oOutputParameterHandlerrK   rL   rM   	sUsernames           r   getLoadcTrakt.getLoad   s   v**''	2"9";b=+,#00JG#00AKKTZZ5F5Fu5M{\st	'"1'J2F"G..~?QR..|YG..H../BHM..g@UV.66$6G %E	(4	'44Y
K_tzz/@/@/G9.TVcdKK)94::;L;LU;SU`byzKK):DJJ<M<Me<TVbd{| $00Gn<TUKK]TZZEVEVW\E]5]`j5jlw  zQ  R 5'}}&s   *BI I%c                    [        5       n[        5       nUR                  SS5        UR                  SS5        UR                  [        SU R
                  R                  S5      SU5        UR                  SS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`   users/me/listssCat1getListsv  
listes.pngusers/likes/lists   Mes listes aiméeszlists/popularzListes populaireszlists/trendingzListes tendancesr   r   rn   ro   rp   rA   rB   rs   r   rt   ru   s      r   showMenuListcTrakt.showMenuList   s    v"9";,,Y8HI,,VS9OZ1B1B51I<Ypq,,Y8KL,,VS9OZ1E|Ulm,,YHOZ1DlTkl,,Y8HIOZ1C\Sjk r!   c                 z   [        5       n[        5       nUR                  SS5        UR                  SS5        UR                  [        SU R
                  R                  S5      SU5        UR                  SS5        UR                  SS5        UR                  [        SU R
                  R                  S	5      S
U5        UR                  SS5        UR                  SS5        UR                  [        SU R
                  R                  S5      SU5        UR                  SS5        UR                  SS5        UR                  [        SU R
                  R                  S5      SU5        UR                  SS5        UR                  SS5        UR                  [        SU R
                  R                  S5      SU5        UR                  SS5        UR                  SS5        UR                  [        SU R
                  R                  S5      SU5        UR                  SS5        UR                  SS5        UR                  [        SSSU5        UR                  SS5        UR                  SS5        UR                  [        SU R
                  R                  S5      SU5        UR                  5         g )Nr`   z sync/playback/movies?type=moviesr{   r|   getTraktu  vod.pngzsync/history/movies?type=moviesiqv  zhistory.pngzsync/favorites/movies/addedv  mark.pngzsync/watchlist/movies/addedgv  pin.pngsync/collection/moviesfv  r   rz   r}   r~   r   r   zNrecommendations/movies?ignore_collected=true&ignore_watchlisted=true&limit=100iiv  zannounce.pngr   r   s      r   ri   cTrakt.showMenuMovies   sN   v"9"; 	 ,,Y8Z[,,VS9OZ1B1B51I9Vmn 	 ,,Y8YZ,,VS9OZ1B1B51I=Zqr 	 ,,Y8UV,,VS9OZ1B1B51I:Wno 	 ,,Y8UV,,VS9OZ1B1B51I9Vmn 	 ,,Y8PQ,,VS9OZ1B1B51I<Ypq 	 ,,Y8HI,,VS9OZ1B1B51I<Ypq 	 ,,Y8KL,,VS9OZ1E|Ulm 	 ,,Y  9I  	J,,VS9OZ1B1B51I>[rs r!   c                     [        5       n[        5       nUR                  SS5        UR                  SS5        UR                  [        SU R
                  R                  S5      SU5        UR                  SS5        UR                  SS5        UR                  [        SU R
                  R                  S	5      S
U5        UR                  SS5        UR                  SS5        UR                  [        SU R
                  R                  S5      SU5        UR                  SS5        UR                  SS5        UR                  [        SU R
                  R                  S5      SU5        UR                  SS5        UR                  SS5        UR                  [        SU R
                  R                  S5      SU5        UR                  SS5        UR                  SS5        UR                  [        SSSU5        [        [        R                  R                  5       R                  5       5      nUR                  SSU-   S-   5        UR                  [        SU R
                  R                  S5      SU5        UR                  5         g )Nr`   zsync/watched/shows?type=showr{   r   r   r   r   zsync/favorites/shows/addedr   r   zsync/watchlist/shows/addedr   r   zsync/collection/showsr   r   rz   r}   r~   r   r   zcalendars/my/shows/z/7i{v  
annees.png)r   r   rn   ro   rp   rA   rB   rG   datetimenowdaters   )r   rt   ru   
today_dates       r   rj   cTrakt.showMenuTvShows!  s   v"9"; 	 ,,Y8VW,,VS9OZ1B1B51I9Vmn 	 ,,Y8TU,,VS9OZ1B1B51I:Wno 	 ,,Y8TU,,VS9OZ1B1B51I9Vmn 	 ,,Y8OP,,VS9OZ1B1B51I<Ypq,,Y8HI,,VS9OZ1B1B51I<Ypq,,Y8KL,,VS9OZ1E|Ulm **..05578
,,Y8MPZ8Z]a8abOZ1B1B51I<Ypq* 	 r!   c                     [        5       nUR                  5       nU(       a-  [        5       nUR                  S5      nU R	                  X$5        g g )Nr{   )r   showKeyBoardr
   getValue
searchList)r   rt   sSearchTextoInputParameterHandlerr{   s        r   showSearchListcTrakt.showSearchListi  sG    v'')%;%=")226:DOOK.	 r!   r   c           	         [        5       nU(       d,  [        5       nUR                  S5      nUR                  S5      n[        S-   U-   n[	        U5      nUR                  SS5        UR                  SS5        UR                  S[        5        UR                  S	[        5        UR                  S
S9n[        5       n[        US S9nUS S S2    H  n	U	S   n
U
S   nUS:  a  M  U
S   < SU< S3nU
S   nSU
S   S   -  nUR                  SU5        UR                  SU5        UR                  SU5        UR                  [        SUSX5        M     UR                  5         g )N
searchtextr{   zsearch/list?query=r$   r%   r&   r'   rd   re   Tr)   c                     U S   S   $ )Nlistlikes listes    r   <lambda>#cTrakt.searchList.<locals>.<lambda>  s    %-2Hr!   keyr   
item_count   namez ()description/lists/%d/itemsidstraktr`   sMovieTitler   library.png)r   r
   r   r:   r   r<   r>   rq   r?   r   sortedrn   ro   rp   rs   )r   r   r{   rt   r   sUrlrK   listesru   itemr   	itemCountsTitledescs                 r   r   cTrakt.searchListt  si   v%;%="099,GK)226:D--;)$/&&~7IJ&&|Y?&&@&&':HE ((D(9"9";$HI 4R4LDLEl+I1}"'-;F'D$uU|G'<<D#00DA#00>#00GKKV]Lcj ! 	 r!   r   Nc           
         U R                  5         [        5       nUS:H  n[        5       nUR                  S5      nUR                  S5      nU(       d  UR                  S5      nU(       d  SnU< SU< S[        < 3n[        [        U-   5      n	U	R                  SS	5        U	R                  S
S5        U	R                  S[        5        U	R                  S[        5        SU;   d  SU;   a.  U	R                  SSU R                  R                  S5      -  5        U	R                  SS9n
[        U
5      (       Ga  SU;   a  [        U
S S9n
U
 GH  nSU;   a  SUS   S   -   S-   nO9SU;   a#  US   nSUS   S   S   -   S-   US   S   -   S-   nOUS   nS US   S!   -  nUS"   nUR                  5       nS#nUS:X  a  S$nU H  nUU;   d  M  Sn  O   US%:X  a  S&nU H  nUU;   d  M  Sn  O   U(       d  [        [        U-   5      n	U	R                  SS	5        U	R                  S
S5        U	R                  S[        5        U	R                  S[        5        U	R                  SSU R                  R                  S5      -  5        U	R                  SS9n[        U5      (       a  US:X  a  S'OS(nU H  nUU;   d  M  Sn  O   U(       d  GM|  US)-  nS*U R!                  U5      US+   4-  n[#        5       nUR%                  SU5        UR%                  SU5        UR'                  [(        S,US-UUS.   5        GM     S/U;  a  [+        U5      n[-        US)-   5      nU[+        [        5      :  a  U R/                  UU5        OX[#        5       nUR%                  SU5        UR%                  SU5        UR%                  SU5        UR1                  [(        S0S1U5        U(       a  UR3                  5         g g )2Nr   r{   r`   sPager|   z?page=z&limit=r$   r%   r&   r'   rd   re   zusers//sync/rf   rg   r1   Tr)   z/me/c                     U S   $ )Nr   r   r   s    r   r   !cTrakt.getLists.<locals>.<lambda>  s    %-r!   r   zusers/me/lists/r   slugz/itemsz/likes/r   userz/lists/r   r   r   F)
FILMMOVIEOSCARCESARu   CÉSARBLOCKBUSTERCINEMAu   CINÉMAzTUEURS EN SERIES	CRITERIONr   )SERIEu   SÉRIErb   showr#   z%s (%d)r   r   r   r   zme/r}   Page suivante)rY   r   r
   r   	MAXRESULTr   r:   r<   r>   rq   rA   rU   r?   r@   r   upperdecoder   rn   ro   rp   r\   rG   r}   addNextrs   )r   countr   rt   bNextr   r{   r`   r   rK   r   r   listNamelistNameUpperfoundsearchTypeMovie	movieTyperL   searchMediamediar   ru   iPage	sNextPages                           r   r}   cTrakt.getLists  s   vq!7!9%..v6(11)<*33G<EE )0	B)'D.9&&~7IJ&&|Y?&&@&&':HEtx4/**?K$**J_J_`iJj<jk ((D(9v;; ~,GH  T>,uU|F/CChND$&!&ME#eFmE&:6&BBYNQVW\Q]^dQeehppD!&ME,uU|G/DDD = ( 0 3; 'YO%4	$5$(E! &5 3;&9O%4	$5$(E! &5 &5gn&EO#22>CUV#22<K#22?GL#223FQ#22?KRVR\R\RgRghqRrDrs#2#:#:d#:#KL<((15g&%1E*e3(, % &2
 5QJE&$++h*?|AT)UUF.E.G++88DI+88FKKV]Tkmr  tA  nB  Cm  r G#E
uqy>	3y>)MM%3.E.G++88GL+88F+88)LLL*oOfg ""$ r!   c                 (   U R                  5         [        5       nUR                  S5      n[        U5      nUR	                  SS5        UR	                  SS5        UR	                  S[
        5        UR	                  S[        5        UR	                  SS	U R                  R                  S
5      -  5        UR                  S[
        5        UR                  S[        5        UR                  SU R                  R                  S
5      5        UR                  5       n[        U5      nUS:  af  U R                  R                  S
S5        U R                  R                  U R                  R!                  S5      5        ["        R$                  " S5        g )Nr`   r$   r%   r&   r'   rd   re   rf   rg   r1   r(   r-   tokenr   r   ipv  Container.Refresh)rY   r
   r   r   r<   r>   rq   rA   rU   r=   rE   r?   r@   rF   rC   rI   rB   xbmcexecutebuiltin)r   r   r   rK   rL   rM   s         r   rk   cTrakt.getBsout  s=   !7!9%..y9)$/&&~7IJ&&|Y?&&@&&':HE&&djjF[F[\eFf8fg$$[':$$_jA$$Wdjj.C.CI.NO&..0L!AIJJ!!)R0KKtzz0078 34r!   c                 4   [         R                  " S5      SS S:  a  U$ US:X  a@   [        R                  " S[	        U5      5      R                  SS5      R                  S	5      nUR                  S
5      $ ! [         a    UR                  S
5      n N.   N1= f)Nzsystem.buildversionr      19TNFDasciiignoreunicode_escapezutf-8)r   getInfoLabelunicodedata	normalizeunicodeencoder   UnicodeDecodeError)r   elemUnicodes      r   r   cTrakt.decode#  s    23Aa8D@K$&00FMMgW_`gghxyD ;;w'' * 0;;w/Ds   ?A7 7BBc                    [        5       n[        [        5      nUS:H  n[        5       nUR	                  S5      nUR	                  S5      nUR	                  S5      n	[
        U	-   =pU(       d  UR	                  S5      nU(       d  SnSU	;  a  U
SS	U;   a  S
OS	X$4-  -  n
[        U
5      nUR                  SS5        UR                  SS5        UR                  S[        5        UR                  S[        5        SU;   d  SU;   d  SU;   d  SU;   a>  U R                  5         UR                  SSU R                  R                  S5      -  5        UR                  SS9nUR                  5       nSU;   a  US S S2   nSU;   a  US   n[        U5      n[        U5      nSnSU;  a!  U(       d  SnOU[        U5      S  nUU:  a  UnO[        US   5      nSnSn[         nSnSnS nS n[#        5       n[%        5       nUS:  Ga1  S U;   a  US:X  a  US:X  a  U R'                  5         U G
H  nSnS!U;   a   US"   nS#U;   aC  S$[(        l        US#   nU R-                  US%5      nUS&   S'   US(   US&   S)   US&   S*   4u  nn n!nOBS+[(        l        US,   n"U R-                  U"S-5      nU"S&   S'   U"S(   U"S&   S)   U"S&   S*   4u  nn n!nS.nS/nU R/                  U5      nUnUn#G	O*S0U;   Gaz  S.nS/nS1U;   a  US1   n$US#   nU R-                  US%5      nS2U;   a  S3US2   ;   a  US2   S3   S4   OS n%S2U;   a  S5US2   ;   a  US2   S5   S4   OS n&US&   S'   US&   S)   US&   S*   U$S6   U$S7   4u  nn!nn'n(S$[(        l        OzUS,   n"U R-                  U"S-5      nS2U";   a  S3U"S2   ;   a  U"S2   S3   S4   OS n%S2U";   a  S5U"S2   ;   a  U"S2   S5   S4   OS n&U"S&   S'   U"S(   U"S&   S)   U"S&   S*   4u  nn n!nS+[(        l        UU;   a  US-   nGM  UR1                  U5        U R/                  USS89nUnUn#[3        5       n)U%(       a  U)R5                  S3U%5        U&(       a  U)R5                  S9U&5        GOS:U;   d  S;U;   Ga  S.nS/nS#U;   aH  US#   nU R-                  US%5      nUS&   S'   US&   S)   US&   S*   US(   4u  nn!nn S<U -  n*S$[(        l        OS1U;   aO  US1   n$U R-                  US=5      nU$S&   S'   U$S&   S)   U$S&   S*   U$S6   U$S7   4u  nn!nn'n(S>U'U(4-  n*S$[(        l        OGUS,   n"U R-                  U"S-5      nU"S&   S'   U"S&   S)   U"S&   S*   U"S(   4u  nn!nn S<U -  n*S+[(        l        U R/                  USS89nUnUn#GOS?U;   a  S =n'n+S.nS/nS#U;   aS  US#   nU R-                  US%5      nUS&   S'   US&   S)   US&   S*   US(   4u  nn!nn S$[(        l        US1   S6   n'US1   S7   n+OBUS,   n"U R-                  U"S-5      nU"S&   S'   U"S&   S)   U"S&   S*   U"S(   4u  nn!nn S+[(        l        US@   nUSA:  a  GM  U R7                  UUU'U+U5        U(       a  U R/                  USS89nUnUn#GOS U;   a  S.nS/nS#U;   aT  US#   nU R-                  US%5      nUS&   S'   US&   S)   US&   S*   US(   4u  nn!nn S$[(        l        UR9                  U5        OBUS,   n"U R-                  U"S-5      nU"S&   S'   U"S&   S)   U"S&   S*   U"S(   4u  nn!nn S+[(        l        U(       a  U R/                  USS89nUnUn#GOSBU;   a  S.nS/nS#U;   aC  US#   nU R-                  US%5      nUS&   S'   US&   S)   US&   S*   US(   4u  nn!nn S$[(        l        OBUS,   n"U R-                  U"S-5      nU"S&   S'   U"S&   S)   U"S&   S*   U"S(   4u  nn!nn S+[(        l        U R/                  U5      nUnUn#GO@SCU;   Ga1  S#U;   af  US#   nU R-                  US%5      nUS&   S'   US&   S)   US&   S*   US(   USD   4u  nn!nn n,US1   S6   US1   S7   n+n-SEU-< SFU+< SGU< 3nS$[(        l        OGUS,   n"U R-                  U"S-5      nU"S&   S'   U"S&   S)   U"S&   S*   U"S(   USD   4u  nn!nn n,S+[(        l        U(       am  [:        R:                  " [<        R>                  " U,SH5      SSI 6 RA                  SJ5      nUU:w  a  UnURC                  [         SKU-  SL5        U R/                  U5      nUnUn#S.nS/nGOSMU;   a  S#U;   aE  US#   nU R-                  US%5      nUS&   S'   US&   S)   US&   S*   US(   4u  nn!nn S$[(        l        SNnOFUS,   n"U R-                  U"S-5      nU"S&   S'   U"S&   S)   U"S&   S*   U"S(   4u  nn!nn S+[(        l        S.nS/nU R/                  USS89nUnUn#GO[SU;   d  SOU;   a|  S%U;   a  U R-                  US%5      nS$[(        l        OU R-                  US-5      nS+[(        l        US&   S'   US(   US&   S)   US&   S*   4u  nn n!nU R/                  U5      nUnUn#S.nS/nGOSPU;   d  SQU;   a  S,U;   aC  US,   n"U R-                  U"S-5      nU"S&   S'   U"S(   U"S&   S)   U"S&   S*   4u  nn n!nS+[(        l        OBUS#   nU R-                  US%5      nUS&   S'   US(   US&   S)   US&   S*   4u  nn n!nS$[(        l        U R/                  U5      nUnUn#S.nS/nGO!SRU;   Ga  S.nS/nS nUS$:X  a  S#U;   aH  US#   nU R-                  US%5      nUS&   S'   US&   S)   US&   S*   US(   4u  nn!nn S<U -  n*S$[(        l        OS1U;   aN  US1   n$U R-                  US=5      nU$S&   S'   U$S&   S)   U$S&   S*   U$S6   U$S7   4u  nn!nn'n(S>U'U(4-  n*S$[(        l        OMS,U;   aG  US,   n"U R-                  U"S-5      nU"S&   S'   U"S&   S)   U"S&   S*   U"S(   4u  nn!nn S<U -  n*S+[(        l        U(       a  U R/                  USS89nUnUn#O  g U(       d  G	M  [3        5       n)U)R5                  SUSS-   [E        W5      -   5        U)R5                  STSUU;   a  [E        USU   5      OS 5        U)R5                  SVU5        U)R5                  SU5        U)R5                  SWW#5        U)R5                  SXU5        U)R5                  SYU5        US:  a$  U)R5                  SZU5        U)R5                  S[S\5        U RG                  UUUU#UW!UU)5        US-  nUS-   nX:  d  G
M    O   US S S2    H  n.U RI                  U.5        M     UU:  a  [E        US-   5      n/[3        5       n)U)R5                  SU	5        U)R5                  SU5        U)R5                  SU/5        X:  a  U RK                  UU/5        OURM                  [         S]S^U)5        OySU;  as  [        U5      U:  ad  [3        5       n)U)R5                  SU	5        U)R5                  SU5        U)R5                  S[        U5      U-   5        URM                  [         S]S^U)5        U(       a  URO                  5         g g !   Sn GN= f)_Nr   limiter{   r`   r   r#   limitz%spage=%s&limit=%d?&r$   r%   r&   r'   rd   re   z/users/r   z/my/z/recommendations/rf   rg   r1   Tr)   r   r   zX-Pagination-PagezX-Pagination-Page-Countrw   r   z	/watched/z/collection/last_collected_atr   r   showsr   r   yearimdbtmdbr|   rb   movies
showSearchglobalSearchz	/history/episodeimagesposterfullfanartseasonnumber)r   backdropz/watchlist/z/favorites/z(%s)episodesz(S%02dE%02d)z
/playback/progress   z/played/z/calendars/first_airedSEz - z%Y-%m-%dT%H:%M:%S.%fZ   z%d-%m-%Yz*[COLOR orange]En diffusion le : %s[/COLOR]r   z/search/getBseasonsz/popularz
/boxofficez	/trendingz/lists/sIDidsTmdbIdfiler   r   
ResumeTime	TotalTime100r   r   )(r   r\   r   r
   r   r:   r   r<   r>   rq   rY   rA   rU   r?   getResponseHeaderr@   rp   setr   setEpisodeProgressr   CONTENTgetLocalizedTitler   addr   rn   setMediaProgressappendr   rH   strptimestrftimerr   rG   	getFoldersetSaisonWatchedr   r   rs   )0r   r   r   rt   	maxResultr   r   sCurrentLimitr{   r`   traktUrlr   rK   rL   sHeadersr   rM   iMaxPagesKey	sFunctionsIdr   r   sTmdbsOldDatetmdbIdssaisonsWatchedir  sDater   sTraktsYearsImdbrb   sFileepssPostersFanartsSeasonsNumberru   sExtrasEpisodesFirst_airedsSaisonsaisonWtachedr   s0                                                   r   r   cTrakt.getTrakt2  s   v	N	q!7!9.77A%..v6(11)<!G++*33G<EE'!-##u1```H)(3&&~7IJ&&|Y?&&@&&':HED 0FdNFY]aFa**?K$**J_J_`iJj<jk&..$.?"446 $t+'"-L (*01EE
 L!$H4  !  ,C,>,?@y !8$=>?H 	
%AI d" A%%1*++-!!T)# !"5 6 {), y!%!7!7g!F6:5k'6JDQWLZ^_dZeflZmostyoz  |B  pC  7C3ue), !'
!%!7!7x!H6;El76KUSY]\abg\hio\prwx}r~  @F  sG  7G3ue ,I(C![[0F!'J"E
 !D( ,I(C A~	l y!%!7!7g!FFNRVFV[cgkltgu[u$x.":6"B{FNRVFV[cgkltgu[u$x.":6"B{AEeWAUW[\aWbciWjlpqvlwx~l  BE  FN  BO  QT  U]  Q^  B^>ugw), !'
!%!7!7x!HGOSXGX]einowix]x%/(";F"C  CGOSXGX]einowix]x%/(";F"C  C6;El76KUSY]\abg\hio\prwx}r~  @F  sG  7G3ue), ' %q KK&![[[>F!'J"E.E.G+/<<XwO/<<ZQ"d*mt.C ,I(C{ y!%!7!7g!F6:5k'6JDQVKX^L_aefkalmsatvz  |B  wC  7C3ue"(U!3),"a	l!%!7!7:!FADUGATVYZ_V`agVhjmnsjtu{j|  B  CK  L  NQ  RZ  N[  B[>ugw"0Wg4F!F), !'
!%!7!7x!H6;El76KUSX\Z`Machincopvcwy~  @F  zG  7G3ue"(U!3),![[[>F!'J"E "T))--Gh ,I(C{ y!%!7!7g!F6:5k'6JDQVKX^L_aefkalmsatvz  |B  wC  7C3ue),"#I,x"8#$Y<#9 !'
!%!7!7x!H6;El76KUSX\Z`Machincopvcwy~  @F  zG  7G3ue),  !}H  !| ))%(HU!%VT!B%+
 & !D( ,I(C{ y!%!7!7g!F6:5k'6JDQVKX^L_aefkalmsatvz  |B  wC  7C3ue),
 '--a0 !"'
!%!7!7x!H6;El76KUSX\Z`Machincopvcwy~  @F  zG  7G3ue),!%VT!B%+
 &4' !-I(C{ y!%!7!7g!F6:5k'6JDQVKX^L_aefkalmsatvz  |B  wC  7C3ue), !'
!%!7!7x!H6;El76KUSX\Z`Machincopvcwy~  @F  zG  7G3ue),![[0F!'J"E"d*{ y!%!7!7g!FDHKPWDXZ^_dZeflZmostyoz  |B  pC  EI  JP  EQ  ST  Ub  Sc  EcAue\,-iL,BAiLQYDZ298V!L), !'
!%!7!7x!HDI%LQXDY[`af[ghn[oqvw|q}  E  rF  HM  NT  HU  WX  Yf  Wg  EgAue\), ( 1 1DMM,Pg4hijkl4m o x x  zD  !E#u,',H LL:fiq:qs  A!%V!4!'J"E ,I(C4'{ y!%!7!7g!F6:5k'6JDQVKX^L_aefkalmsatvz  |B  wC  7C3ue),$1	 !'
!%!7!7x!H6;El76KUSX\Z`Machincopvcwy~  @F  zG  7G3ue),$0	,![[[>F!'J"E(D0J$4F$!%!7!77!C),!%!7!78!D),23E(72CQvYPQRWPXY_P`bcdibjkqbr2r/FE5%![[0F!'J"E ,I(C!T)[D-@$ !'
!%!7!7x!H6;El76KUSY]\abg\hio\prwx}r~  @F  sG  7G3ue), y!%!7!7g!F6:5k'6JDQWLZ^_dZeflZmostyoz  |B  pC  7C3ue),![[0F!'J"E ,I(C% ,I(C!Fs{!Q;#$V9D%)%;%;D'%JF:>u+g:NPTUZP[\bPceijoepqwexz~  @F  {G  ;G7FE5%&,%7F-0FN&!^"#I,C%)%;%;Az%JFEHZPWEXZ]^cZdekZlnqrwnxy  oA  CF  GO  CP  RU  V^  R_  F_BFE5'7&4'8J%JF-0FN"a<$%gJE%)%;%;E8%LF:?,w:OQVW\Q]^dQeglmrgstzg{  ~C  DJ  ~K  ;K7FE5%&,%7F-0FN!%VT!B%+
 &  6.E.G++88D#IPSTZP[D[\+88PTXYPYAdG_cd+88EJ+88F+88G+88E+88zR!|/<<\8T/<<[%P NN4feYuVmnAID!1HE)i	 "r	 "0"!5%%m4 "6 x{+	*A*C''44YH'44VTB'44WiH$MM%3LL*oOfg.(:s<?PS\?\*A*C''44YH'44VTB'44Xs=?QT]?]^_j/Kbc""$ Q
# "s   3yyc                    U R                  5         [        [        S-   5      nUR                  SS5        UR                  SS5        UR                  S[        5        UR                  S[
        5        UR                  SS	U R                  R                  S
5      -  5        UR                  SS9n[        U5      S:X  a  g [        5       n[        5        n[        5       nU H  nUS   S   nUS   S   nUR                  U5      n	SXUS   S   4-  n
US   nUS:  a  M>  SnUS-  n0 nX}S'   XS'   SUS'   XS'   XS'   UR                  U5        X;  d  Mt  UR                  U	5        US   S   S   nSUS '   XS!'   U(       a  XS'   S"Xx4-  US'   S#X4-  US'   OX}S'   XS'   S$US%'   S$US&'   UR!                  U5        M     S S S 5        g ! , (       d  f       g = f)'Nzsync/playback/episodesr$   r%   r&   r'   rd   re   rf   rg   r1   Tr)   r   r   titler  r  %s_S%02dE%02dr	  r  r  r#   d   titleWatchedr  sitepointrM   r   r   4cattmdbIdz%s S%dz%s_S%dr  siteurlfav)rY   r   r:   r<   r>   rq   rA   rU   r?   r@   r   r   r  rH  insert_resumer   insert_watched)r   rK   playbackHistoryutildb	titleListr   r   rA  tvShowTitleWatchedsTitleWatchedr  	totalTimemetar  s                  r   r  cTrakt.setEpisodeProgress  s)    *'4L*LM&&~7IJ&&|Y?&&@&&':HE&&djjF[F[\eFf8fg)11T1B1$ wUbI( vw/	*84%)%6%6v%>" /3EPUV_P`aiPj2k k , a< 	#C< &W'4^$-V (W )W  & &6MM"45#FmE26:G"%DK%,N)0X(0F3D(DW/7;M:W/W^,(.W/A^,&2DO".DK %%d+e )	 p 	q Up 	s   A=GA*G
Gc                    [        5       nUS   nUS   nUS   nUR                  U5      nUS   S   n0 nXxS'   SUS'   S	US
'   S	US'   S	US'   S	US'   [        5        n	U Hs  n
U
S   nSX[4-  nSXk4-  nSUS'   XS'   XS'   XS'   U	R                  U5        U
S   nU H2  nUS   nSUS'   SUU4-  US'   SUU4-  US'   U	R                  U5        M4     Mu     S S S 5        g ! , (       d  f       g = f)Nr   seasonsrE  r   r   rM  r  rI  r  rN  rO  	seasonUrl
seasonFuncr	  z%s S%02dz%s_S%02drK  rL  r  rH  r  8z%sE%02d)r   rH  r   rQ  )r   watchedShowrS  r   saisonsr   rV  r  rY  rT  saison	numSaisonsaisonTitlesaisonTitleWatchedr  r  numEps                    r   r&  cTrakt.setSaisonWatched  s\   w6"i(g!..v6u+f% X%V&Y"U([)\ Ub!"8,	(F+>>%/3E2Q%Q"!U!*X +W'9^$ !!$'!*-'G#H-E"%DK$-e0D$DDM+48JE7R+RD(%%d+  (! " 2 	3 U2 	s   A:C
C-c                    US:  a  g [        5       nSnUS-  nUR                  U5      nU(       d  U(       a  SXU4-  n0 n	X)S'   XS'   SU	S'   XYS	'   XyS
'   [        5        n
U
R                  U	5        S S S 5        g ! , (       d  f       g = f)Nr  r#   rG  rF  rE  rH  r  rI  rJ  rM   )r   rH  r   rP  )r   r/  r   r<  r?  r  rS  rX  rW  rY  rT  s              r   r!  cTrakt.setMediaProgressI  s    a<w	C<))&1h+}x.PPMW,^%V W!WUbT"  	 U 	s    A;;
B	c                 :   U R                  5         [        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                  SS5        UR                  SS5        UR                  S	[        5        UR                  S
[        5        UR                  SSU R                  R                  S5      -  5        UR                  SS9n[        U5      n	Sn
U	S:  a  U[        U5         S    H  nSU;   d  SU;   a  US   nS[        l        O  g SU R                  U5      [        U5      4-  n[!        5       nUR#                  SU[%        U5      -   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'                  U[(        XSSSU5        U
S-  n
M     UR+                  5         g )Nr`   r  r   r   r$   r%   r&   r'   rd   re   rf   rg   r1   Tr)   r   r\  
collectionwatchedr	  5z
%s - S%02dsNumrE  getBepisodesr   r#   )rY   r   r
   r   r   r<   r>   rq   rA   rU   r?   r@   r\   r   r  r   r   rn   rG   r%  rp   rs   )r   rt   r   r   r8  r,  r   rK   rL   rM   rn  r3  r=  sTitle2ru   s                  r   r  cTrakt.getBseasonsf  s   v!7!9%..y9&//7%..u5+44\B
)$/&&~7IJ&&|Y?&&@&&':HE&&djjF[F[\eFf8fg&..$.?L!AI!#d),Y74'9+<kG%(FN'DKK,>G+MM*A*C''44Ys7|@ST'44UDA'44VTB'44VUC'44WgF'44\:Nt_gnVXZ\^uv	# 8& 	 r!   c                     SSK Jn  U" 5       nUS:X  a  SnOUS:X  a  SnUR                  WUS   S   5      nU(       a  U$ US	   $ )
Nr   cTMDbr   tvr   rb   r   r   rE  )resources.lib.tmdbrt  get_namebyid)r   r   whatrt  grabsTyperE  s          r   r  cTrakt.getLocalizedTitle  sS    ,w7?EXE !!%eV)<=u04=0r!   c                 F   U R                  5         [        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R                  S5      nUR                  S5      nS[        l        [        U5      n	U	R                  SS	5        U	R                  S
S5        U	R                  S[        5        U	R                  S[        5        U	R                  SSU R                  R                  S5      -  5        U	R                  SS9n
[        U
5      nSnUS:  a  U
[        U5         S   [        U5         S    H  nSU;   a  US   nU R                  U5      nO*SU;   a"  US   US   pU< SU R                  U5      < 3nO  g [!        5       nUR#                  SU[%        U5      -   5        UR#                  SU5        UR#                  SU5        U R'                  USXSSSU5        M     UR)                  5         g )Nr`   rE  r  r   rn  r   r   r$   r%   r&   r'   rd   re   rf   rg   r1   Tr)   r   r\  r  rk  r	  rl  playsz Lectures - r  r  r   )rY   r   r
   r   r   r  r   r<   r>   rq   rA   rU   r?   r@   r\   r   r   rn   rG   r%  rs   )r   rt   r   r   r   r8  r,  rn  r   rK   rL   rM   r=  r3  rp  sPlaysru   s                    r   ro  cTrakt.getBepisodes  s   v!7!9%..y9'009&//7%..u5%..v6+44\B
)$/&&~7IJ&&|Y?&&@&&':HE&&djjF[F[\eFf8fg&..$.?L!AI!#d),Y7D	B:N4'kG"kk&1G$&&'k1W:V6<dkk&>QRG *A*C''44Ys7|@ST'44VUC'44\:Nt^W\SUWY[rs' O* 	 r!   c	           	      8   UR                  SU5        UR                  SU5        UR                  S5      n	[        R                  S:X  a  UR	                  X%USU	SU5        g [        R                  S:X  a  UR                  X%USU	SU5        g [        R                  S:X  a  UR                  X%USU	SU5        g [        5       n
U
R                  U5        U
R                  U5        U
R                  U5        U
R                  U5        U
R                  S	5        U
R                  U5        U
R                  U5        UR                  S5      n	UR                  S
5      nU	(       a  U
R                  U	5        U(       a  U
R!                  U5        UR#                  X5        g )Nr   r  r  r|   zno-image.pngr   r   rm  rc   r
  )rn   r   r   r  addMovieaddTV	addSeasonr	   setSiteNamesetFunctionsetTitlesetFileNamesetIcon	setImdbId	setTmdbIdsetThumbnail	setFanart	addFolder)r   rt   r.  r   r8  r-  r7  r/  ru   r:  oGuiElementr;  s               r   r%  cTrakt.getFolder  sT   ,,]FC,,Y>)228<>>S MM#&.'2Ofg^^s"JJsv~wLcd^^s"NN36>7BPgh%-K##C(##I.  (##E*,!!%(!!%( .66x@G-66zBG((1%%g.NN;@r!   c                 ^   [        5       nUR                  S5      nUR                  S5      n/ n/ nSU;  aa  UR                  [        S-   5        UR                  U R                  R                  S5      S-   U R                  R                  S5      -   5        SU;  aa  UR                  [        S-   5        UR                  U R                  R                  S5      S-   U R                  R                  S5      -   5        S	U;  aa  UR                  [        S	-   5        UR                  U R                  R                  S5      S-   U R                  R                  S
5      -   5        UR                  [        S-   5        UR                  U R                  R                  S5      S-   U R                  R                  S5      -   5        SU;   ag  UR                  [        S-   5        UR                  SU R                  R                  S5      -   S-   U R                  R                  S5      -   S-   5        SU;   ag  UR                  [        S-   5        UR                  SU R                  R                  S5      -   S-   U R                  R                  S5      -   S-   5        S	U;   ag  UR                  [        S-   5        UR                  SU R                  R                  S5      -   S-   U R                  R                  S
5      -   S-   5        UR                  [        S-   5        UR                  SU R                  R                  S5      -   S-   U R                  R                  S5      -   S-   5        U R                  R                  USU-  5      nUS:  a	  XF   U l        U R                  $ )Nr`   r   zsync/favoritesiv   r   zsync/watchlistr   zsync/collectionr   sync/historyihv  zsync/favorites/removerl   iv  rm   zsync/watchlist/removezsync/collection/removesync/history/removez
Trakt - %sr   )	r
   r   r"  r:   rA   rB   rC   VSselectr   )r   r   r   r   displangrets          r   
getContextcTrakt.getContext  s   !7!9%..y9'00? 4'KK"223KK

))%0369J9J59QQR4'KK"223KK

))%0369J9J59QQRD(KK"334KK

))%0369J9J59QQR 	Gn,-DJJ%%e,s2TZZ5F5Fu5MMNt#KK"99:KK

(9(9%(@@3FIZIZ[`Iaadnnot#KK"99:KK

(9(9%(@@3FIZIZ[`Iaadnno$KK"::;KK

(9(9%(@@3FIZIZ[`Iaadnno 	G334MDJJ$5$5e$<<sBTZZEVEVW\E]]`jjkkk""4)>?8!YDN~~r!   c                     SS/nU R                   R                  5       nSnUR                  SU5      nUS:  a	  X   U l        U R                  $ )Nr   r   )FilmsSeriesr   r   )rC   Dialogselectr   )r   r  dialog2dialog_selectr  s        r   getTypecTrakt.getType,  sM    '"++$$&)nnWm489DL||r!   c                     US;  a  gUR                  SS5      R                  SS5      R                  SS5      R                  SS5      R                  S	S5      nU$ )
N)r|   r   3rK  r_  r   r|   r   r   r   r  rK  r_  )replace)r   r{   rz  s      r   convertCatToTypecTrakt.convertCatToType8  sb    00S(+33CAII#wW__`celmuuvy  |C  Dr!   c                 b   U R                  5         [        5       nU(       a  UnO0UR                  S5      nU(       d  U R                  5       nU(       d  g UR                  S5      nU(       d  U R	                  5       nSnU R                  US9n	U	S:X  a  g US:X  d  US:X  Ga/  U	S:X  a  U R                  R                  S	5      S
:X  a  g UR                  S5      n
UR                  S5      nU(       d&  [        R                  " SU
5      R                  S5      nU(       d  UR                  S5      nU(       d7  UR                  S5      n[        R                  " SU5      R                  S5      nO1U R                  R                  S5      S
:X  a  g UR                  S5      n
US:X  a
  [        S-   nO	[        S-   nU
(       d  UR                  S5      n
OUR                  S5      n
UR                  S5      nUR                  S5      nU(       dz  U(       d  [        U R                  X5      5      nU(       d  g U	SSU00/0nU(       a  U	SU0S[        U5      0/S./0nU(       a#  U	SU0[        U5      S[        U5      0/S./S./0nO	U	SSU00/0nUS:X  a9  US:X  a  g US-  nU(       a  S X9S S SU0S[        U5      0/S.0nOS X9S S SSU000n[        U5      nUR                  U5        UR!                  S!S"5        UR!                  S#S$5        UR!                  S%["        5        UR!                  S&[$        5        UR!                  S'S(U R                  R                  S)5      -  5        U H  nUR'                  UUU   5        M     UR)                  5       nS*nUS+:w  a  U[        R*                  [        R,                  4;   nU(       a  [.        R0                  " U5      n US,   S-:X  a  S.n US/   S0   S:  d  US/   S1   S:  d  US/   S   S:  a  S2n US3   S0   S:  d  US3   S1   S:  d  US3   S   S:  a  S4n US5   S0   S:  d  US5   S1   S:  a  S6n US7   S0   S:  d$  US7   S1   S:  d  US7   S8   S:  d  US7   S   S:  a  S9nUR3                  S:5      nS;U;   a  UR                  S<5      nU(       a*  U R5                  [        S=-   U-   [        R6                  S>9  S6n[9        5       R;                  5         0 nUR                  S?5      US@'   UUSA'   [=        5        nUR?                  U5        S S S 5        OpSU;   aj  USB:X  ad  SCn0 nU
USD'   UR                  S?5      US@'   UUSA'   SEUSF'   SGUSH'   SGUSI'   SGUSJ'   SGUSK'   UUSL'   [=        5        nURA                  U5        S S S 5        U(       a  U RB                  RE                  USM5        U(       a  [F        RH                  " SN5        g !    GN= f!    GN= f!    GN= f!    GN= f!    GN= f! , (       d  f       Nw= f! , (       d  f       N= f)ONsActionr{   F)r{   r   
SetWatchedSetProgressr   r9   r8   tvShowTitler<  z+(?i)( s(?:aison +)*([0-9]+(?:\-[0-9\?]+)*))r   r?  	sFileNamezB(?i)(?:^|[^a-z])((?:E|(?:\wpisode\s?))([0-9]+(?:[\-\.][0-9\?]+)*))r7   zscrobble/stopr  r   sImdbIdr  r   r   r	  )r   r\  )r	  r  r   r   rG  r  r$   r%   r&   r'   rd   re   rf   rg   r1   u   Aucune action réaliséer   actionpauseu   Progression enregistréeaddedr   r  u   Ajouté avec succèsupdatedu   Mise à jour avec succèsdeletedu   Supprimé avec succèsexistingr\  u   Entrée déjà présentesReloadr  r  zsync/playback/)requestTyperW  rH  rM  r|   TrE  r  rI  r  rN  rO  r]  r^  rL  r   r   )%rY   r
   r   r  r  r  rA   rU   researchgroupr:   r\   	getTmdbIDr   r;   r<   r>   rq   r=   r?   REQUEST_TYPE_POSTREQUEST_TYPE_GETjsonloadsexist	getActionREQUEST_TYPE_DELETEr   
delViewingr   del_watchedrQ  rC   rI   r   r   )r   Actionr?  r  r  r   r  rz  r<  
sTraktTyper   r  r7  sTMDBsPostrK   arL   rN   r*   bReloadr  rY  rT  s                           r   r  cTrakt.getActionA  s   !7!9G,55i@G//+&//7LLNE***6
 \!V}%<W$::(()LMQXX/88G099)D ii(UW]^ddefgG5>>zJH 6 ? ? LI!yy)moxy  AB   CH::(()KLPWW/88E&!O3!N2/88G+44]CF '//	:&//	:DNN6>?565/":!;<E#vuoHVYZaVbKcJd&e%fg#vuoVYZaVbrz|  AI  }J  rK  qL  LM  KN  'O  &P  Q565/":!;<E ]"1}OH#H"oPUemorszo{d|c}?~#H"oPU?WX *'2&&{3&&~7IJ&&|Y?&&@&&':HE&&djjF[F[\eFf8fgA((E!H5  '..0*2$)J)JOLlLl(mmJ#zz,7)W46E(2Q6,w:OPZ:[^_:_copwcx  zA  dB  EF  dF2E	*84q8L<ST^<_bc<cgst}g~  @G  hH  KL  hL7E	*84q8L<ST^<_bc<c4E
+H59\*=UV`=ade=eiu  wA  jB  CL  jM  PQ  jQ  Ua  bl  Um  nu  Uv  yz  Uz6E
 )..y9 !G+(11%8Cw)99C?OrOrs0 J!!# D#9#B#B?#SD "DN"t$  w&| &W'='F'F'W^$!&X-V".Y*U$0[!%1\"#UUb%%d+  KKug. 34O



( $ UsT   W' *&W/ &W7 8W? 2X XX 'W,/W47W<?XX
X 
X.c                     g )N)	r   r   rG   addParametersr?   r  r  itemsaddItemValues)r   r/  r  rK   rL   rY  r   values           r   getTmdbInfocTrakt.getTmdbInfo  s    r!   c                 ,   SSK Jn  U" 5       nUS:X  a  SnOUS:X  a  SnUnUS:X  aJ  [        R                  " SU5      nU(       a,  [	        UR                  S5      5      nUR                  US5      nUR                  XU5      n [        U5      $ !    g= f)	Nr   rs  r   ru  r   rb   r   z(\([0-9]{4}\)))	rv  rt  r  r  rG   r  r  get_idbynamer\   )	r   r   rz  r6  rt  ry  r   rrY  s	            r   r  cTrakt.getTmdbID  s    ,wGEhE 2:		*F3A1771:b1  u5	t9	s   
B B)	__sAction__sTitle__sType)r   r   )r   N)F)r   )'__name__
__module____qualname____firstlineno__r  r   rA   r   rC   r   rP   rY   rT   rw   r   ri   rj   r   r   r}   rk   r   r   r  r&  r!  r  r  ro  r%  r  r  r  r   r  r  r  r  __static_attributes__r   r!   r   r   r   *   s    GGEXF
5n#XJ70!d!P,!^E!P#!Lk%\6(V%vJ\*\:)!X1,1fA@/b
  "b1OLmLm qhBr!   )$r   r  rH   r   r   r  resources.lib.comaddonr   r   r   r   resources.lib.dbr   resources.lib.gui.guir   resources.lib.gui.guiElementr	   +resources.lib.handler.inputParameterHandlerr
   ,resources.lib.handler.outputParameterHandlerr   $resources.lib.handler.requestHandlerr   resources.lib.utilr   resources.lib.viewingr   rp   	SITE_NAMEr:   r>   rE   rq   rU   r   r   r   r!   r   <module>r     s{     	     E E   & 4 N P @ $ * 	
!
LO
G56	B Br!   