§
   mjá”q¶]ã                   ó`   — d dl Z d dlZd dlZd dlZd dlZd dlmZ  G d„ dej        ¦  «        ZdS )é    N)ÚMediaMetadatac                   óœ   ‡ — e Zd ZdZdZdZdZ	 	 	 	 dˆ fd	„	Zed
„ ¦   «         Z	d„ Z
d„ Zedd„¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zˆ xZS )ÚAutoplayCountdownDialogé   é   é   é   ÚDefaulté   Ú Nc                 óJ  •— t          ¦   «                              ¦   «          || _        || _        || _        || _        |	| _        |
| _        || _        || _	        || _
        || _        || _        d | _        d | _        d| _        t!          j        ¦   «         | _        || _        d S ©NF)ÚsuperÚ__init__Úcountdown_durationÚnext_episode_titleÚnext_episode_season_episodeÚnext_episode_thumbÚseries_nameÚseries_tmdb_idÚseries_fanartÚcurrent_episode_plotÚnext_episode_ratingÚnext_episode_rating_onlyÚnext_episode_year_onlyÚuser_actionÚcountdown_threadÚ
is_runningÚxbmcÚPlayerÚplayerÚtimeout_callback)ÚselfÚxmlFilenameÚ	addonPathÚskinÚthemeÚshow_countdown_atr   r   r   r   r   r   r   r   r   r   r"   Ú	__class__s                    €úl/Users/chudy/Library/Application Support/Kodi/addons/plugin.video.milionar/wcs/playback/dialogs/countdown.pyr   z AutoplayCountdownDialog.__init__   s¥   ø€ õ 	‰Œ×ÒÑÔÐØ"3ˆÔØ"4ˆÔØ+FˆÔ(Ø"4ˆÔØ&ˆÔØ,ˆÔØ*ˆÔØ$8ˆÔ!Ø#6ˆÔ Ø(@ˆÔ%Ø&<ˆÔ#ØˆÔØ $ˆÔØˆŒÝ”k‘m”mˆŒØ 0ˆÔÐÐó    c                  óš  — 	 t          j        ¦   «         } t          |                      d¦  «        pd¦  «        }g d¢}d|cxk    rt	          |¦  «        k     rn n||         n|d         }t          j        d|› d|› �t
          j        ¬¦  «         |S # t          $ r.}t          j        d|› �t
          j	        ¬¦  «         Y d }~dS d }~ww xY w)	NÚdialog_styler   )ú1notifications/classic/DialogAutoplayCountdown.xmlz0notifications/modern/DialogAutoplayCountdown.xmlz1notifications/minimal/DialogAutoplayCountdown.xmlz1notifications/premium/DialogAutoplayCountdown.xmlz?[plugin.video.wcs] AutoplayCountdownDialog: Using style index 'z' -> ©ÚlevelzW[plugin.video.wcs] AutoplayCountdownDialog: Error getting dialog style, using default: r.   )
Ú	xbmcaddonÚAddonÚintÚ
getSettingÚlenr   ÚlogÚLOGINFOÚ	ExceptionÚ
LOGWARNING)ÚaddonÚstyle_indexÚstyle_filesÚfilenameÚes        r*   Úget_dialog_xml_filenamez/AutoplayCountdownDialog.get_dialog_xml_filename)   s0  € ð	GÝ”OÑ%Ô%ˆEÝ˜e×.Ò.¨~Ñ>Ô>ÐCÀ!ÑDÔDˆKðð ð ˆKð 45¸Ð3VÐ3VÒ3VÐ3VÅcÈ+ÑFVÔFVÒ3VÐ3VÐ3VÐ3VÐ3V�{ ;Ô/Ð/Ð\gÐhiÔ\jˆHÝŒHÐsÐWbÐsÐsÐiqÐsÐsÕ{ô  |Hð  Iñ  Iô  Ið  IØˆOøÝð 	Gð 	Gð 	GÝŒHÐrÐopÐrÐrÕz~ô  {Jð  Kñ  Kô  Kð  KØFÐFÐFÐFÐFÐFøøøøð	Gøøøs   ‚BB Â
C
Â#CÃC
c                 óV  — t          j        dt           j        ¬¦  «         |                      d| j        ¦  «         |                      d| j        ¦  «         |                      dt          j        | j        ¦  «        ¦  «         |                      d| j	        ¦  «         |                      d| j
        ¦  «         |                      d| j        ¦  «         |                      d	| j        ¦  «         |                      d
| j        ¦  «         |                      dt          j        | j        ¦  «        ¦  «         |                      d| j        ¦  «         |                      d|                      | j        | j        | j
        ¦  «        ¦  «         |                      dt#          | j        ¦  «        ¦  «         |                      dd¦  «         	 |                      d¦  «        }|r|                     d¦  «         n# t*          $ r Y nw xY w|                      ¦   «          d| _        t1          j        | j        ¬¦  «        | _        d| j        _        | j                             ¦   «          |                      d¦  «        r|                      d¦  «         d S |                      d¦  «         d S )NzO[plugin.video.wcs] AutoplayCountdownDialog: Initializing with dynamic countdownr/   zWCS.Autoplay.NextEpisode.Titlez&WCS.Autoplay.NextEpisode.SeasonEpisodezWCS.Autoplay.NextEpisode.ThumbzWCS.Autoplay.NextEpisode.Ratingz#WCS.Autoplay.NextEpisode.RatingOnlyz!WCS.Autoplay.NextEpisode.YearOnlyzWCS.Autoplay.SeriesTitlezWCS.Autoplay.SeriesTMDBIDzWCS.Autoplay.SeriesFanartzWCS.Autoplay.EpisodeDescriptionzWCS.Autoplay.MetaLineúWCS.Autoplay.CountdownTimeúWCS.Autoplay.ProgressÚ0éi   r   T)Útargetég   éx   ) r   r6   r7   ÚsetPropertyr   r   r   Ú
_clean_urlr   r   r   r   r   r   r   r   Ú_compose_meta_lineÚstrr   Ú
getControlÚ
setPercentr8   Ú_populate_action_buttonsr   Ú	threadingÚThreadÚ_dynamic_countdown_workerr   ÚdaemonÚstartÚ_has_controlÚ
setFocusId)r#   Úprogress_controls     r*   ÚonInitzAutoplayCountdownDialog.onInit;   s¤  € ÝŒÐbÕjnÔjvÐwÑwÔwÐwð 	×ÒÐ9¸4Ô;RÑSÔSÐSØ×ÒÐAÀ4ÔCcÑdÔdÐdØ×ÒÐ9½=Ô;SÐTXÔTkÑ;lÔ;lÑmÔmÐmØ×ÒÐ:¸DÔ<TÑUÔUÐUØ×ÒÐ>ÀÔ@]Ñ^Ô^Ð^Ø×ÒÐ<¸dÔ>YÑZÔZÐZð 	×ÒÐ3°TÔ5EÑFÔFÐFØ×ÒÐ4°dÔ6IÑJÔJÐJØ×ÒÐ4µmÔ6NÈtÔOaÑ6bÔ6bÑcÔcÐcØ×ÒÐ:¸DÔ<UÑVÔVÐVØ×ÒØ#Ø×#Ò#ØÔ0ØÔ+ØÔ-ñô ñ	
ô 	
ð 	
ð 	×ÒÐ5µs¸4Ô;RÑ7SÔ7SÑTÔTÐTØ×ÒÐ0°#Ñ6Ô6Ð6ð	Ø#Ÿš¨sÑ3Ô3ÐØð /Ø ×+Ò+¨AÑ.Ô.Ð.øøÝð 	ð 	ð 	ØˆDð	øøøð 	×%Ò%Ñ'Ô'Ð'àˆŒÝ )Ô 0¸Ô8VÐ WÑ WÔ WˆÔØ'+ˆÔÔ$ØÔ×#Ò#Ñ%Ô%Ð%Ø×Ò˜SÑ!Ô!ð 	!Ø�OŠO˜CÑ Ô Ð Ð Ð à�OŠO˜CÑ Ô Ð Ð Ð s   Ç,G9 Ç9
HÈHc                 óT   — 	 |                       |¦  «         dS # t          $ r Y dS w xY w)NTF)rL   r8   )r#   Ú
control_ids     r*   rT   z$AutoplayCountdownDialog._has_controlj   s@   € ð	Ø�OŠO˜JÑ'Ô'Ð'Ø�4øÝð 	ð 	ð 	Ø�5�5ð	øøøs   ‚ ™
'¦'c                 óœ   — d„ | |fD ¦   «         }d}d|› d�                      d„ |D ¦   «         ¦  «        }|rd|› d�}|r|d|› d|› �z  }n|}|S )uU   SestavÃ­ meta Å™Ã¡dek (SxxExx â€¢ rok â€¢ â˜… hodnocenÃ­) s barvami pro premium styl.c                 ó   — g | ]}|¯|‘ŒS © r\   ©Ú.0Úparts     r*   ú
<listcomp>z>AutoplayCountdownDialog._compose_meta_line.<locals>.<listcomp>t   s   € ÐAÐAÐA˜$¸DÐA�ÐAÐAÐAr+   u     â€¢  z[COLOR FF7F7F86]ú[/COLOR]c              3   ó"   K  — | ]
}d |› d�V — ŒdS )z[COLOR FFC9CAD0]ra   Nr\   r]   s     r*   ú	<genexpr>z=AutoplayCountdownDialog._compose_meta_line.<locals>.<genexpr>v   s?   è è € ð ;
ð ;
Ø26Ð-˜tÐ-Ð-Ð-ð;
ð ;
ð ;
ð ;
ð ;
ð ;
r+   z[COLOR FFF2DD56])Újoin)Úseason_episodeÚyearÚratingÚpartsÚ	separatorÚtextÚcolored_ratings          r*   rJ   z*AutoplayCountdownDialog._compose_meta_lineq   s§   € ð BÐA >°4Ð"8ÐAÑAÔAˆØˆ	Ø5 )Ð5Ð5Ð5×:Ò:ð ;
ð ;
Ø:?ð;
ñ ;
ô ;
ñ 
ô 
ˆð ð 	&Ø@°Ð@Ð@Ð@ˆNØð &ØÐN¨9ÐNÐN¸nÐNÐNÑN��à%�Øˆr+   c                 óÌ  — 	 |                       d¦  «        }n1# t          $ r$ t          j        dt          j        ¬¦  «         Y dS w xY w	 |                     ¦   «          g d¢}|D ]D\  }}t          j        |¦  «        }|                     d|¦  «         | 	                    |¦  «         ŒEdS # t          $ r.}t          j        d|› �t          j
        ¬¦  «         Y d}~dS d}~ww xY w)u”   NaplnÃ­ pill-shaped akÄ�nÃ­ tlaÄ�Ã­tka (list control 103).

        Premium styl pouÅ¾Ã­vÃ¡ pevnÃ¡ tlaÄ�Ã­tka v XML, list 103 v nÄ›m nenÃ­.
        rF   z_[plugin.video.wcs] AutoplayCountdownDialog: No action list control 103, dialog uses XML buttonsr/   N))Úplay_nowu	   PÅ™ehrÃ¡t)Ústopu   UkonÄ�it)Údismissu   ZavÅ™Ã­tÚ	action_idzO[plugin.video.wcs] AutoplayCountdownDialog: Failed to populate action buttons: )rL   r8   r   r6   r7   ÚresetÚxbmcguiÚListItemrH   ÚaddItemÚLOGERROR)r#   Úaction_listÚbuttonsrp   ÚlabelÚitemr>   s          r*   rN   z0AutoplayCountdownDialog._populate_action_buttons�   s]  € ð
	ØŸ/š/¨#Ñ.Ô.ˆKˆKøÝð 	ð 	ð 	ÝŒHØqÝ”lðñ ô ð ð ˆFˆFð	øøøð	AØ×ÒÑÔÐðð ð ˆGð
 %,ð *ð *Ñ �	˜5ÝÔ'¨Ñ.Ô.�Ø× Ò  ¨iÑ8Ô8Ð8Ø×#Ò# DÑ)Ô)Ð)Ð)ð*ð *øõ ð 	Að 	Að 	AÝŒHÐjÐghÐjÐjÕrvÔrð  Añ  Aô  Að  Að  Að  Að  Að  Að  Að  Aøøøøð	Aøøøs(   ‚ ˜*AÁAÁ
AB+ Â+
C#Â5#CÃC#c                 ó
  — |dv r#ddddœ}|                       ||         ¦  «         d S |dk    rU|                      d¦  «                             ¦   «         }|sd S |                       |                     d¦  «        ¦  «         d S d S )N)rG   éy   éz   rm   rn   ro   rF   rp   )Ú_handle_control_actionrL   ÚgetSelectedItemÚgetProperty)r#   Ú	controlIdÚ
action_idsry   s       r*   ÚonClickzAutoplayCountdownDialog.onClickœ   s    € Ø˜Ð'Ð'Ø)°¸YÐGÐGˆJØ×'Ò'¨
°9Ô(=Ñ>Ô>Ð>Ð>Ð>Ø˜#ÒÐØ—?’? 3Ñ'Ô'×7Ò7Ñ9Ô9ˆDØð Ø�Ø×'Ò'¨×(8Ò(8¸Ñ(EÔ(EÑFÔFÐFÐFÐFð	 Ðr+   c                 ón  — |dk    r6| j         | _        |                      ¦   «          |                      ¦   «          d S |dk    r6| j        | _        |                      ¦   «          |                      ¦   «          d S |dk    r6| j        | _        |                      ¦   «          |                      ¦   «          d S d S )Nrm   rn   ro   )ÚACTION_PLAY_NOWr   Ú_stop_countdownÚcloseÚACTION_CANCEL_AUTOPLAYÚACTION_DISMISS)r#   rp   s     r*   r}   z.AutoplayCountdownDialog._handle_control_action¦   sµ   € Ø˜
Ò"Ð"Ø#Ô3ˆDÔØ× Ò Ñ"Ô"Ð"Ø�JŠJ‰LŒLˆLˆLˆLØ˜&Ò Ð Ø#Ô:ˆDÔØ× Ò Ñ"Ô"Ð"Ø�JŠJ‰LŒLˆLˆLˆLØ˜)Ò#Ð#Ø#Ô2ˆDÔØ× Ò Ñ"Ô"Ð"Ø�JŠJ‰LŒLˆLˆLˆLð $Ð#r+   c                 óØ   — |                      ¦   «         t          j        t          j        fv r=| j        €| j        | _        |                      ¦   «          |                      ¦   «          d S d S ©N)ÚgetIdrr   ÚACTION_PREVIOUS_MENUÚACTION_NAV_BACKr   rˆ   r…   r†   )r#   Úactions     r*   ÚonActionz AutoplayCountdownDialog.onAction´   s`   € Ø�<Š<‰>Œ>�gÔ:½GÔ<SÐTÐTÐTàÔÐ'Ø#'Ô#6�Ô Ø× Ò Ñ"Ô"Ð"Ø�JŠJ‰LŒLˆLˆLˆLð UÐTr+   c                 óº  — t          j        d| j        › d�t           j        ¬¦  «         | j        }| j        �rv|dk    �ro	 | j                             ¦   «         s"t          j        dt           j        ¬¦  «         �n3| j        |z
  | j        z  dz  }t          dt          d|¦  «        ¦  «        }|  	                    dt          t          |¦  «        ¦  «        ¦  «         |  	                    dt          t          |¦  «        ¦  «        ¦  «         	 |                      d	¦  «        }|r|                     |¦  «         n# t          $ r Y nw xY w|d
z  }t          j        d
¦  «         n:# t          $ r-}t          j        d|› �t           j        ¬¦  «         Y d }~nd }~ww xY w| j        r|dk    �°o|dk    r’| j        r‹| j        | _        |                      ¦   «          | j        rP	 |                      ¦   «          n:# t          $ r-}t          j        d|› �t           j        ¬¦  «         Y d }~nd }~ww xY w|                      ¦   «          |                      ¦   «          d S )NzD[plugin.video.wcs] AutoplayCountdownDialog: Starting countdown from zs to 0r/   r   zL[plugin.video.wcs] AutoplayCountdownDialog: Player stopped, ending countdownéd   rA   rB   rD   r   z@[plugin.video.wcs] AutoplayCountdownDialog: Error in countdown: zL[plugin.video.wcs] AutoplayCountdownDialog: Error calling timeout callback: )r   r6   r   r7   r   r!   Ú	isPlayingÚmaxÚminrH   rK   r3   rL   rM   r8   ÚtimeÚsleepru   ÚACTION_TIMEOUTr   r…   r"   r†   )r#   Úcountdown_timeÚprogressrV   r>   s        r*   rQ   z1AutoplayCountdownDialog._dynamic_countdown_worker¼   sà  € ÝŒÐwÐX\ÔXoÐwÐwÐwõ  @Dô  @Lð  	Mñ  	Mô  	Mð  	MØÔ0ˆØŒoñ 	 .°1Ò"4Ñ"4ðØ”{×,Ò,Ñ.Ô.ð Ý”HÐkÕswÔsð  Añ  Aô  Að  AÙØ!Ô4°~ÑEÈÔI`Ñ`ÐdgÑg�Ý˜q¥# c¨8Ñ"4Ô"4Ñ5Ô5�Ø× Ò Ð!=½sÅ3À~ÑCVÔCVÑ?WÔ?WÑXÔXÐXØ× Ò Ð!8½#½cÀ(¹m¼mÑ:LÔ:LÑMÔMÐMðØ'+§¢°sÑ';Ô';Ð$Ø'ð >Ø(×3Ò3°HÑ=Ô=Ð=øøÝ ð ð ð Ø�Dðøøøà !Ñ#�Ý”
˜1‘”��øÝð ð ð Ý”Ð_Ð\]Ð_Ð_ÕgkÔgtÐuÑuÔuÐuØ����øøøøðøøøð# Œoð 	 .°1Ò"4Ñ"4ð* ˜QÒÐ 4¤?ÐØ#Ô2ˆDÔØ× Ò Ñ"Ô"Ð"ØÔ$ð FðFØ×)Ò)Ñ+Ô+Ð+Ð+øÝ ð Fð Fð FÝ”HÐoÐlmÐoÐoÕw{ô  xEð  Fñ  Fô  Fð  Fð  Fð  Fð  Fð  Fð  FøøøøðFøøøà�JŠJ‰LŒLˆLà×ÒÑÔÐÐÐs[   Á9E' Á<BE' Ä,D= Ä<E' Ä=
E
ÅE' Å	E
Å
E' Å'
FÅ1#FÆFÇ$G9 Ç9
H0È#H+È+H0c                 ó   — d| _         d S r   )r   ©r#   s    r*   r…   z'AutoplayCountdownDialog._stop_countdownà   s   € ØˆŒˆˆr+   c                 ó   — | j         S rŠ   )r   r›   s    r*   Úget_user_actionz'AutoplayCountdownDialog.get_user_actionã   s   € ØÔÐr+   )r
   r
   r   r   r   r   r   r   r   r   r   r   r   N)r   r   r   )Ú__name__Ú
__module__Ú__qualname__r„   r‡   r—   rˆ   r   Ústaticmethodr?   rW   rT   rJ   rN   r‚   r}   r�   rQ   r…   r�   Ú__classcell__)r)   s   @r*   r   r      s+  ø€ € € € € Ø€OØÐØ€NØ€NàENØqsØsuØZ^ð1ð 1ð 1ð 1ð 1ð 1ð, ðGð Gñ „\ðGð"-!ð -!ð -!ð^ð ð ð ðð ð ñ „\ððAð Að Að6Gð Gð Gðð ð ðð ð ð"ð "ð "ðH ð  ð  ð ð  ð  ð  ð  ð  ð  r+   r   )	r   rr   r1   rO   r•   Úwcs.playback.metadatar   ÚWindowXMLDialogr   r\   r+   r*   ú<module>r¥      s�   ðð €€€Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€à /Ð /Ð /Ð /Ð /Ð /ðW ð W ð W ð W ð W ˜gÔ5ñ W ô W ð W ð W ð W r+   