§
   (NñgÿÇžã                   óš   — d dl Z d dlZd dlmZ d dlmZ  G d„ d¦  «        Z G d„ d¦  «        Z G d„ d	¦  «        Zda	da
dad
„ Zd„ Zd„ ZdS )é    N)ÚMediaInfoDialog)ÚAutoplayCountdownDialogc                   ó6   — e Zd Zd„ Zed„ ¦   «         Z	 	 dd„ZdS )ÚMovieInfoManagerc                 ó   — || _         d S ©N©Úaddon©Úselfr
   s     úk/Users/chudy/Library/Application Support/Kodi/addons/plugin.video.milionar/wcs/playback/dialogs/managers.pyÚ__init__zMovieInfoManager.__init__   ó   € ØˆŒ
ˆ
ˆ
ó    c                  ó*   — t          j        d¦  «        S )NÚmovie©r   Ú"_get_dialog_xml_filename_for_media© r   r   Úget_dialog_xml_filenamez(MovieInfoManager.get_dialog_xml_filename   s   € åÔAÀ'ÑJÔJÐJr   Ú c                 ó˜  — t          j        d|› d|› d�t           j        ¬¦  «         t                               ¦   «         }t          || j                             d¦  «        d|||||||||	|
¬¦  «        }t          j        dt           j        ¬¦  «         |                     ¦   «          t          j        d	t           j        ¬¦  «         ~d S )
NzC[plugin.video.wcs] MovieInfoManager: Showing movie info dialog for z (ú)©ÚlevelÚpathr   )Ú
media_typeÚmovie_titleÚ
movie_yearÚmovie_thumbÚratingÚplotÚtmdb_idÚfanartÚgenreÚdirectorÚruntimez?[plugin.video.wcs] MovieInfoManager: About to show dialog modalz;[plugin.video.wcs] MovieInfoManager: Dialog modal completed)	ÚxbmcÚlogÚLOGINFOr   r   r   r
   ÚgetAddonInfoÚdoModal)r   r   r   r    r!   r"   r#   r$   r%   r&   r'   Ú
dialog_xmlÚdialogs                r   Úshow_movie_infoz MovieInfoManager.show_movie_info   sê   € åŒÐsÐWbÐsÐsÐfpÐsÐsÐsÕ{ô  |Hð  	Iñ  	Iô  	Ið  	IÝ%×=Ò=Ñ?Ô?ˆ
Ý ØØŒJ×#Ò# FÑ+Ô+ØØ#Ø!Ø#ØØØØØØØð
ñ 
ô 
ˆõ 	ŒÐRÕZ^ÔZfÐgÑgÔgÐgØ�ŠÑÔÐÝŒÐNÕVZÔVbÐcÑcÔcÐcØˆFˆFr   N)	r   r   r   r   r   r   r   r   r   )Ú__name__Ú
__module__Ú__qualname__r   Ústaticmethodr   r/   r   r   r   r   r      s_   € € € € € ðð ð ð ðKð Kñ „\ðKð RTØWYðð ð ð ð ð r   r   c                   ó4   — e Zd Zd„ Zed„ ¦   «         Z	 dd„ZdS )ÚEpisodeInfoManagerc                 ó   — || _         d S r   r	   r   s     r   r   zEpisodeInfoManager.__init__/   r   r   c                  ó*   — t          j        d¦  «        S )NÚseriesr   r   r   r   r   z*EpisodeInfoManager.get_dialog_xml_filename2   s   € åÔAÀ(ÑKÔKÐKr   r   c                 óœ  — t          j        d|› d|› d|› �t           j        ¬¦  «         t                               ¦   «         }t          || j                             d¦  «        d|||||||||	|
¬¦  «        }t          j        dt           j        ¬¦  «         |                     ¦   «          t          j        d	t           j        ¬¦  «         ~d S )
NzG[plugin.video.wcs] EpisodeInfoManager: Showing episode info dialog for z SÚEr   r   r8   )r   Úseries_nameÚepisode_titleÚseason_numberÚepisode_numberÚepisode_thumbr!   Úyearr"   r#   r$   zA[plugin.video.wcs] EpisodeInfoManager: About to show dialog modalz=[plugin.video.wcs] EpisodeInfoManager: Dialog modal completed)	r(   r)   r*   r5   r   r   r
   r+   r,   )r   r;   r<   r=   r>   r?   r!   r@   r"   r#   r$   r-   r.   s                r   Úshow_episode_infoz$EpisodeInfoManager.show_episode_info6   s  € åŒð FÐVað  Fð  FÐerð  Fð  Fð  vDð  Fð  FÝ”,ð	
ñ 	
ô 	
ð 	
õ (×?Ò?ÑAÔAˆ
Ý ØØŒJ×#Ò# FÑ+Ô+ØØ#Ø'Ø'Ø)Ø'ØØØØØð
ñ 
ô 
ˆõ 	ŒÐTÕ\`Ô\hÐiÑiÔiÐiØ�ŠÑÔÐÝŒÐPÕX\ÔXdÐeÑeÔeÐeØˆFˆFr   N)r   r   r   r   r   r   )r0   r1   r2   r   r3   r   rA   r   r   r   r5   r5   .   s\   € € € € € ðð ð ð ðLð Lñ „\ðLð ]_ðð ð ð ð ð r   r5   c                   ó<   — e Zd ZdZdZdZd„ Zd„ Zd
d„Zd„ Z	dd	„Z
dS )ÚAutoplayManageré   é   é   c                 óx  — || _         d| _        	 t          |                     d¦  «        pd¦  «        | _        | j        dk     rd| _        n| j        dk    rd| _        n# t
          t          f$ r
 d| _        Y nw xY w	 t          |                     d¦  «        pd¦  «        | _        | j        d	k     rd	| _        n-| j        | j        k    rt          d	| j        d
z
  ¦  «        | _        n# t
          t          f$ r
 d
| _        Y nw xY w| j        | j        z
  | _	        | j	        dk    rd
| _	        d | _
        d | _        d S )NFÚautoplay_countdown_secondsÚ30é
   éx   é   Úautoplay_trigger_secondsÚ5rF   é   r   )r
   Úautoplay_enabledÚintÚ
getSettingÚcountdown_secondsÚ
ValueErrorÚ	TypeErrorÚtrigger_secondsÚmaxÚcountdown_durationÚcurrent_series_infoÚcurrent_episode_infor   s     r   r   zAutoplayManager.__init__W   su  € ØˆŒ
Ø %ˆÔð	(Ý%(¨×)9Ò)9Ð:VÑ)WÔ)WÐ)_Ð[_Ñ%`Ô%`ˆDÔ"ØÔ%¨Ò*Ð*Ø)+�Ô&Ð&ØÔ'¨#Ò-Ð-Ø),�Ô&øøÝ�IÐ&ð 	(ð 	(ð 	(Ø%'ˆDÔ"Ð"Ð"ð	(øøøð	%Ý#& u×'7Ò'7Ð8RÑ'SÔ'SÐ'ZÐWZÑ#[Ô#[ˆDÔ ØÔ# aÒ'Ð'Ø'(�Ô$Ð$ØÔ%¨Ô)?Ò?Ð?Ý'*¨1¨dÔ.DÀqÑ.HÑ'IÔ'I�Ô$øøÝ�IÐ&ð 	%ð 	%ð 	%Ø#$ˆDÔ Ð Ð ð	%øøøà"&Ô"8¸4Ô;OÑ"OˆÔØÔ" aÒ'Ð'Ø&'ˆDÔ#Ø#'ˆÔ Ø$(ˆÔ!Ð!Ð!s%   �AA ÁA:Á9A:Á>A)C( Ã(DÄDc                 ób   — || _         t          j        d|rdnd› �t          j        ¬¦  «         d S )Nz-[plugin.video.wcs] AutoplayManager: Autoplay ÚenabledÚdisabledr   )rP   r(   r)   r*   )r   r\   s     r   Úset_autoplay_enabledz$AutoplayManager.set_autoplay_enabledp   s<   € Ø 'ˆÔÝŒÐgÈgÐAeÀÀÐ[eÐgÐgÕosÔo{Ð|Ñ|Ô|Ð|Ð|Ð|r   Nc                 ó0   — ||dœ| _         |||dœ| _        d S )N)Únamer#   )ÚseasonÚepisodeÚquality)rY   rZ   )r   r;   ra   rb   r#   Úcurrent_qualitys         r   Úset_current_episodez#AutoplayManager.set_current_episodet   s7   € àØð$
ð $
ˆÔ ð
 ØØ&ð%
ð %
ˆÔ!Ð!Ð!r   c           	      óº  — | j         r| j        sd S | j         d         }| j        d         }| j        d         }	 ddlm}  ||||¦  «        }|�r8d|d         d›d	|d
         d›�}d}d}d}	|                     d¦  «        rŒ|d         dk    r€	 t          |d         ¦  «        }
|
d›}n,# t          t          f$ r t          |d         ¦  «        }Y nw xY wd|› d�}|                     d¦  «        rd|› d|d         › �}|d         }	nQd|› d�}nJ|                     d¦  «        r|                     dd¦  «        nd}|                     d¦  «        r|d         }	|d         ||                     dd¦  «        |d         |d
         |||	dœS n;# t          $ r.}t          j        d|› �t          j        ¬¦  «         Y d }~d S d }~ww xY w|dz   }d|d›d	|d›�}d|d||ddddœS )Nr`   ra   rb   r   )Ú&get_next_episode_metadata_from_libraryÚSr=   Ú02dr:   r>   r   Úepisode_ratingz.1fu   â˜… z/10Úepisode_yearu   /10 â€¢ r<   r?   )ÚtitleÚseason_episodeÚthumbra   rb   r!   Úrating_onlyÚ	year_onlyzI[plugin.video.wcs] AutoplayManager: Error getting next episode metadata: r   rD   u   DalÅ¡Ã­ epizoda)rY   rZ   Úwcs.library.LibraryManagerrg   ÚgetÚfloatrT   rU   ÚstrÚ	Exceptionr(   r)   ÚLOGERROR)r   r;   Úcurrent_seasonÚcurrent_episoderg   Únext_metadatarm   Úrating_formattedÚrating_only_textÚyear_only_textÚrating_floatÚrating_textÚeÚnext_episodes                 r   Úget_next_episode_infoz%AutoplayManager.get_next_episode_info   sÝ  € ØÔ'ð 	¨tÔ/Hð 	Ø�4ØÔ.¨vÔ6ˆØÔ2°8Ô<ˆØÔ3°IÔ>ˆð$	ØYÐYÐYÐYÐYÐYØBÐBÀ;ÐP^Ð`oÑpÔpˆMØñ Ø!o ]°?Ô%CÐ!oÐ!oÐ!oÈ-ÐXhÔJiÐ!oÐ!oÐ!o�Ø#%Ð Ø#%Ð Ø!#�Ø ×$Ò$Ð%5Ñ6Ô6ð G¸=ÐIYÔ;ZÐ]^Ò;^Ð;^ðPÝ',¨]Ð;KÔ-LÑ'MÔ'M˜Ø.:Ð+@Ð+@Ð(Ð(øÝ&­	Ð2ð Pð Pð PÝ+.¨}Ð=MÔ/NÑ+OÔ+OÐ(Ð(Ð(ðPøøøà'CÐ.>Ð'CÐ'CÐ'CÐ$Ø$×(Ò(¨Ñ8Ô8ð CØ&fÐ-=Ð&fÐ&fÀ}ÐUcÔGdÐ&fÐ&f˜Ø)6°~Ô)F˜˜à&BÐ-=Ð&BÐ&BÐ&B˜˜àKX×K\ÒK\Ð]kÑKlÔKlÐ"t -×"3Ò"3°NÀBÑ"GÔ"GÐ"GÐrt�KØ$×(Ò(¨Ñ8Ô8ð GØ)6°~Ô)F˜à*¨?Ô;Ø&4Ø*×.Ò.¨ÀÑCÔCØ+¨OÔ<Ø,Ð-=Ô>Ø)Ø#3Ø!/ð	ð 	ð 	ð+øõ> ð 	ð 	ð 	ÝŒHÐdÐabÐdÐdÕlpÔlyÐzÑzÔzÐzØ�4�4�4�4�4øøøøð	øøøð '¨Ñ*ˆØD˜^ÐDÐDÐD°,ÐDÐDÐDˆà&Ø,ØØ$Ø#ØØØð	
ð 	
ð 		
s=   ¹AF ÂB' Â&F Â'&CÃF ÃCÃB6F Æ
G Æ#F;Æ;G c                 óX  — | j         sd S |                      ¦   «         }|s"t          j        dt          j        ¬¦  «         d S |�.|| j        z
  }t          dt          || j        ¦  «        ¦  «        }n| j        }t          j        d|› d| j	        › d| j        › d�t          j        ¬¦  «         t          j        ¦   «         }t          || j                             d¦  «        ||d	         |                     d
d¦  «        |d         | j        d         t!          | j                             dd¦  «        ¦  «        dd|                     dd¦  «        |                     dd¦  «        |                     dd¦  «        ¬¦  «        }|                     ¦   «          |                     ¦   «         }~|S )Nz9[plugin.video.wcs] AutoplayManager: No next episode foundr   rF   zS[plugin.video.wcs] AutoplayManager: Showing countdown dialog - countdown duration: zs (from zs before end to zs before end)r   rl   rm   r   rn   r`   r#   r!   ro   rp   )Úshow_countdown_atÚnext_episode_titleÚnext_episode_season_episodeÚnext_episode_thumbr;   Úseries_tmdb_idÚseries_fanartÚcurrent_episode_plotÚnext_episode_ratingÚnext_episode_rating_onlyÚnext_episode_year_only)rP   r�   r(   r)   r*   rV   rW   ÚminrX   rS   r   r   r
   r+   rr   rY   rt   r,   Úget_user_action)r   Úcurrent_remaining_timer€   Úreal_countdown_durationr-   r.   Úuser_actions          r   Úshow_countdown_dialogz%AutoplayManager.show_countdown_dialog¸   sê  € ØÔ$ð 	Ø�4Ø×1Ò1Ñ3Ô3ˆØð 	ÝŒHÐPÕX\ÔXdÐeÑeÔeÐeØ�4Ø!Ð-Ø&<¸tÔ?SÑ&SÐ#Ý&)¨!­SÐ1HÈ$ÔJaÑ-bÔ-bÑ&cÔ&cÐ#Ð#à&*Ô&=Ð#ÝŒð OÐbyð  Oð  Oð  DHô  DZð  Oð  Oð  lpô  l@ð  Oð  Oð  OÝ”,ð	
ñ 	
ô 	
ð 	
õ -ÔDÑFÔFˆ
Ý(ØØŒJ×#Ò# FÑ+Ô+Ø5Ø+¨GÔ4Ø(4×(8Ò(8Ð9IÈ2Ñ(NÔ(NØ+¨GÔ4ØÔ0°Ô8Ý˜tÔ7×;Ò;¸IÀrÑJÔJÑKÔKØØ!#Ø ,× 0Ò 0°¸2Ñ >Ô >Ø%1×%5Ò%5°mÀRÑ%HÔ%HØ#/×#3Ò#3°KÀÑ#DÔ#Dð
ñ 
ô 
ˆð 	�ŠÑÔÐØ×,Ò,Ñ.Ô.ˆØØÐr   )NNr   )r0   r1   r2   ÚACTION_PLAY_NOWÚACTION_CANCEL_AUTOPLAYÚACTION_TIMEOUTr   r^   re   r�   r’   r   r   r   rC   rC   R   s}   € € € € € Ø€OØÐØ€Nð)ð )ð )ð2}ð }ð }ð	
ð 	
ð 	
ð 	
ð7
ð 7
ð 7
ðr'ð 'ð 'ð 'ð 'ð 'r   rC   c                  ób   — t           €"t          j        ¦   «         } t          | ¦  «        a t           S r   )Ú_movie_info_managerÚ	xbmcaddonÚAddonr   r	   s    r   Úget_movie_info_managerrš   é   s)   € åÐ"Ý”Ñ!Ô!ˆÝ.¨uÑ5Ô5ÐÝÐr   c                  ób   — t           €"t          j        ¦   «         } t          | ¦  «        a t           S r   )Ú_episode_info_managerr˜   r™   r5   r	   s    r   Úget_episode_info_managerr�   ñ   s)   € åÐ$Ý”Ñ!Ô!ˆÝ 2°5Ñ 9Ô 9ÐÝ Ð r   c                  ób   — t           €"t          j        ¦   «         } t          | ¦  «        a t           S r   )Ú_autoplay_managerr˜   r™   rC   r	   s    r   Úget_autoplay_managerr    ù   s)   € åÐ Ý”Ñ!Ô!ˆÝ+¨EÑ2Ô2ÐÝÐr   )r(   r˜   Úwcs.playback.dialogs.media_infor   Úwcs.playback.dialogs.countdownr   r   r5   rC   r—   rœ   rŸ   rš   r�   r    r   r   r   ú<module>r£      s  ðð €€€Ø Ð Ð Ð à ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø BÐ BÐ BÐ BÐ BÐ Bð
ð ð ð ð ñ ô ð ðB!ð !ð !ð !ð !ñ !ô !ð !ðHMð Mð Mð Mð Mñ Mô Mð Mðd Ð ØÐ ØÐ ðð ð ð!ð !ð !ðð ð ð ð r   