
    `iR                         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
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Jr   " S	 S
5      rg)    N)listitemaddondialogwindowisNexusprogressVSlogsiteManager)cContextElement)cGuiElement)cInputParameterHandler)cOutputParameterHandler)cPluginHandler)	QuotePluscUtilc                   r   \ rS rSrS rSr/ r/ r/ r\	" 5       r
\
R                  S5      r0 r\R                  " 5       rS rSS\" 5       SS4S jrS>S jrS>S	 jrS>S
 jrS>S jrS>S jrS>S jrS?S jr\" 5       S4S jrS>S jrS>S jrS>S jrS>S jrS>S jr S r!S r"S@S jr#SAS jr$S r%S r&SBS jr'S>S jr(S r)S r*S>S jr+S>S  jr,S>S! jr-SCS" jr.S>S# jr/S>S$ jr0S>S% jr1S& r2S>S' jr3S>S( jr4S) r5S>S* jr6SDS+ jr7S, r8S- r9S. r:S/ r;S0 r<S1 r=S2 r>S3 r?S?S4 jr@S?S5 jrAS6 rBSES7 jrCSFS8 jrDSFS9 jrES: rFS; rGS< rHS=rIg)GcGui    display_season_titlec                     U R                   $ N)episodeListingselfs    E/home/kodi/.kodi/addons/plugin.video.vstream/resources/lib/gui/gui.pygetEpisodeListingcGui.getEpisodeListing"   s    """    r   Nc                    [        5       nUS:w  a  US:w  a  U[        l        U
b  UR                  U
5        UR	                  U5        UR                  U5        UR                  U5        US:X  a   UR                  UR                  5       5        O"UR                  U5        UR                  U5        UR                  U5        S nUS:X  az  [        5       nUR                  S5      nU(       a   [        U5      nUR                  U5        Un
UR                  S5      nU(       a    [        U5      nUR                  U5        Un	O$O#UR                  SU	5        UR                  U	5        U
S:X  aE  [        5       nUR                  S5      nU(       a#   [        U5      nUS:X  a  UR!                  S5        UR#                  U5        UR                  S	5      nU
(       a  U(       d  [%        S
5      R'                  S5      S:w  a~  U	(       d,  U(       d
  [        5       n [        UR                  S5      5      n	SU	s=:  a  S:  a>  O  O;U(       d
  [        5       nUR                  S	5      nU(       a  UR                  S	U5        UR                  SU5        UR                  S5      nU(       a1  UR)                  U5        UR+                  UR                  S5      5        UR                  S5      nU(       a  UR-                  SS5        UR                  S5      nU(       a  UR/                  U5        OUR/                  U5         U
b  [        U
5      OS nU
(       a  U(       d  U(       d  UR1                  5         OUS:X  a  [%        S
5      R'                  S5      S:w  ay  UR3                  5       nUR5                  5       nUR1                  5         U(       a  UR                  U5        U(       a  UR                  U5        OU(       a  UR                  U5         U R7                  X5      $ !    GN= f!    GN= f!    GN= f!   Sn	 GN= f!   S n N= f! [8         a!  n[;        S[=        U5      -   5         S nAg S nAff = f)Ndirlinkr   sCatsMeta      TsTmdbIdu'  searchtruer      sFav
ResumeTime	TotalTime	isViewingsMovieTitle   zaddNewDir error: )r   r   CONTENTsetCatsetSiteNamesetFunctionsetIconsetThumbnailgetIcon	setPostersetDescriptionr   getValueintsetMetaaddParametersetTitleTMDBsetTitler   getPropertysetResumeTimesetTotalTimeaddItemPropertiessetFileNamegetInfoLabelgetThumbnail	getPoster	addFolder	Exceptionr	   str)r   TypesId	sFunctionsLabelsIcon
sThumbnailsDescoOutputParameterHandlerr$   r#   oGuiElementoInputParameterHandlersCat_insMeta_insCatFromr'   
resumeTimer/   sTitlesCat_i	old_thumb
old_postererrors                           r   	addNewDircGui.addNewDir%   s   !m5=TV^DLt$$	*E"$$[%8%8%:;$$Z0!!*-""5) "&6>%;%=",55f=G!'lG&&w/"D .66w?H"8}H''1$E	  $00%@& 19%;%="-66v>H"8}H1}#006
 	V$ *229=e}((2f<11G1I." #$:$C$CG$L M u=q=11G1I.4==iHG/<<YP,,VY?,55lC
%%j1$$%<%E%Ek%RS ,44[A	))+t<(11-@##F+##F+	"&"2SYF g((* 1!:!:8!D!N'446	(224
((* ,,Y7))*5 !#--i8	4>>+GGO " !B	F6  	4%E
233	4sT   -P$ $P, "P4 P< ?Q Q $P),P14P9<QQ
Q:Q55Q:c                     UR                  S5      nUR                  S[        U5      5        UR                  SU5        U R                  SXX4XVUSS5
      $ )NsiteUrlmovieUrl	movieFuncmovies   r;   r>   r   r_   )	r   rM   rN   rO   rP   rQ   rR   rS   rc   s	            r   addMoviecGui.addMovie   sU    *33I>,,Z89LM,,[)D~~hzZqstvwxxr   c                     UR                  S5      nU(       a-  UR                  S[        U5      5        UR                  SU5        U R                  SXX4XVUSS5
      $ )Nrb   	saisonUrlnextSaisonFunctvshowsr&   rg   	r   rM   rN   rO   rP   rQ   rR   rS   rk   s	            r   addTV
cGui.addTV   Y    +44Y?	#00i	>RS#001A9M~~i
[rtuwxyyr   c                     UR                  S5      nU(       a-  UR                  S[        U5      5        UR                  SU5        U R                  SXX4XVUSS5
      $ )Nrb   rk   rl   rm   r%      rg   rn   s	            r   addAnimecGui.addAnime   rq   r   c                     UR                  S5      nU(       a-  UR                  S[        U5      5        UR                  SU5        U R                  SXX4XVUSS5
      $ )Nrb   rk   rl   rm   r&   	   rg   rn   s	            r   addDramacGui.addDrama   rq   r   c                     U(       d  U(       a  SnOSnUR                  S5      n	UR                  S[        U	5      5        UR                  SU5        U R                  XX#XEXgSS5
      $ )Nvideosfilesrb   rc   rd   r      rg   )
r   rM   rN   rO   rP   rQ   rR   rS   catrc   s
             r   addMisccGui.addMisc   sa    CC*33I>,,Z89LM,,[)D~~c	5enoqrssr   c                 2    U R                  SXUSXEUSS5
      $ )Nsetszno-image.pngrs   r+   r_   )r   rM   rN   rO   rQ   rR   rS   s          r   addMoviePackcGui.addMoviePack   s"    ~~fcfnjaxz{}~r   c                     S[        [        5       R                  U5      5      -  nUR                  SS5      R                  SS5      R                  SS5      R                  SS5      nU R	                  SXX6SXTS	S 5
      $ )
Nzgenres/%s.pngz & _ '-r!   r   r   )rK   r   
formatUTF8replacer_   )r   rM   rN   rO   rS   rR   rP   s          r   addGenrecGui.addGenre   st    #eg&8&8&@"AAeS)11#s;CCCMUUVY[^_~~eSVBhikoppr   c                 0    U R                  SXX4SXeSS 5
      $ )Nr!   r   r   r   )r   rM   rN   rO   rP   rS   rR   s          r   addDircGui.addDir   s    ~~eSVBhikoppr   c                 ,   [        5       nUR                  SUR                  S5      5        UR                  SUR                  S5      5        UR                  SUR                  S5      5        UR                  SUR                  S5      5        UR                  S5      (       d!  UR                  SUR                  S5      5        UR                  S5      (       d!  UR                  SUR                  S5      5        UnU R                  SXX8XEUSS 5
      $ )	Nrk   rl   rc   rd   sLangsResr"   r   )r   r>   r;   r_   )	r   rM   rN   rO   rQ   rR   rS   rU   rP   s	            r   addLinkcGui.addLink   s    !7!9,,[:P:Y:YZe:fg,,-=?U?^?^_o?pq,,Z9O9X9XYc9de,,[:P:Y:YZe:fg&//88#00:P:Y:YZa:bc&//77#009O9X9XY_9`a~~fcfZXoqrtxyyr   c                     UR                  S5      nUR                  S[        U5      5        UR                  SU5        U R                  SXX4XVUSS5
      $ )Nrb   rk   rl   seasonsr}   r%   rg   rn   s	            r   	addSeasoncGui.addSeason  sV    +44Y?	,,[)I:NO,,-=yI~~i
[rtuwxyyr   c                 <   [        5       nUR                  S5      n	U	(       a4  UR                  SU	5        UR                  SUR                  S5      5        OBUR                  SUR                  S5      5        UR                  SUR                  S5      5        UR                  S5      (       d!  UR                  SUR                  S5      5        UR                  S5      (       d!  UR                  SUR                  S5      5        U R                  SXX4XVUSS	5
      $ )
Nrk   rl   rb   functionr   r   episodes   r1   )r   r;   r>   r_   )
r   rM   rN   rO   rP   rQ   rR   rS   rU   rk   s
             r   
addEpisodecGui.addEpisode
  s   !7!9*33K@	#00iH#001ACYCbCbcsCtu#00>T>]>]^g>hi#001ACYCbCbcmCno&//88#00:P:Y:YZa:bc&//77#009O9X9XY_9`a~~j#&\suvxyzzr   c                 4    SnU R                  SXX4XWUSS 5
      $ )Nr   artistsr+   r   )r   rM   rN   rO   rP   rQ   rS   rR   s           r   	addPersoncGui.addPerson  s%    ~~i
[rtuw{||r   c                 8    SnSnU R                  SXX4XgUSS 5
      $ )Nr   r1   r   )r   rM   rN   rO   rP   rS   rQ   rR   s           r   
addNetworkcGui.addNetwork#  s*    
~~b#&Tkmnptuur   c                    [        5       nUR                  U5        UR                  U5        U R                  R	                  S5      nUR                  SU< SU< S35        UR                  S5        UR                  UR                  5       5        UR                  S5        U R                  XT5        U R                  XT5      $ )N
deco_color[COLOR ]z
 >[/COLOR]znext.pngr   )r   r4   r5   ADDON
getSettingsetRawTitler6   r7   r8   r=   createContexMenuPageSelectrI   )r   rM   rN   rO   rS   rT   
sDecoColors          r   addNextcGui.addNext(  s    !m$	*ZZ**<8
J OPJ'  !4!4!67A 	''M~~kCCr   c                 $    U R                  U5      $ r   )addText)r   rM   s     r   addNonecGui.addNone:  s    ||C  r   c                    [        S5      R                  S5      S:X  a  g [        5       nUR                  U5        UR	                  S5        U(       d  U R
                  R                  S5      nUR                  U5        UR                  U5        UR                  UR                  5       5        UR                  S5        [        5       nU R                  XE5      $ )Nr(   r)   r*   	DoNothingu  r   )r   rA   r   r4   r5   r   VSlangr   r6   r7   r8   r=   r   rI   )r   rM   rO   rP   rT   rS   s         r   r   cGui.addText=  s    %=$$X.&8!m$,ZZ&&u-F'E"  !4!4!67A"9";~~kCCr   c                    USL a  S[         l        [        S5      R                  S5      S:X  a  U R	                  X5        g UR
                  UR                  UR                  UR                  S.n UR                  5        H'  u  pVUR                  U5      nU(       d  M  U" U5        M)     U R                  U5      nUR                  5       n	U	(       a  U	[         l        UR!                  SU	5        U R#                  X5      n
UR!                  SUR%                  5       5        U R'                  X5      nUS	L a  U	(       a  UR)                  5       (       a"  U R+                  X5        U R-                  X5        UR                  S
5      (       d  U R/                  X5        U	S;   a`  U R0                  R3                  S5      S:w  a  U R5                  X5        U R0                  R3                  S5      S:w  a  U R7                  X5        U	S;   a  U R9                  X5        U	S:w  a  U R;                  X5        O#UR=                  SS5        U R;                  X5        U R'                  X5      nU R>                  RA                  XU45        URC                  5         U$ ! [         a?    UR                  5        H'  u  pVUR                  U5      nU(       d  M  U" U5        M)      GN1f = f)NFr|   r(   r)   r*   )rb   r'   sYearr   r#   sTitleWatchedT
isBookmark)rf   r&   rs   r%   r1   rw   bstokenr   tmdb_account)rf   r&   rs   r%   rw   r   
IsPlayable)"r   r2   r   rA   addSearchResult
setSiteUrl	setTmdbIdsetYearsetRes	iteritemsr;   AttributeErroritemscreateListItemgetCatr#   r>   _cGui__createItemUrlgetTitleWatched_cGui__createContextMenugetMetacreateContexMenuinfocreateContexMenubacreateContexMenuBookmarkr   r   createContexMenuTraktcreateContexMenuTMDBcreateContexMenuSimilcreateContexMenuWatchsetPropertylistingappendclearParameter)r   rT   rS   	_isFolderparamssParamcallbackvalue	oListItemr#   sItemUrls              r   rI   cGui.addFolderP  s   "DL %=$$X.&8  F )33(22&..%,,.

	$$*$4$4$6 /88@5UO %7 ''4	!!#DI#00>''M,,_k>Y>Y>[\,,[D	&&((--kS++KQ ,,\::11+W--zz,,Y72=22;Xzz,,^<B11+W?*..{T19..{T!!,7&&{L,,[D	X)<= 	 ..0]  	$$*LLN /88@5UO %3	$s   1+J  J 5KKKc                     UR                  5       (       a%  UR                  5       S:X  a  U R                  U5      $ U R                  U5      $ )Nr*   )r   getMetaAddoncreateListItemThread_createListItem)r   rT   s     r   r   cGui.createListItem  sG       [%=%=%?6%I,,[99 ##K00r   c                     UR                  5       n[        U5      n[        R                  " U R                  X!U4S9nU R
                  R                  U5        UR                  5         U$ )N)targetnameargs)getTitler   	threadingThreadr   thread_listingr   start)r   rT   	itemTitler   ts        r   r   cGui.createListItemThread  s[    ((*	Y'	D$8$8y]fOgh""1%		r   c                 j   UR                  5       R                  5        VVs0 s H  u  p4US:w  d  M  X4_M     nnnUR                  5       nUR                  5       nUR	                  5       nU(       a  [        U5      S:X  a   SU;   a  US   (       a  US   n	OS[        US   5      -   n	Sn
SU;   a(  UR                  US   5      n[        U5      S:  a  US   n
U R                  S	:X  a'  [        US
   5      S-   [        US   5      -   S-   U	-   nOU	n[        U
5      S:  a  USU
-   -  nXeS'   U(       a#  U R                  R                  S5      S	:X  a  XuS'   O.XeS'   U(       a#  U R                  R                  S5      S	:X  a  XuS'   UR                  5       nS[        UR                  S5      5      ;   aI  [        S [        / SQ[!        UR                  SS5      R                  S5      5      5       5       5      US'   U(       d  [#        U5      nUR                  S5      (       a  [$        R&                  " US   5      n/ US'   U H  n[)        5       (       aF  US   R+                  [,        R.                  " US   US   US   UR                  SS5      5      5        MX  US   R+                  US   US   US   UR                  SS5      45        M     S nU(       a+  SU;   a  SnSnO SU;   a  SnS nOS!U;   a  S"nS#nO
S$U;   a  S#nS%n[)        5       (       d>  UR1                  UR3                  5       U5        U(       a  UR5                  S&UWS'.5        GOUR7                  5       nUR9                  UR                  S(S5      5        UR;                  [        UR                  S
5      =(       d    S)5      5        UR=                  [        UR                  S5      =(       d    S)5      5        UR?                  UR                  SS5      5        URA                  UR                  SS5      5        URC                  5       nUS*;  a!   [        U5      nURE                  UUS+.S,5        URI                  UR                  S-S5      5        URK                  UR                  SS5      5        URM                  UR                  SS5      5        URO                  [        UR                  S.S/5      5      5        URQ                  UR                  S0S5      5        URS                  [U        UR                  S1S25      5      5        URW                  UR                  S3S5      5        URY                  [        UR                  SS/5      5      5        UR[                  [        UR                  S4S/5      5      5        UR]                  UR                  S5S5      5        UR_                  UR                  SS5      5        URa                  [c        UR                  S6S5      R                  S75      5      5        URe                  [c        UR                  S8S5      R                  S75      5      5        URg                  [c        UR                  S9S5      R                  S75      5      5        URi                  SRk                  UR                  S:S/5      5      R                  S75      5        URm                  [U        UR                  S;S25      5      [U        UR                  S<S25      5      5        URo                  UR                  S/ 5      5        U(       a&  [,        Rp                  " UWS'9nURs                  U5        URu                  URw                  5       URy                  5       UR{                  5       UR}                  5       UR                  S=5      S>.5        UR                  5       nUR                  5        H!  u  nnUR                  U[        U5      5        M#     U$ s  snnf !   XeS'    GN= f! [F         a     GNf = f)?Nr   r1   taglinezEpisode episodetvshowtitler&   rf   r*   seasonxz. rs   r   titledisplay_info_fileplot:durationc              3   B   #    U  H  u  pU[        U5      -  v   M     g 7fr   )r<   ).0r   r   s      r   	<genexpr>'cGui._createListItem.<locals>.<genexpr>  s     #};|41AAJ;|s   )rf   <   i  castr   	characterorder	thumbnail2160i   ip  1080i  i8  720i   i  480i@  video)widthheight	mediatypez-1)Nr   r   0)tmdbztvshow.tmdbr  originaltitleyearr   	premieredratingg        mpaa	playcounttrailerstudio/writerdirectorgenre
resumetime	totaltimelandscape_path)posterthumbiconfanart	landscape)BgetItemValuesr   r   getMediaUrlr   r<   rK   splitlendisplaySeasonr   r   getResgetsumzipreversedr   jsonloadsr   r   xbmcActorsetInfogetTypeaddStreamInfogetVideoInfoTagsetMediaType	setSeason
setEpisoder@   setTvShowTitle	getTmdbIdsetUniqueIDs	TypeErrorsetOriginalTitlesetPlotsetPlotOutliner   setPremiered	setRatingfloatsetMpaasetDurationsetPlaycount
setTrailer
setTagLine
setStudioslist
setWriterssetDirectors	setGenresjoinsetResumePointsetCastVideoStreamDetailaddVideoStreamsetArtrH   rG   r8   	getFanartgetItemValuegetItemPropertiesr   )r   rT   r   keyvaldatar   	sMediaUrlr#   episodeTitlehostidxTitler   castsir  r  videoInfoTagtmdbIDtmdb_strvideoStreamDetailaPropertiessPropertyKeysPropertyValues                           r   r   cGui._createListItem  s    *5)B)B)D)J)J)LZ)LXSPSWYPY)LZ((*	++-	 !!#CIN$i#'	?L#-DO0D#DL D((tM/BCH8})'{%%/ #DN 3c 9CY<P PSW WZf fI ,It9q=t+I )W ::(()<=G#,L &M::(()<=G&/O !!##dhhz*++ ##}3}hW[W_W_`jlnWoWuWuvyWzN{;|#} }D +I88FJJtF|,EDL99L''

1V9anaPWjZ[Z_Z_`kmoZp(qrL''6AkNAgJPQPUPUVacePf(gh	  ~4$$yyk113T:''5F1ST$446L%%dhh{B&?@""3txx'9'AT#BC##C(;(Ct$DE!!$((7B"78''(CD !**,F//"6{H --xPX.Y[ab ))$((?B*GH  &"!56''B(?@  TXXfa%8!9:%%dhh{B&?@""5(C)@#AB  &"!56$$S*a)@%AB%%c$((;*B&CD ##DHHY$;<##DHHY$;<##D(B)?)E)Ec)J$KL##D(B)?)E)Ec)J$KL%%d488J+C+I+I#+N&OP""277488GbT+B#C#I#I##NO''dhh|S.I(JERVRZRZ[fhkRlLmn  &"!56$($:$:v$V!++,=> 	$/$9$9$;#.#;#;#="-"5"5"7$/$9$9$;'2'?'?@P'Q 	 "335,7,=,=,?(L.!!,N0CD -@ [ [4 )WH ! s)   ``B+`  `$ `!$
`21`2c           
      |    U R                  XSUR                  5       SU R                  R                  S5      5        g )Nr   
setWatchediu  )createSimpleMenugetSiteNamer   r   r   rT   rS   s      r   r   cGui.createContexMenuWatch:  sH    kFKLcLcLegsuyuu  vG  vG  HM  vN  	Or   c                    [        5       nUR                  S5        UR                  S5        UR                  S5        UR	                  U R
                  R                  S5      5        UR                  SUR                  5       5        UR                  SUR                  5       5        UR                  U5        UR                  U5        g )Nr   
selectPageiAu  OldFunctionrM   )r   setFiler4   r5   r@   r   r   r>   getFunctionrm  setOutputParameterHandleraddContextItemr   rT   rS   oContexts       r   r   cGui.createContexMenuPageSelect=  s    "$ V$\*$**++E23,,]K<S<S<UV,,UK4K4K4MN**+BC""8,r   c                 V   [        5       nUR                  S5        UR                  S5        UR                  S5        UR	                  U R
                  R                  S5      5        UR                  SUR                  5       5        UR                  U5        UR                  U5        g )Nr   viewBackiBu  rM   )r   rs  r4   r5   r@   r   r   r>   rm  ru  rv  rw  s       r   createContexMenuViewBackcGui.createContexMenuViewBackH  s    "$ V$Z($**++E23,,UK4K4K4MN**+BC""8,r   c           
      `   UR                  SUR                  5       5        UR                  SUR                  5       5        UR                  SUR                  5       5        UR                  SUR	                  5       5        U R                  XSSSU R                  R                  S5      5        g )NsCleanTitlerM   r,   r#   cFavsetBookmarkiv  )r>   getCleanTitlerm  rt  r   rl  r   r   rn  s      r   r   cGui.createContexMenuBookmarkS  s    ,,]K<U<U<WX,,UK4K4K4MN,,V[5L5L5NO,,V[5G5G5IJkFFTacgcmcmctctuzc{|r   c           
         UR                  SUR                  5       5        UR                  SUR                  5       5        UR                  SUR                  5       5        [        R
                  R                  SS5      nUR                  SU5        U R                  XSSSU R                  R                  S	5      5        g )
NsImdbIdr'   	sFileNamerm   showssTypecTrakt	getActioniv  )
r>   	getImdbIdr=  getFileNamer   r2   r   rl  r   r   )r   rT   rS   r  s       r   r   cGui.createContexMenuTrakt[  s    ,,Y8M8M8OP,,Y8M8M8OP,,[+:Q:Q:ST$$Y8,,We<kHhXceieoeoevevw|e}~r   c                     UR                  SUR                  5       5        UR                  SUR                  5       5        UR                  SUR                  5       5        U R	                  XSSSS5        g )Nr  r'   r  themoviedb_orgr  TMDB)r>   r  r=  r  rl  rn  s      r   r   cGui.createContexMenuTMDBd  sg    ,,Y8M8M8OP,,Y8M8M8OP,,[+:Q:Q:STkDTVfhsu{|r   c           
      j   US:X  a.  U R                  XSSSU R                  R                  S5      5        US:X  d  US:X  a\  U R                  XSSSU R                  R                  S5      5        U R                  XSSSU R                  R                  S	5      5        US
:X  a.  U R                  XSSSU R                  R                  S5      5        US:X  a]  U R                  XSSSU R                  R                  S5      5        U R                  XSSSU R                  R                  S5      5        g g )Nr  	cDownloadStartDownloadOneFileiv  2delDownloadiv  DelFilei	v  1StopDownloadListi
v  ReadDownloadiv  ResetDownloadiv  rl  r   r   )r   rT   rS   statuss       r   createContexMenuDownloadcGui.createContexMenuDownloadk  s   S=!!+U`bxz~  {E  {E  {L  {L  MR  {S  TS=FcM!!+U`boquq{q{  rC  rC  DI  rJ  K!!+U`bkmqmwmwm~m~  @E  nF  GS=!!+U`btvz  wA  wA  wH  wH  IN  wO  PS=!!+U`bprvr|r|  sD  sD  EJ  sK  L!!+U`bqsws}s}  tE  tE  FK  tL  M r   c           
      P   [        5       nUR                  SUR                  5       5        UR                  SUR                  5       5        UR                  SUR	                  5       5        UR                  SUR                  5       5        UR                  SUR                  5       5        UR                  SUR                  5       5        UR                  SUR                  5       5        U R                  XSUR	                  5       S	U R                  R                  S
5      5        g )NrZ   r  rM   r$   r   r,   r#   r   viewInfoi v  )r   r>   r  r  rm  r   getYearrt  r   rl  r   r   rn  s      r   r   cGui.createContexMenuinfo{  s    "9";,,X{7P7P7RS,,[+:Q:Q:ST,,UK4K4K4MN,,Wk6I6I6KL,,Wk6I6I6KL,,V[5L5L5NO,,V[5G5G5IJkFKLcLcLegqsws}s}  tE  tE  FK  tL  	Mr   c           
         [        5       nUR                  SUR                  5       5        UR                  SUR                  5       5        UR                  SUR	                  5       5        UR                  SUR                  5       5        UR                  SUR                  5       5        U R                  XSUR                  5       SU R                  R                  S5      5        g )	NrZ   r  r   sTrailerUrlr$   r   viewBAiv  )r   r>   r   r  r  
getTrailerr   rl  rm  r   r   rn  s      r   r   cGui.createContexMenuba  s    "9";,,X{7K7K7MN,,[+:Q:Q:ST,,Wk6I6I6KL,,]K<R<R<TU,,Wk6I6I6KLkFKLcLcLegoquq{q{  rC  rC  DI  rJ  	Kr   c           
         [        5       nUR                  SUR                  5       5        UR                  SUR                  5       5        UR	                  S5      nU(       d  UR                  5       nUR                  SU5        U R                  XSUR                  5       SU R                  R                  S5      5        g )Nr#   rZ   r   r  r   	viewSimiliv  )
r   r>   r   r   rW  r  rl  rm  r   r   )r   rT   rS   r  s       r   r   cGui.createContexMenuSimil  s    "9";,,V[5G5G5IJ,,X{7K7K7MN,,];	#//1I,,[)DkFKLcLcLegrtxt~t~  uF  uF  GL  uM  	Nr   c                     [        5       nUR                  U5        UR                  U5        UR                  U5        UR	                  U5        UR                  U5        UR                  U5        g r   )r   rs  r4   r5   r@   ru  rv  )r   rT   rS   sFilesNamerN   rZ   rx  s           r   rl  cGui.createSimpleMenu  s_    "$U#Y'&!**+BC""8,r   c           
      `    U R                  XSSSU R                  R                  S5      5        g )Nr  delBookmarksMenuiv  r  rn  s      r   createContexMenuDelFavcGui.createContexMenuDelFav  s3    kFFTfhlhrhrhyhyz  iA  	Br   c           
      `    U R                  XSSSU R                  R                  S5      5        g )NglobalParametreopensettingiGu  r  rn  s      r   createContexMenuSettingscGui.createContexMenuSettings  sI    kDUWhjwy}  zD  zD  zK  zK  LQ  zR  	Sr   c                    [        5       R                  5       n/ n[        UR                  5       5      nUS:  a  U R                  R                  S5      nUR                  5        Hs  nUR                  5       nUR                  5       n	U< SUR                  5       < SUR                  5       < SU	< 3n
SU< SUR                  5       < S3nXKS	U
-  4/-  nMu     UR                  U5        UR                  S
[        U5      5        U$ )Nr   r   ?site=
&function=&r   r   z[/COLOR]zRunPlugin(%s)nbcontextmenu)r   getPluginPathr*  getContextItemsr   r   getOutputParameterHandlergetParameterAsUrigetFilert  r   addContextMenuItemsr   rK   )r   rT   r   sPluginPathaContextMenusnbContextMenur   oContextItemrS   sParamssTest	titleMenus               r   __createContextMenucGui.__createContextMenu  s    $&446 K779:1..|<J + ; ; =*6*P*P*R'1CCE7BLDXDXDZ\h\t\t\vx  A6@,BWBWBYZ	o.E"F!GG !> ))-8os=/ABr   c           
      p   US:X  a
  [        5       nUR                  SUR                  5       5        UR                  SUR                  5       5        UR                  SUR	                  5       5        UR                  5       n[        5       R                  5       n[        UR                  5       5      S:X  a8  U< SUR                  5       < S[        UR                  5       5      < SU< 3nU$ U< SUR                  5       < S	UR                  5       < S[        UR                  5       5      < SU< 3	nU$ )
Nr   r'   sSeasonsEpisoder   r  z&title=r  r  )r   r>   r=  	getSeason
getEpisoder  r   r  r*  rt  rm  r   r  )r   rT   rS   r  r  r   s         r   __createItemUrlcGui.__createItemUrl  s5   "b(&=&?# 	 ,,Y8M8M8OP 	 ,,Y8M8M8OP,,Z9O9O9QR);;=$&446{&&()Q.3>@W@W@Y[depe~e~  fA  \B  DK  LH  @KKLcLcLegrg~g~  hA  CL  MX  Mf  Mf  Mh  Ci  kr  sHr   c                    [        5       R                  5       nU R                  (       dA  U R                  U R                  R                  S5      5        [        R                  " USSS9  g [        U R                  5      nUS:  ax  [        5       R                  U R                  R                  S5      5      nU R                   H%  nUR                  XC5        UR                  S5        M'     UR                  U5        U R                  S S 2	 [        R                  " X R                  [        U R                  5      5        [        R                   " US5        [        R"                  " U[$        R&                  5        [$        R&                  S:X  a&  [        R(                  " U[        R*                  5        O%[        R(                  " U[        R,                  5        [        R                  " US	S	S9  U(       a'  [.        R0                  " S
[3        U5      -   S-   5        GOU R                  R5                  S5      S:X  a  [$        R&                  S:X  d  [$        R&                  S:X  a3  [.        R0                  " SU R                  R5                  S5      -  5        O[$        R&                  S;   aD  [.        R0                  " SU R                  R5                  [$        R&                  S-   5      -  5        OF[$        R&                  S:X  a2  [.        R0                  " SU R                  R5                  S5      -  5        U R6                  S S 2	 U R6                  R9                  U R                  5        U R                  S S 2	 g )Nr   F)	succeededcacheToDiscr   iu  d   r   r   TzContainer.SetViewMode()zactive-viewr*   re   r   zContainer.SetViewMode(%s)zmovies-view)rm   r   r   z-viewr|   zdefault-view)r   getPluginHandler   showNoficationr   r   
xbmcpluginendOfDirectoryr*  r   r   VScreateVSupdaterP  VScloseaddDirectoryItemssetPluginCategory
setContentr   r2   addSortMethodSORT_METHOD_EPISODESORT_METHOD_NONEr3  executebuiltinrK   r   r   extend)r   forceViewModeiHandlertotal	progress_threads         r   setEndOfDirectorycGui.setEndOfDirectory  so   !#335 ||

 1 1% 89%%h%US D''(19 
++DJJ,=,=e,DEI--""94C  . i("$$X||S=NO$$Xr2h5<<:%$$Xz/M/MN$$Xz/J/JK!!(dM  83};M MPS STzz$$]3v=<<8+t||y/H''(CdjjF[F[\iFj(jk\\%GG''(CdjjF[F[\`\h\hkr\rFs(st\\W,''(CdjjF[F[\jFk(kl"""4<<0LLOr   c                 \    [         R                  " S5        [         R                  " S5        g )NzContainer.RefreshiX  )r3  r  sleepr   s    r   updateDirectorycGui.updateDirectory  s    /0

3r   c                 b   [        5       nUR                  S5      nUR                  S5      nUR                  S5      nUR                  S5      nSSKJn  U" 5       nUR	                  U5        UR                  U5        UR                  U5        UR                  U5        UR                  5         g )Nr  r   r  r$   r   )cShowBA)	r   r;   resources.lib.bar  	SetSearchSetYearSetTrailerUrlSetMetaTypeSearchBA)r   rU   r  r   r  r$   r  cBAs           r   r  cGui.viewBA  s    !7!9*33K@	&//8,55mD&//8,ii E+&r   c                     [        5       R                  5       n[        5       nUR                  S5      nU< SU< 3n[        R
                  " SU-  5        g )NrM   r  Container.Update(%s, replace))r   r  r   r;   r3  r  )r   r  rU   rM   r  s        r   r{  cGui.viewBack  sJ    $&446!7!9$--e4 +S1;eCDr   c           	         U R                   R                  S5      S:X  Ga  SSKJn  [	        5       nUR                  S5      (       a  UR                  S5      O[        R                  " S5      nUR                  S5      (       a  UR                  S5      O[        R                  " S5      nUR                  S	5      (       a  UR                  S	5      O[        R                  " S
5      nUR                  S5      (       a  UR                  S5      O[        R                  " S5      nUR                  S5      (       a  UR                  S5      O[        R                  " S5      nUR                  S5      (       a  UR                  S5      O[        R                  " S5      nUR                  S5      (       a  UR                  S5      O[        R                  " S5      n	U" X6XEXxU	5        g [        R                  " S5        g )Nzinformation-viewfalser   )WindowsBoxesrZ   ListItem.Titler$   zListItem.Property(sMeta)r   zListItem.Yearrb   zListItem.Property(siteUrl)rM   zListItem.Property(sId)r,   zListItem.Property(sFav)r#   ListItem.Property(sCat)zAction(Info))
r   r   resources.lib.configr  r   existr;   r3  rF   r  )
r   r  rU   r  r$   r   sUrlsSiter,   r#   s
             r   r  cGui.viewInfo#  s   ::  !34?9%;%="G]GcGcdlGmGm099(Csw  tE  tE  FV  tWK@V@\@\]d@e@e*33G<kok|k|  ~X  lYE@V@\@\]d@e@e*33G<kok|k|  ~M  lNEAWA]A]^gAhAh)229=nrnn  A]  o^D>T>Z>Z[`>a>a*33E:gkgxgx  zR  hSE>T>Z>Z[a>b>b)226:hlhyhy  {T  iUD>T>Z>Z[a>b>b)226:hlhyhy  {T  iUDE%tL /r   c                    [        5       R                  5       n[        5       nUR                  S5      (       a  UR	                  S5      nO=UR                  S5      (       a  UR	                  S5      O[
        R                  " S5      nUR                  S5      (       a  UR	                  S5      O[
        R                  " S5      n[        5       nUR                  SU5        UR                  SU5        UR                  5       nSS< S	S< S
U< 3nU[        R                  S'   X-   n[
        R                  " S5      (       a  [
        R                  " SS-  5        [
        R                  " SU-  5        g)Nr  rZ   r  r#   r  
searchtextr  globalSearchr  r  r&   zWindow.IsVisible(home)zActivateWindow(%d)i)'  Container.Update(%s)T)r   r  r   r  r;   r3  rF   r   r>   r  sysargvgetCondVisibilityr  )r   r  rU   r  r#   rS   r  r  s           r   r  cGui.viewSimil5  sQ   $&446!7!9!''44099+FKG]GcGcdlGmGm099(Csw  tE  tE  FV  tWK ;Q:V:VW]:^:^%..v6dhdudu  wP  eQ"9";,,\;G,,VT:);;=-;^WU# !!":;; 4u <=2U:;r   c                    SSK Jn  [        5       R                  5       n[	        5       nUR                  S5      nUR                  S5      nUR                  S5      nUR                  S5      (       a.  UR                  SS5      S   nUR                  SS5      S   S-   nO*UR                  SS5      S   nUR                  SS5      S   nU" 5       n	U	R                  U5      n
SnU
(       a  U R                  5       nU(       ap   US-   UR                  XS5      -   n[        5       nUR                  SU5        UR                  5       nU< S	U< S
U< SU< 3n[        R                  " SU-  5        gg!    g= f)Nr   )cParserrM   rr  rb   r  r&   rf   r  r  r  r  F)resources.lib.parserr  r   r  r   r;   endswithrsplitgetNumberFromStringshowNumBoardr   r   r>   r  r3  r  )r   r  r  rU   rM   rN   rb   	urlSourceendOfUrloParseroldNumnewNumrS   r  r  s                  r   rq  cGui.selectPageQ  sb   0$&446!7!9$--e4*33MB	(11)<C  sA.q1I~~c1-a036HsA.q1I~~c1-a0H),,X6&&(F	#c/H,<,<VQ,OO*A*C''44YH1CCE7BCT[\##$:U$BC s   A.E3 3E7c                    [        5       R                  5       n[        5       nUR                  S5      nUR                  S5      nUR                  S5      nU R	                  5       n[        5       nUR                  SU5        UR                  SU5        UR                  5       nU< SU< SU< SU< 3n	[        R                  " SU	-  5        g )	NrM   rr  rb   Selpager  r  r  r  )
r   r  r   r;   r  r   r>   r  r3  r  )
r   r  rU   rM   rN   rb   selpagerS   r  r  s
             r   selectPage2cGui.selectPage2t  s    $&446!7!9$--e4*33MB	(11)<##%"9";,,Y@,,Y@);;=/:CGT;eCDr   c                     [        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UR                  S5      nUR                  S5      n	UR                  S	5      n
UR                  S
5      nU(       d  g 0 nXLS'   X\S'   X,S'   X<S'   XlS'   X|S'   XS'   XS'   XS'   XS'   SSKJn  U" 5        nUR	                  U5      nU(       a#  UR                  U5        UR                  U5        O"UR                  U5        UR                  U5        S S S 5        U R                  5         g ! , (       d  f       N= f)NrM   rb   r0   r   r#   r,   r  r'   rk   rl   r   titleWatchedsitesiteurlr~   favr   	seasonUrl
seasonFunctmdbIdr   )cDb)r   r;   resources.lib.dbr,  get_watcheddel_watched
del_resumeinsert_watcheddel_viewingr3  r  r  )r   rU   r  sSiteUrlrZ   r   r#   r,   r  r'   
sSeasonUrlsSeasonFuncmetar,  dbrows                   r   rk  cGui.setWatched  sk   %;%="*33E:E-66yAH+44]CF2;;OLM)226:D)226:D,55i@G,55i@G/88EJ099:JKKD"M#0  L&OKK$N *!,$N,"nnT*NN4(MM$'%%d+NN4(  	 s   5AE,,
E:c                     [         R                  " U5      nUR                  U5        UR                  5         UR	                  5       (       a!  UR                  5       n[        U5      S:  a  U$ g)Nr   F)r3  Keyboard
setHeadingdoModalisConfirmedgetTextr*  )r   sDefaultTextheadingkeyboardsSearchTexts        r   showKeyBoardcGui.showKeyBoard  s]    ==.G$!!"**,KK A%""r   c                     [        5       nU(       d  U R                  R                  S5      nUR                  SX5      nUb  U$ g)NiCu  r   F)r   r   r   numeric)r   rZ   sDefaultNumdialogsnumboards        r   r  cGui.showNumBoard  s>    (ZZ&&u-F??1f:Or   c                     gNF r   s    r   openSettingscGui.openSettings      r   c                     [        S5      R                  S5      S:X  a  g [        5       nUR                  S5      n[	        5       R                  U[        R
                  5      n[        5       R                  XU5      $ )Nr(   r)   r*   r&  )r   rA   r   r;   r
   LABELr   VSinfo)r   rR   rZ   iSecondsrU   r  siteNames          r   r  cGui.showNofication  sb    %=$$X.&8!7!9&//7=,,UK4E4EFxu99r   c                     grM  rN  r   rZ   sDescriptionrU  s       r   	showErrorcGui.showError  rQ  r   c                     grM  rN  rY  s       r   showInfocGui.showInfo  rQ  r   c                     [         R                  R                  5         [        R                  " [         R
                  5      n[         R                  R                  5         U$ r   )r   searchResultsSemaphoreacquirecopydeepcopysearchResultsrelease)r   results     r   getSearchResultcGui.getSearchResult  s?    ##++-t112##++-r   c                    [         R                  R                  5         UR                  S5      nU(       d  UR	                  5       nU[         R
                  ;  a  / [         R
                  U'   [         R
                  U   R                  U[        R                  " U5      S.5        [         R                  R                  5         g )NsearchSiteId)
guiElementr   )
r   ra  rb  r;   rm  re  r   rc  rd  rf  )r   rT   rS   rk  s       r   r   cGui.addSearchResult  s    ##++-.77G&224Lt111/1D|,<(//{;?==I`;a1c 	d##++-r   c                     [         R                  R                  5         0 [         l        [         R                  R	                  5         g r   )r   ra  rb  re  rf  r   s    r   resetSearchResultcGui.resetSearchResult  s.    ##++-##++-r   rN  )r   )r   r   )r   znone.png)r   Tr   )r   r  )F)vStreamrs   )r   )J__name__
__module____qualname____firstlineno__	SITE_NAMEr2   r   r   r   r   r   r   r+  re  r   	Semaphorera  r   r   r_   rh   ro   rt   rx   r   r   r   r   r   r   r   r   r   r   r   r   rI   r   r   r   r   r   r|  r   r   r   r  r   r   r   rl  r  r  r   r   r  r  r  r{  r  r  rq  r"  rk  rD  r  rO  r  r[  r^  rh  r   ro  __static_attributes__rN  r   r   r   r      s   IGGNNGE$$%;<M M&002# IKRT  oF  oH  PQ  X\ G4lyzzzt@q
 MdLemo qz"z{(}
v
D$!D&CJ1PfO	--}}M 
MK	N-BS(,-^E0$8!FE",\		:..r   r   )rc  r1  r   r3  r  r  resources.lib.comaddonr   r   r   r   r   r   r	   r
    resources.lib.gui.contextElementr   resources.lib.gui.guiElementr   +resources.lib.handler.inputParameterHandlerr   ,resources.lib.handler.outputParameterHandlerr   #resources.lib.handler.pluginHandlerr   resources.lib.utilr   r   r   rN  r   r   <module>r     s@         
 i i i < 4 N P > /]. ].r   