§
   UÝCHŸéã                   ób   — d Z ddlZddlZddlZddlZddlmZ dZdZdZ	dZ
dd	„Zd
„ Zd„ Zdd„ZdS )u  SjednocenÃ½ plÃ¡novaÄ� pro zobrazenÃ­ info/countdown dialogÅ¯ po startu pÅ™ehrÃ¡vÃ¡nÃ­.

Nahrazuje 4 duplicitnÃ­ threading patterny:
  - utils.py: _show_info_after_play, schedule_episode_info_dialog
  - LibraryManager: _activate_movie_info_only, _activate_episode_info_only
é    N)ÚMediaMetadataéd   gš™™™™™¹?é   Úshow_episode_infoÚunknownc                 ó¾   ‡ ‡— ˆ ˆfd„}t          j        |d¬¦  «                             ¦   «          t          j        d‰ j        › d‰› d�t          j        ¬¦  «         dS )	uä   NaplÃ¡nuje zobrazenÃ­ info dialogu po detekci startu pÅ™ehrÃ¡vÃ¡nÃ­.

    Args:
        metadata: MediaMetadata instance s normalizovanÃ½mi daty
        source: zdroj volÃ¡nÃ­ pro logovÃ¡nÃ­ ('addon', 'library', 'autoplay')
    c                  ó¸  •— 	 t          t          ¦  «        D ]B} t          j        ¦   «                              ¦   «         r nt          j        t          ¦  «         ŒCd S t          j        t          ¦  «         t          j
        ¦   «         }|                     t          ¦  «        s&t          j        d‰› d�t          j        ¬¦  «         d S t          j        ¦   «                              ¦   «         sd S ‰j        dk    rt!          ‰‰¦  «         d S t#          ‰‰¦  «         d S # t$          $ r1}t          j        d‰› d|› �t          j        ¬¦  «         Y d }~d S d }~ww xY w)NúR[plugin.video.milionar] DialogScheduler: Info dialog disabled in settings (source=ú)©ÚlevelÚmovieú6[plugin.video.milionar] DialogScheduler error (source=ú): )ÚrangeÚPLAYBACK_WAIT_ATTEMPTSÚxbmcÚPlayerÚ	isPlayingÚtimeÚsleepÚPLAYBACK_WAIT_INTERVALÚDIALOG_DELAYÚ	xbmcaddonÚAddonÚgetSettingBoolÚSETTINGS_KEYÚlogÚLOGINFOÚ
media_typeÚ_show_movie_dialogÚ_show_episode_dialogÚ	ExceptionÚ
LOGWARNING)Ú_ÚaddonÚeÚmetadataÚsources      €€úk/Users/chudy/Library/Application Support/Kodi/addons/plugin.video.milionar/wcs/playback/dialog_scheduler.pyÚ_workerz%schedule_info_dialog.<locals>._worker   s�  ø€ ð#	åÕ1Ñ2Ô2ð ð �Ý”;‘=”=×*Ò*Ñ,Ô,ð Ø�EÝ”
Õ1Ñ2Ô2Ð2Ð2à�õ ŒJ•|Ñ$Ô$Ð$õ ”OÑ%Ô%ˆEØ×'Ò'­Ñ5Ô5ð Ý”ØrÐioÐrÐrÐrÝœ,ðñ ô ð ð �õ ”;‘=”=×*Ò*Ñ,Ô,ð Ø�ð Ô" gÒ-Ð-Ý" 8¨VÑ4Ô4Ð4Ð4Ð4å$ X¨vÑ6Ô6Ð6Ð6Ð6øåð 	ð 	ð 	ÝŒHØWÈÐWÐWÐTUÐWÐWÝ”oðñ ô ð ð ð ð ð ð ð øøøøð	øøøs1   ƒAD ÁA*D Ã%D Ã/D ÄD Ä
EÄ(&EÅET©ÚtargetÚdaemonz3[plugin.video.milionar] DialogScheduler: Scheduled z info dialog (source=r   r   N)Ú	threadingÚThreadÚstartr   r   r    r   )r(   r)   r+   s   `` r*   Úschedule_info_dialogr2      s‰   øø€ ð$ð $ð $ð $ð $ð $õL Ô˜G¨DÐ1Ñ1Ô1×7Ò7Ñ9Ô9Ð9Ý„HØq¸hÔ>QÐqÐqÐhnÐqÐqÐqÝŒlðñ ô ð ð ð ó    c                 ó   — ddl m}  |¦   «         }|                     | j        | j        | j        | j        | j        | j        | j	        | j
        | j        | j        ¬¦
  «
         t          j        d| j        › d|› d�t          j        ¬¦  «         dS )	u   ZobrazÃ­ MovieInfoDialog.r   )Úget_movie_info_manager)
Úmovie_titleÚ
movie_yearÚmovie_thumbÚratingÚplotÚtmdb_idÚfanartÚgenreÚdirectorÚruntimez>[plugin.video.milionar] DialogScheduler: Movie info shown for ú	 (source=r   r   N)Ú$wcs.playback.DialogMediaInfoWithGamer5   Úshow_movie_infoÚtitleÚyearÚthumbr9   r:   r;   r<   r=   r>   r?   r   r   r   )r(   r)   r5   Úmovie_info_managers       r*   r!   r!   L   s¸   € àKÐKÐKÐKÐKÐKà/Ð/Ñ1Ô1ÐØ×&Ò&Ø”NØ”=Ø”NØŒØŒ]ØÔ ØŒØŒnØÔ"ØÔ ð 'ñ ô ð õ 	„HØkÈÌÐkÐkÐbhÐkÐkÐkÝŒlðñ ô ð ð ð r3   c                 óF  — ddl m}  |¦   «         }|                     | j        | j        p| j        r
d| j        › �nd| j        | j        | j        | j        | j	        | j
        | j        | j        ¬¦
  «
         t          j        d| j        › d|› d�t          j        ¬	¦  «         d
S )u   ZobrazÃ­ EpisodeInfoDialog.r   )Úget_episode_info_managerzEpizoda Ú )
Úseries_nameÚepisode_titleÚseason_numberÚepisode_numberÚepisode_thumbr9   rD   r:   r;   r<   z@[plugin.video.milionar] DialogScheduler: Episode info shown for r@   r   r   N)rA   rH   r   rJ   rK   rM   rL   rE   r9   rD   r:   r;   r<   r   r   r   )r(   r)   rH   Úepisode_info_managers       r*   r"   r"   c   sÝ   € àMÐMÐMÐMÐMÐMà3Ð3Ñ5Ô5ÐØ×*Ò*ØÔ(ØÔ,ð 
Ø4<Ô4KÐSÐ0�xÔ.Ð0Ð0Ð0ÐQSàÔ,ØÔ.Ø”nØŒØŒ]ØŒ]ØÔ ØŒð +ñ ô ð õ 	„HØsÈ8ÔK_ÐsÐsÐjpÐsÐsÐsÝŒlðñ ô ð ð ð r3   Úlibraryc                 ó²   ‡ ‡‡— ˆˆ ˆfd„}t          j        |d¬¦  «                             ¦   «          t          j        d‰› d�t          j        ¬¦  «         dS )u¢  NaplÃ¡nuje info dialog pro pÅ™ehrÃ¡vÃ¡nÃ­ z Kodi knihovny.

    Na rozdÃ­l od schedule_info_dialog metadata neznÃ¡ pÅ™edem -- zÃ­skÃ¡ je
    z knihovny aÅ¾ po startu pÅ™ehrÃ¡vÃ¡nÃ­ (Kodi JSON-RPC).

    Args:
        metadata_fetcher: callable() -> dict|None, vrÃ¡tÃ­ raw metadata z knihovny
        fallback_metadata: MediaMetadata instance pro pouÅ¾itÃ­ pokud fetcher selÅ¾e
        source: zdroj pro logovÃ¡nÃ­
    c                  óÀ  •— 	 t          t          ¦  «        D ]B} t          j        ¦   «                              ¦   «         r nt          j        t          ¦  «         ŒCd S t          j        t          ¦  «         t          j
        ¦   «         }|                     t          ¦  «        s&t          j        d‰› d�t          j        ¬¦  «         d S t          j        ¦   «                              ¦   «         sd S d }	  ‰¦   «         }n=# t          $ r0}t          j        d‰› d|› �t          j        ¬¦  «         Y d }~nd }~ww xY w|r5‰j        dk    rt%          j        |¦  «        }nt%          j        |¦  «        }n‰}|j        dk    rt+          |‰¦  «         d S t-          |‰¦  «         d S # t          $ r1}t          j        d‰› d|› �t          j        ¬¦  «         Y d }~d S d }~ww xY w)Nr
   r   r   zG[plugin.video.milionar] DialogScheduler: Metadata fetch failed (source=r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r#   r$   r    r   Úfrom_kodi_library_movieÚfrom_kodi_library_episoder!   r"   )r%   r&   Úraw_datar'   r(   Úfallback_metadataÚmetadata_fetcherr)   s        €€€r*   r+   z-schedule_library_info_dialog.<locals>._worker‡   sW  ø€ ð6	åÕ1Ñ2Ô2ð ð �Ý”;‘=”=×*Ò*Ñ,Ô,ð Ø�EÝ”
Õ1Ñ2Ô2Ð2Ð2à�õ ŒJ•|Ñ$Ô$Ð$õ ”OÑ%Ô%ˆEØ×'Ò'­Ñ5Ô5ð Ý”ØrÐioÐrÐrÐrÝœ,ðñ ô ð ð �õ ”;‘=”=×*Ò*Ñ,Ô,ð Ø�ð ˆHðØ+Ð+Ñ-Ô-��øÝð ð ð Ý”ØlÐ^dÐlÐlÐijÐlÐlÝœ/ðñ ô ð ð ð ð ð ð øøøøðøøøð ð -Ø$Ô/°7Ò:Ð:Ý,ÔDÀXÑNÔN�H�Hå,ÔFÀxÑPÔP�H�Hà,�ð Ô" gÒ-Ð-Ý" 8¨VÑ4Ô4Ð4Ð4Ð4å$ X¨vÑ6Ô6Ð6Ð6Ð6øåð 	ð 	ð 	ÝŒHØWÈÐWÐWÐTUÐWÐWÝ”oðñ ô ð ð ð ð ð ð ð øøøøð	øøøs\   ƒAF" ÁA*F" Ã%F" Ã/F" Ã2
C= Ã<F" Ã=
D7Ä&D2Ä-F" Ä2D7Ä7AF" ÆF" Æ"
GÆ,&GÇGTr,   zO[plugin.video.milionar] DialogScheduler: Scheduled library info dialog (source=r   r   N)r/   r0   r1   r   r   r   )rW   rV   r)   r+   s   ``` r*   Úschedule_library_info_dialogrX   |   s„   øøø€ ð7ð 7ð 7ð 7ð 7ð 7ð 7õr Ô˜G¨DÐ1Ñ1Ô1×7Ò7Ñ9Ô9Ð9Ý„HØcÐZ`ÐcÐcÐcÝŒlðñ ô ð ð ð r3   )r   )rP   )Ú__doc__r/   r   r   r   Úwcs.playback.metadatar   r   r   r   r   r2   r!   r"   rX   © r3   r*   ú<module>r\      s¼   ððð ð Ð Ð Ð Ø €€€Ø €€€Ø Ð Ð Ð à /Ð /Ð /Ð /Ð /Ð /ð Ð ØÐ Ø€Ø"€ð1ð 1ð 1ð 1ðhð ð ð.ð ð ð2Hð Hð Hð Hð Hð Hr3   