
    `i                         S SK r S SKrS SK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	rS
rSrSrS rSS jrS rS rS rg)    N)progressaddondialog)cGui)
cHosterGui)cInputParameterHandler)cOutputParameterHandler)cRequestHandler)cParserdebrid_linkz![COLOR orange]Debrid Link[/COLOR]u   Débrideur de lien premiumhttps://debrid-link.frc                     [        5       n [        5       nSnUS-   S4nUS-   S4nUS-   S4n[        5       nUR                  SUS   5        U R	                  [
        US	   S
SU5        UR                  SUS   5        U R	                  [
        US	   SSU5        UR                  SUS   5        U R	                  [
        US	   SSU5        U R                  5         g )Nr   z)/api/v2/downloader/list?page=0&perPage=20	showLiensz&/api/v2/seedbox/list?page=0&perPage=20z/infos/downloadershowInfositeUrlr      Liensz	films.pngMagnetsu    Information sur les hébergeurs )r   r   r	   addParameteraddDirSITE_IDENTIFIERsetEndOfDirectory)oGuioAddonURL_HOSTALL_ALLALL_MAGNETSALL_INFORMATIONoOutputParameterHandlers          K/home/kodi/.kodi/addons/plugin.video.vstream/resources/sites/debrid_link.pyloadr!      s    6DWF'HEE{SGFFTK"55zBO57((GAJ?KKWkCZ[((KNCKKQKI`a((OA4FGKK!35WYdf}~    c           
         [        5       n[        5       nUR                  S5      nUR                  S5      nU(       d  Sn[        U5      nS[	        5       R                  S5      -   n[        U5      nUR                  SS5        UR                  SU5        [        R                  " UR                  5       5      nUS	   S
:X  a{  UR                  [        5        US   S:X  a]  [        5       n[        U5      nUR                  SS5        UR                  SU5        [        R                  " UR                  5       5      nUS	   S:X  Ga  [        5       R                  [         5      n	[#        5       n
US    H  nU	R%                  U	['        US   5      5        U	R)                  5       (       a    OSU;   a6  UR                  [        SUS   -   S-   5        US   S   S   nUS   S   S   nO
US   nUS   nU
R+                  SU5        U
R+                  SU5        UR-                  [        SUSSSU
5        U	R/                  U	5        M     U (       d{  US-  n[0        R2                  " SS[5        U5      -   U5      n[#        5       n
U
R+                  SU5        U
R+                  SU5        UR7                  [        SS[5        U5      -   U
5        UR9                  5         g )Nr   numPager   zBearer hoster_debridlink_tokenAcceptzapplication/jsonAuthorizationsuccessFerrorbadTokenTvaluenameseedboxz[COLOR red]z[/COLOR]filesdownloadUrlsMovieTitleshowHosters r   zpage=([0-9])zpage=r   zPage )r   r   getValueintr   
getSettingr
   addHeaderEntryjsonloadsrequestaddTextr   
RenewTokenr   VScreate	SITE_NAMEr	   VSupdatelen
iscanceledr   
addEpisodeVScloseresubstraddNextr   )sSearchr   oInputParameterHandlersUrlr$   Token_debrid_linkoRequestHandlerr	New_token	progress_r   aEntrysTitlesUrl2s                 r    r   r   ,   s   6D35!**95D$--i8G'lG!EG$6$67P$QQ%d+O""8-?@""?4EF

?**,-A	)_%gJ*$"I-d3O**85GH**?IF

?2245A	)J''	2	"9";jFy#fVn*=>##%%D _mfVn.Lz.YZ+F3w*=9  }-#00EB#00GOOO]FBBPghi(' !* qLG66.'CL*@$GD&=&?##00DA#00GDLL+wW7MOfgr"   c                  L   [        5       n [        5       nUR                  S5      nUR                  S5      nUn[        5       R	                  U5      nU(       a<  UR                  U5        UR                  U5        [        5       R                  XXC5        U R                  5         g )Nr   r0   )	r   r   r3   r   checkHostersetDisplayNamesetFileName
showHosterr   )r   rH   rI   r0   
sHosterUrloHosters         r    r1   r1   j   s    6D35!**95D(11-@KJl&&z2G{+K(zGr"   c                     [        5       n [        5       nUR                  S5      n[        U5      nUR	                  5       nSn[        5       nUR                  XE5      nUS   (       d  U R                  [        5        US   (       a  [        US   5      n[        5       R                  [        5      n	[        5       n
US    H  nU	R                  X5        U	R                  5       (       a    O`US   R!                  SS5      R!                  SS5      nUS   nU< S	U< S
3nU
R#                  SU5        U R                  [        U5        M     U	R%                  U	5        U R'                  5         g g )Nr   zJ<i class="sprite sprite-.+?"></i>.+?<li tooltip="([^"]+)" class="([^"]+)">r   r   on
DisponibleoffzNon Disponiblez ()r0   )r   r   r3   r
   r9   r   parser:   r   r?   r   r<   r=   r	   r>   r@   replacer   rB   r   )r   rH   rI   rK   sHtmlContentsPatternoParseraResulttotalrN   r   rO   sDisponible
sHebergeursDisplayTitles                  r    r   r   z   s<   6D35!**95D%d+O"**,L[HiGmmL3G1:_%qzGAJJ''	2	"9";ajFy0##%% )++D,?$+GE3C$D J+5{CM#00NLL-8 ! 	)$ - r"   c                     [        5       R                  S5      n U S:X  Ga  [        [        S-   5      nUR	                  S5        UR                  SS5        UR                  S[        5       R                  S5      5        [        R                  " UR                  5       5      n[        5       R                  S	US
   -   S-   5        [        [        S-   5      nUR	                  S5        UR                  SS5        UR                  S[        5       R                  S5      5        UR                  SUS   5        UR                  SS5        [        R                  " UR                  5       5      n[        5       R                  SUS   5        [        5       R                  SUS   5        US   $ [        [        S-   5      nUR	                  S5        UR                  SS5        UR                  S[        5       R                  S5      5        UR                  SU 5        UR                  SS5        [        R                  " UR                  5       5      n[        5       R                  SUS   5        US   $ )Nhoster_debridlink_tokenrefreshr2   z/api/oauth/device/coder   zContent-Typez!application/x-www-form-urlencoded	client_idhoster_debridlink_IDzFAllez sur la page : https://debrid-link.fr/device
 et rentrer le code 	user_codez pour autorisez la connectionz/api/oauth/tokencodedevice_code
grant_typez&http://oauth.net/grant_type/device/1.0refresh_tokenr%   access_token)r   r5   r
   r   setRequestTyper6   addParametersr7   r8   r9   r   VSok
setSetting)
refreshTokrK   rL   s      r    r;   r;      s   ##$DEJR)(5M*MN&&q)&&~7Z[%%k573E3EF\3]^JJ..01_bcdobpp  tS  S  	T)(5G*GH&&q)&&~7Z[%%k573E3EF\3]^%%fa.>?%%l4\]JJ..01;Q=OP4a6GH   *(5G*GH&&q)&&~7Z[%%k573E3EF\3]^%%ozB%%lODJJ..014a6GH  r"   )r2   )r7   rC   resources.lib.comaddonr   r   r   resources.lib.gui.guir   resources.lib.gui.hosterr   +resources.lib.handler.inputParameterHandlerr   ,resources.lib.handler.outputParameterHandlerr	   $resources.lib.handler.requestHandlerr
   resources.lib.parserr   r   r=   	SITE_DESCr   r!   r   r1   r   r;    r"   r    <module>r      sT     	 : : & / N P @ (/	(	#,;| &!R!!r"   