§
   ƒ–%ÒÏÃ�ã                   ó¢   — d Z 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 ddlm	Z	 ddl
mZ ddlmZmZ ddlmZ ddlmZ  G d	„ d
e	¦  «        Zdd„ZdS )u•  
MyCinema Dialog - Kino budoucnosti.

RozÅ¡iruje MyTV dialog pro sprÃ¡vu filmovÃ½ch kin mÃ­sto TV kanÃ¡lu se seriÃ¡ly.
PlnohodnotnÃ½ Apple TV layout adaptovanÃ½ pro filmy.

ModulÃ¡rnÃ­ architektura:
- DÄ›dÃ­ z MyTVDialog
- PÅ™episuje metody specifickÃ© pro filmy
- PouÅ¾Ã­vÃ¡ sdÃ­lenÃ½ AddMediaDialog s media_type='cinema'
- Hero zona zobrazuje prvnÃ­ film v kinÄ›
- Millionaire game s media_type='movie'
é    N)Ú
quote_plus)Ú
MyTVDialog)ÚMediaChannelManager)ÚAddMediaDialogÚcreate_add_media_controller)ÚChannelHistory)Úget_cache_managerc                   óÆ   ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zd„ Zd„ Zˆ fd„Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zdd„Zd„ Zdd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zˆ xZS )ÚMyCinemaDialoguÉ   
    Dialog pro MyCinema - sprÃ¡va filmovÃ½ch kin.
    
    DÄ›dÃ­ z MyTVDialog a pÅ™episuje metody specifickÃ© pro filmy.
    PouÅ¾Ã­vÃ¡ sdÃ­lenÃ½ Apple TV XML layout Å™Ã­zenÃ½ Python properties.
    c                 ó¤   •— d| _          t          t          | ¦  «        j        ||g|¢R i |¤Ž t	          | j        d¬¦  «        | _        d| _        d S )NÚcinema)Úchannel_typeÚ	my_cinema)Ú_channel_typeÚsuperr   Ú__init__r   ÚaddonÚchannel_managerÚ_nav_section_id)ÚselfÚxml_filenameÚ
addon_pathÚargsÚkwargsÚ	__class__s        €úc/Users/chudy/Library/Application Support/Kodi/addons/plugin.video.milionar/wcs/ai/DialogMyCinema.pyr   zMyCinemaDialog.__init__&   sd   ø€ à%ˆÔØ,��n˜dÑ#Ô#Ô,¨\¸:ÐWÈÐWÐWÐWÐPVÐWÐWÐWõ  3°4´:ÈHÐUÑUÔUˆÔð  +ˆÔÐÐó    c                 óæ  — |                       ¦   «          |                      dd¦  «         |                      dd¦  «         |                      dd¦  «         |                      dd¦  «         |                      d	d
¦  «         |                      dd
¦  «         |                      dd¦  «         |                      dd¦  «         |                      dd¦  «         |                      dd¦  «         d| _        | j        rEt	          | j                             ¦   «         ¦  «        D ]\  }}|j        | j        k    r	|| _         nŒ|                      d¦  «         |                      d¦  «         |                      d¦  «         |                      d¦  «         |  	                    ¦   «          	 |  
                    d¦  «        }|                     ¦   «          n#  Y nxY w|                      ¦   «          | j        | j        k    r*|                      ¦   «         s|                      dd¦  «         | j        | j        k    r|                      ¦   «          | j        | j        k    r(|                      ¦   «         r|                      ¦   «          t%          | j                             ¦   «         ¦  «        }|                      |o| j         ¬¦  «         |                      ¦   «          | j        | j        | j        fvr|                      ¦   «          | j        r|                      d¬¦  «         n|                      d¦  «         |s|                      ¦   «          dS | j        r|                      ¦   «          dS dS ) z0Initialize dialog with cinema-specific settings.úWCS.AIChat.TitleÚMyCinemazWCS.AIChat.StatusÚ
PripravenozWCS.MediaTyper   zWCS.Button.PlayzPrehrat filmyúWCS.Button.PlayEpúPrehrat filmzWCS.Button.PlaySerieszWCS.Button.DeletezSmazat kinozWCS.Button.DeleteConfirmzOpravdu smazat kino?zWCS.Row1.Labelz	Moje kinaúWCS.Row3.Labelz
Moje filmyr   zWCS.MyTV.Background.CustomzWCS.MyTV.Background.ReadyzWCS.MyTV.DeleteSeriesConfirmúWCS.MyTV.DeleteConfirmé(#  Útrue©Ú	set_focusF)ÚanimatezWCS.AIChat.VisibleN)Ú_reset_stateÚsetPropertyÚcurrent_channel_indexÚ_initial_channel_idÚ	enumerater   Úget_all_channelsÚidÚclearPropertyÚ_clear_hero_zoneÚ
getControlÚresetÚ_setup_background_propertiesÚ_bg_modeÚ	BG_STATICÚ _is_background_processing_neededÚBG_COLLAGE_POSTERSÚ_update_backgroundÚboolÚrefresh_channels_viewÚ_initial_editÚ_populate_my_series_listÚ_show_nav_on_initÚ_show_nav_sidebarÚ_create_new_channelÚ_show_series_grid_dialog)r   ÚindexÚchannelÚprogram_listÚhas_cinemass        r   ÚonInitzMyCinemaDialog.onInit1   s·  € à×ÒÑÔÐð 	×ÒÐ+¨ZÑ8Ô8Ð8Ø×ÒÐ,¨lÑ;Ô;Ð;ð 	×Ò˜¨(Ñ3Ô3Ð3ð 	×ÒÐ*¨OÑ<Ô<Ð<Ø×ÒÐ,¨nÑ=Ô=Ð=Ø×ÒÐ0°.ÑAÔAÐAØ×ÒÐ,¨mÑ<Ô<Ð<Ø×ÒÐ3Ð5KÑLÔLÐLð 	×ÒÐ)¨;Ñ7Ô7Ð7Ø×ÒÐ)¨<Ñ8Ô8Ð8ð &'ˆÔ"ØÔ#ð 	Ý"+¨DÔ,@×,QÒ,QÑ,SÔ,SÑ"TÔ"Tð ð ‘��wØ”: Ô!9Ò9Ð9Ø16�DÔ.Ø�Eð :ð
 	×ÒÐ7Ñ8Ô8Ð8Ø×ÒÐ6Ñ7Ô7Ð7ð 	×ÒÐ9Ñ:Ô:Ð:Ø×ÒÐ3Ñ4Ô4Ð4ð 	×ÒÑÔÐð	ØŸ?š?¨4Ñ0Ô0ˆLØ×ÒÑ Ô Ð Ð øð	ØˆDøøøð 	×)Ò)Ñ+Ô+Ð+ð Œ=˜DœNÒ*Ð*°4×3XÒ3XÑ3ZÔ3ZÐ*Ø×ÒÐ8¸&ÑAÔAÐAð Œ=˜DÔ3Ò3Ð3Ø×#Ò#Ñ%Ô%Ð%ð Œ=˜DœNÒ*Ð*¨t×/TÒ/TÑ/VÔ/VÐ*Ø×#Ò#Ñ%Ô%Ð%õ ˜4Ô/×@Ò@ÑBÔBÑCÔCˆØ×"Ò"¨[Ð-SÀÔASÐ=SÐ"ÑTÔTÐTð 	×%Ò%Ñ'Ô'Ð'ð Œ= ¤°Ô1HÐ IÐIÐIØ×#Ò#Ñ%Ô%Ð%ð Ô!ð 	5Ø×"Ò"¨5Ð"Ñ1Ô1Ð1Ð1à×ÒÐ3Ñ4Ô4Ð4ð ð 	,Ø×$Ò$Ñ&Ô&Ð&Ð&Ð&ØÔð 	,Ø×)Ò)Ñ+Ô+Ð+Ð+Ð+ð	,ð 	,s   Æ-)G ÇGc                 ór  — 	 |                       d¦  «        }|                     ¦   «         dk    r|                      ¦   «          dS |                     d¦  «        }|s|                      ¦   «          dS |                     ¦   «         pd}|                      d|¦  «         |                     d¦  «        p|                     d¦  «        pd}|                      d|¦  «         |                     d¦  «        pd}|                      d	|¦  «         |                     d
¦  «        pd}|                      d|¦  «         |                     d¦  «        pd}t          |¦  «        dk    r|dd…         dz   }|                      d|¦  «         g }|                     d¦  «        pd}	|	r| 	                    |	¦  «         | 
                    ¦   «         pd}
|
r| 	                    |
¦  «         |r| 	                    |¦  «         |                     d¦  «        pd}|r| 	                    d|› �¦  «         |                      dd                     |¦  «        ¦  «         |                     d¦  «        pd}|                      d|¦  «         |                     d¦  «        pd}|                     d¦  «        pd}|r¶|r´	 t          j        ||¦  «        }|rG|                     dd¦  «        dk    r-|                      dd¦  «         |                      dd¦  «         n-|                      d¦  «         |                      dd ¦  «         dS dS # t           $ r |                      d¦  «         Y dS w xY w|                      d¦  «         dS # t           $ r-}t#          j        d!|› �t"          j        ¦  «         Y d}~dS d}~ww xY w)"zAUpdate hero zone properties from the first movie in program list.r&   r   NÚ zWCS.MyTV.Hero.SeriesNameÚfanartzWCS.MyTV.Hero.FanartÚyearzWCS.MyTV.Hero.EpCodeÚepisode_titlezWCS.MyTV.Hero.EpTitleÚploti,  i)  ú...zWCS.MyTV.Hero.PlotÚgenreÚratingu   â˜… zWCS.MyTV.Hero.MetaLinez  |  Úseries_logozWCS.MyTV.Hero.SeriesLogoÚ
channel_idÚmovie_idÚpositioné<   zWCS.MyTV.Hero.HasResumer'   r"   Ú
Pokracovatr#   z%[MyCinema] Error updating hero zone: )r4   Úsizer3   ÚgetListItemÚgetLabelr,   ÚgetArtÚgetPropertyÚlenÚappendÚ	getLabel2Újoinr   Úget_movie_resume_pointÚgetr2   Ú	ExceptionÚxbmcÚlogÚLOGERROR)r   rF   ÚitemÚ
movie_namerK   rL   Úep_titlerN   Ú
meta_partsrP   ÚruntimerQ   ÚlogorS   rT   ÚresumeÚes                    r   Ú_update_hero_zonez MyCinemaDialog._update_hero_zone‹   sD  € ðG	QØŸ?š?¨4Ñ0Ô0ˆLØ× Ò Ñ"Ô" aÒ'Ð'Ø×%Ò%Ñ'Ô'Ð'Ø�à×+Ò+¨AÑ.Ô.ˆDØð Ø×%Ò%Ñ'Ô'Ð'Ø�ð Ÿš™œÐ.¨BˆJØ×ÒÐ7¸ÑDÔDÐDð —[’[ Ñ*Ô*ÐN¨d×.>Ò.>¸xÑ.HÔ.HÐNÈBˆFØ×ÒÐ3°VÑ<Ô<Ð<ð ×#Ò# FÑ+Ô+Ð1¨rˆDØ×ÒÐ3°TÑ:Ô:Ð:ð ×'Ò'¨Ñ8Ô8Ð>¸BˆHØ×ÒÐ4°hÑ?Ô?Ð?ð ×#Ò# FÑ+Ô+Ð1¨rˆDÝ�4‰yŒy˜3ŠˆØ˜D˜S˜D”z EÑ)�Ø×ÒÐ1°4Ñ8Ô8Ð8ð ˆJà×$Ò$ WÑ-Ô-Ð3°ˆEØð )Ø×!Ò! %Ñ(Ô(Ð(Ø—n’nÑ&Ô&Ð,¨"ˆGØð +Ø×!Ò! 'Ñ*Ô*Ð*Øð (Ø×!Ò! $Ñ'Ô'Ð'Ø×%Ò% hÑ/Ô/Ð5°2ˆFØð 3Ø×!Ò! /¨ / /Ñ2Ô2Ð2Ø×ÒÐ5°w·|²|ÀJÑ7OÔ7OÑPÔPÐPð ×#Ò# MÑ2Ô2Ð8°bˆDØ×ÒÐ7¸Ñ>Ô>Ð>ð ×)Ò)¨,Ñ7Ô7Ð=¸2ˆJØ×'Ò'¨
Ñ3Ô3Ð9°rˆHØð >˜hð >ð	BÝ+ÔBÀ:ÈxÑXÔX�FØð N &§*¢*¨Z¸Ñ";Ô";¸bÒ"@Ð"@Ø×(Ò(Ð)BÀFÑKÔKÐKØ×(Ò(Ð)<¸lÑKÔKÐKÐKà×*Ò*Ð+DÑEÔEÐEØ×(Ò(Ð)<¸nÑMÔMÐMÐMÐMð LÐKøõ !ð Bð Bð BØ×&Ò&Ð'@ÑAÔAÐAÐAÐAÐAðBøøøð ×"Ò"Ð#<Ñ=Ô=Ð=Ð=Ð=øåð 	Qð 	Qð 	QÝŒHÐ@¸QÐ@Ð@Å$Ä-ÑPÔPÐPÐPÐPÐPÐPÐPÐPøøøøð	QøøøsD   ‚AM? Á+M? Á2IM? Ê5B	M ÍM%Í!M? Í$M%Í%M? Í?
N6Î	"N1Î1N6c                 ód  — | j                              ¦   «         }t          |¦  «        }t          d„ |D ¦   «         ¦  «        }|                      d|› d|› d�¦  «         | j                              |¦  «        }|r |                      dd|j        › �¦  «         dS |                      dd¦  «         dS )	z-Update channel statistics display for cinema.c              3   ó>   K  — | ]}t          |j        ¦  «        V — Œd S )N)r]   Ú
media_list)Ú.0Úchs     r   ú	<genexpr>z7MyCinemaDialog._update_channel_stats.<locals>.<genexpr>Þ   s,   è è € ÐAÐA°"�3˜rœ}Ñ-Ô-ÐAÐAÐAÐAÐAÐAr   zWCS.Channel.GlobalStatsu    kin Â· u    filmÅ¯r   u   MyCinema Â· r    N)r   r0   r]   Úsumr,   Úget_channel_by_idÚname)r   rS   ÚchannelsÚtotal_channelsÚtotal_moviesrE   s         r   Ú_update_channel_statsz$MyCinemaDialog._update_channel_statsÚ   sÔ   € àÔ'×8Ò8Ñ:Ô:ˆÝ˜X™œˆÝÐAÐA¸ÐAÑAÔAÑAÔAˆà×ÒÐ2Ø*ÐIÐI°LÐIÐIÐIñ	Kô 	Kð 	Kð Ô&×8Ò8¸ÑDÔDˆØð 	=Ø×ÒÐ/Ð1NÀÄÐ1NÐ1NÑOÔOÐOÐOÐOà×ÒÐ/°Ñ<Ô<Ð<Ð<Ð<r   c           	      óð  — 	 |                       d¦  «        }|                     ¦   «          t          ¦   «         }g }	 ddlm} |                     | j        ¦  «        pg }|D ]k}t          |                     dd¦  «        p|                     dd¦  «        ¦  «        }|r.||vr*| 	                    |¦  «         | 
                    |¦  «         Œln9# t          $ r,}t          j        d|› �t          j        ¦  «         Y d}~nd}~ww xY w| j                             ¦   «         }	|	D ]_}
|
j        D ]U}t          |                     dd¦  «        ¦  «        }|r.||vr*| 	                    |¦  «         | 
                    |¦  «         ŒVŒ`|D �]‘}|                     d	¦  «        p|                     d
d¦  «        }t%          j        |¬¦  «        }|                     d¦  «        p|                     d¦  «        }|r|                     d¦  «        sd|› �}n|sd}t          |                     dd¦  «        p|                     dd¦  «        ¦  «        }|                     d|i¦  «         |                     d|¦  «         |                     d|¦  «         d}| j                             ¦   «         D ]@}|j        D ]2}t          |                     dd¦  «        ¦  «        |k    r	|j        } nŒ3|r nŒA|                     d|¦  «         |                     |¦  «         �Œ“|                      ddt3          |¦  «        › �¦  «         dS # t          $ r-}t          j        d|› �t          j        ¦  «         Y d}~dS d}~ww xY w)zOPopulate My Movies list (9060) with unique movies from all cinemas + user_data.éd#  r   )Ú	user_datar1   rJ   Útmdb_idz'[MyCinema] Error loading saved movies: Nrx   Útitle©ÚlabelÚposter_pathÚposterÚhttpúhttps://image.tmdb.org/t/p/w500úVspecial://home/addons/plugin.video.milionar/resources/media/placeholder_movie_card.pngÚ	series_idrT   rS   r$   u   Moje filmy  Â·  z,[MyCinema] Error populating My Movies list: )r4   r5   ÚsetÚwcsr   Úload_tmdb_moviesr   Ústrrb   Úaddr^   rc   rd   re   Ú
LOGWARNINGr   r0   rr   ÚxbmcguiÚListItemÚ
startswithÚsetArtr,   r1   ÚaddItemr]   rf   )r   Úmy_movies_listÚseen_idsÚ
all_moviesr   Úsaved_moviesÚmovierT   rn   ry   rE   rx   rg   r…   Úch_idrt   Úms                    r   r?   z'MyCinemaDialog._populate_my_series_listî   s  € ð;	XØ!Ÿ_š_¨TÑ2Ô2ˆNØ× Ò Ñ"Ô"Ð"å‘u”uˆHØˆJð	YØ)Ð)Ð)Ð)Ð)Ð)Ø(×9Ò9¸$¼*ÑEÔEÐKÈ�Ø)ð 1ð 1�EÝ" 5§9¢9¨T°2Ñ#6Ô#6Ð#R¸%¿)º)ÀIÈrÑ:RÔ:RÑSÔS�HØð 1 H°HÐ$<Ð$<Ø Ÿš XÑ.Ô.Ð.Ø"×)Ò)¨%Ñ0Ô0Ð0øð	1øõ
 ð Yð Yð YÝ”ÐFÀ1ÐFÐFÍÌÑXÔXÐXÐXÐXÐXÐXÐXøøøøðYøøøð Ô+×<Ò<Ñ>Ô>ˆHØ#ð 1ð 1�Ø$Ô/ð 1ð 1�EÝ" 5§9¢9¨T°2Ñ#6Ô#6Ñ7Ô7�HØð 1 H°HÐ$<Ð$<Ø Ÿš XÑ.Ô.Ð.Ø"×)Ò)¨%Ñ0Ô0Ð0øð	1ð $ð -ñ -�Ø—y’y Ñ(Ô(ÐB¨E¯IªI°g¸rÑ,BÔ,B�ÝÔ'¨dÐ3Ñ3Ô3�àŸš =Ñ1Ô1ÐH°U·Y²Y¸xÑ5HÔ5H�Øð v &×"3Ò"3°FÑ";Ô";ð vØG¸vÐGÐG�F�FØð vØu�Få˜uŸyšy¨¨rÑ2Ô2ÐN°e·i²iÀ	È2Ñ6NÔ6NÑOÔO�Ø—’˜X vÐ.Ñ/Ô/Ð/Ø× Ò  ¨hÑ7Ô7Ð7Ø× Ò  ¨XÑ6Ô6Ð6à�ØÔ.×?Ò?ÑAÔAð ð �BØœ]ð "ð "˜Ý˜qŸušu T¨2™œÑ/Ô/°8Ò;Ð;Ø$&¤E˜EØ!˜Eð <ð ð Ø˜ðà× Ò  ¨uÑ5Ô5Ð5Ø×&Ò& tÑ,Ô,Ð,Ñ,ð ×ÒÐ-Ð/WÅcÈ*ÁoÄoÐ/WÐ/WÑXÔXÐXÐXÐXøåð 	Xð 	Xð 	XÝŒHÐGÀAÐGÐGÍÌÑWÔWÐWÐWÐWÐWÐWÐWÐWøøøøð	XøøøsB   ‚9L> ¼BC ÃL> Ã
DÃ"C>Ã9L> Ã>DÄH9L> Ì>
M5Í"M0Í0M5c                 ó€  •— |                       |¦  «        rdS |                      |¦  «        rdS |                      |¦  «        rdS |dk    r�|                      d¦  «        dk    r|                      ¦   «          dS |                      d¦  «        }|                     ¦   «         }|                     d¦  «        dk    r|                      ¦   «          dS |                      ¦   «          dS |dk    r|  	                    ¦   «          �n|dk    r*|  
                    ¦   «          |                      ¦   «          �nà|dk    r,|                      ¦   «          |                      d	d
¦  «         �n®|dk    r|                      ¦   «          �n’|dk    r|                      ¦   «          �nv|dk    r|                      ¦   «          �nZ|dk    r|                      ¦   «          �n>|dk    r|                      ¦   «          �n"|dk    r|                      ¦   «          �n|dk    r|                      ¦   «          në|dk    r|                      ¦   «          nÐ|dk    r|                      ¦   «          nµ|dk    r|                      ¦   «          nš|dk    r|                      ¦   «          n|dk    r|                      ¦   «          nd|dk    rD|                      d¦  «        dk    r|                      ¦   «          dS |                      ¦   «          n|dk    r|                      ¦   «          t3          t4          | ¦  «                             |¦  «         dS )z)Handle clicks with cinema-specific logic.NéÐ  zWCS.MyTV.ReorderModer'   Úis_create_buttonéŒ#  i–#  i—#  u   Program zamÃ­chÃ¡noÚsuccessi˜#  i™#  iš#  i›#  r~   i+#  i.#  i/#  i,#  iP#  iR#  iS#  r&   zWCS.MyTV.ProgramReorderModei@#  )Ú_handle_edit_progress_clickÚ_handle_series_detail_clickÚ_handle_add_series_clickr\   Ú_confirm_reorderr4   ÚgetSelectedItemrB   rC   Ú_handle_grid_clickÚ_close_series_grid_dialogÚ_play_broadcastÚrefresh_program_viewÚ_show_toastÚ_enter_reorder_modeÚ"_regenerate_channel_name_from_gridÚ_show_delete_confirmationÚ_play_game_from_cinema_gridÚ_handle_my_movies_clickÚ_confirm_delete_channelÚ_cancel_delete_confirmationÚ_play_hero_movieÚ_play_game_from_homeÚ_confirm_program_reorderÚ_play_program_itemr   r   ÚonClick)r   Ú	controlIdÚlist_controlrg   r   s       €r   r¶   zMyCinemaDialog.onClick1  s¡  ø€ ð ×+Ò+¨IÑ6Ô6ð 	ØˆFð ×+Ò+¨IÑ6Ô6ð 	ØˆFð ×(Ò(¨Ñ3Ô3ð 	ØˆFà˜ÒÐà×ÒÐ 6Ñ7Ô7¸6ÒAÐAØ×%Ò%Ñ'Ô'Ð'Ø�ð  Ÿ?š?¨4Ñ0Ô0ˆLØ×/Ò/Ñ1Ô1ˆDØ×ÒÐ 2Ñ3Ô3°vÒ=Ð=Ø×(Ò(Ñ*Ô*Ð*Ø�ð ×-Ò-Ñ/Ô/Ð/Ø�à˜$ÒÐà×#Ò#Ñ%Ô%Ð%Ñ%à˜$ÒÐà×*Ò*Ñ,Ô,Ð,Ø× Ò Ñ"Ô"Ð"Ñ"à˜$ÒÐà×%Ò%Ñ'Ô'Ð'Ø×ÒÐ2°IÑ>Ô>Ð>Ñ>à˜$ÒÐà×$Ò$Ñ&Ô&Ð&Ñ&à˜$ÒÐà×3Ò3Ñ5Ô5Ð5Ñ5à˜$ÒÐà×*Ò*Ñ,Ô,Ð,Ñ,à˜$ÒÐà×,Ò,Ñ.Ô.Ð.Ñ.à˜$ÒÐà×(Ò(Ñ*Ô*Ð*Ñ*à˜$ÒÐØ×*Ò*Ñ,Ô,Ð,Ñ,Ø˜$ÒÐØ×(Ò(Ñ*Ô*Ð*Ð*Ø˜$ÒÐØ×,Ò,Ñ.Ô.Ð.Ð.à˜$ÒÐà× Ò Ñ"Ô"Ð"Ð"à˜$ÒÐà×!Ò!Ñ#Ô#Ð#Ð#à˜$ÒÐà×!Ò!Ñ#Ô#Ð#Ð#à˜$ÒÐà×%Ò%Ñ'Ô'Ð'Ð'à˜$ÒÐà×ÒÐ =Ñ>Ô>À&ÒHÐHØ×-Ò-Ñ/Ô/Ð/Ø�Ø×#Ò#Ñ%Ô%Ð%Ð%à˜$ÒÐà×#Ò#Ñ%Ô%Ð%õ 	�j˜$ÑÔ×'Ò'¨	Ñ2Ô2Ð2Ð2Ð2r   c           	      ó‚  — 	 |                       d¦  «        }|                     ¦   «         dk    r|                      dd¦  «         dS |                     d¦  «        }|sdS |                     ¦   «         pd}|                     d¦  «        pd}|                     d¦  «        pd}|                     d	¦  «        pd}|                     d
¦  «        pd}|                     d¦  «        pd}|                      ||||||d¬¦  «         dS # t          $ r-}	t          j
        d|	› �t          j        ¦  «         Y d}	~	dS d}	~	ww xY w)zHStart Millionaire game from Home button (9043) with first movie context.r&   r   õ   Å½Ã¡dnÃ© filmy v kinÄ›ÚwarningNrJ   rN   r…   rK   rR   rT   r™   ©r‰   r�   rN   r…   rK   rl   Ú
media_typez*[MyCinema] Error starting game from home: )r4   rX   rª   rY   rZ   r\   r[   Ú_show_game_dialogrc   rd   re   rf   )
r   rF   rg   rh   rN   r…   rK   rl   rT   rn   s
             r   r³   z#MyCinemaDialog._play_game_from_home›  s‚  € ð	VØŸ?š?¨4Ñ0Ô0ˆLØ× Ò Ñ"Ô" aÒ'Ð'Ø× Ò Ð!9¸9ÑEÔEÐEØ�à×+Ò+¨AÑ.Ô.ˆDØð Ø�àŸš™œÐ.¨BˆJØ×#Ò# FÑ+Ô+Ð1¨rˆDØ—[’[ Ñ*Ô*Ð0¨bˆFØ—[’[ Ñ*Ô*Ð0¨bˆFØ×#Ò# MÑ2Ô2Ð8°bˆDØ×'Ò'¨
Ñ3Ô3Ð9°rˆHà×"Ò"Ø"Ø ØØØØØ"ð #ñ ô ð ð ð øõ ð 	Vð 	Vð 	VÝŒHÐEÀ!ÐEÐEÅtÄ}ÑUÔUÐUÐUÐUÐUÐUÐUÐUøøøøð	Vøøøs%   ‚AD ÁD Á B%D Ä
D>Ä"D9Ä9D>c           	      ó  — 	 |                       d¦  «        }|                     ¦   «         }|sdS |                     d¦  «        }| j                             |¦  «        }|r|j        s|                      dd¦  «         dS |j        pd}g }|j        D ]|}|                     d¦  «        p|                     dd¦  «        }|                     d	d¦  «        }	|r7|	r| 	                    d
|› d|	› �¦  «         Œc| 	                    d
|› d
�¦  «         Œ}d 
                    |¦  «        }
|j        pd}|                      d||
|ddd¬¦  «         dS # t          $ r-}t          j        d|› �t          j        ¦  «         Y d}~dS d}~ww xY w)zGStart Millionaire game from Series Grid (9115) with cinema mix context.r�   NrS   rº   r»   rJ   rx   r�   Úoverviewú"z": z | rE   r¼   z*[MyCinema] Error starting game from grid: )r4   r¥   r\   r   rw   rr   rª   rx   rb   r^   r`   Úiconr¾   rc   rd   re   rf   )r   r¸   rg   rS   rE   Úcinema_nameÚmovie_partsr›   rx   rÀ   Úcombined_plotr…   rn   s                r   r®   z*MyCinemaDialog._play_game_from_cinema_gridº  sì  € ð'	VØŸ?š?¨4Ñ0Ô0ˆLØ×/Ò/Ñ1Ô1ˆDØð Ø�à×)Ò)¨,Ñ7Ô7ˆJØÔ*×<Ò<¸ZÑHÔHˆGØð  'Ô"4ð Ø× Ò Ð!9¸9ÑEÔEÐEØ�à!œ,Ð,¨"ˆKð ˆKØÔ'ð 8ð 8�Ø—u’u˜V‘}”}Ð:¨¯ª¨g°rÑ(:Ô(:�ØŸ5š5 ¨RÑ0Ô0�Øð 8Øð 8Ø#×*Ò*Ð+B¨tÐ+BÐ+B¸Ð+BÐ+BÑCÔCÐCÐCà#×*Ò*¨;¨t¨;¨;¨;Ñ7Ô7Ð7øØ!ŸJšJ {Ñ3Ô3ˆMð ”\Ð' RˆFà×"Ò"ØØ!Ø"ØØØØ$ð #ñ ô ð ð ð øõ ð 	Vð 	Vð 	VÝŒHÐEÀ!ÐEÐEÅtÄ}ÑUÔUÐUÐUÐUÐUÐUÐUÐUøøøøð	Vøøøs$   ‚+E
 ¯AE
 Á?C	E
 Å

FÅ"E<Å<Fc                 óX  — 	 |                       d¦  «        }|                     ¦   «         dk    r|                      dd¦  «         dS |                     d¦  «         |                      ¦   «          dS # t
          $ r-}t          j        d|› �t          j        ¦  «         Y d}~dS d}~ww xY w)z3Play the first movie from program list (hero zone).r&   r   u   Å½Ã¡dnÃ© filmy k pÅ™ehrÃ¡nÃ­r»   Nz%[MyCinema] Error playing hero movie: )	r4   rX   rª   Ú
selectItemrµ   rc   rd   re   rf   )r   rF   rn   s      r   r²   zMyCinemaDialog._play_hero_movieé  sÌ   € ð
	QØŸ?š?¨4Ñ0Ô0ˆLØ× Ò Ñ"Ô" aÒ'Ð'Ø× Ò Ð!?ÀÑKÔKÐKØ�ð ×#Ò# AÑ&Ô&Ð&Ø×#Ò#Ñ%Ô%Ð%Ð%Ð%øÝð 	Qð 	Qð 	QÝŒHÐ@¸QÐ@Ð@Å$Ä-ÑPÔPÐPÐPÐPÐPÐPÐPÐPøøøøð	Qøøøs   ‚AA2 Á)A2 Á2
B)Á<"B$Â$B)c                 óf  — 	 |                       d¦  «        }|                     ¦   «         }|rF|                     d¦  «        }|                     d¦  «        }|r|r|                      ||¦  «         dS dS dS dS # t          $ r-}t          j        d|› �t
          j        ¦  «         Y d}~dS d}~ww xY w)z:Handle click on My Movies list (9060) - open movie detail.r~   rT   rS   z6[MyCinema] Error opening movie detail from My Movies: N)r4   r¥   r\   Ú_show_movie_detail_dialogrc   rd   re   rf   )r   r•   ÚselectedrT   rS   rn   s         r   r¯   z&MyCinemaDialog._handle_my_movies_click÷  sþ   € ð		bØ!Ÿ_š_¨TÑ2Ô2ˆNØ%×5Ò5Ñ7Ô7ˆHØð IØ#×/Ò/°
Ñ;Ô;�Ø%×1Ò1°,Ñ?Ô?�
Øð I 
ð IØ×2Ò2°8¸ZÑHÔHÐHÐHÐHð	Ið IðIð Ið Ið Iøåð 	bð 	bð 	bÝŒHÐQÈaÐQÐQÕSWÔS`ÑaÔaÐaÐaÐaÐaÐaÐaÐaøøøøð	bøøøs   ‚A/A9 Á9
B0Â"B+Â+B0c                 óø   — |                       d¦  «        }|                     ¦   «                              d¦  «        }t          | | j        | j        |dd¬¦  «        | _        | j                             ¦   «          dS )uï   
        Override: Show the inline Add Media dialog for MOVIES.
        
        Toto je klÃ­Ä�ovÃ¡ pÅ™epsanÃ¡ metoda - parent volÃ¡ tuto metodu pro grid,
        my ji pÅ™episujeme aby pouÅ¾Ã­vala media_type='cinema' mÃ­sto 'tv'.
        r�   rS   Nr   )Úon_close_callbackr½   )r4   r¥   r\   r   r   r   Ú_add_series_controllerÚshow)r   r¸   rS   s      r   Ú_show_add_series_dialogz&MyCinemaDialog._show_add_series_dialog  s   € ð —’ tÑ,Ô,ˆØ!×1Ò1Ñ3Ô3×?Ò?ÀÑMÔMˆ
õ 'BØ�$”*˜dÔ2°JØ"Øð'
ñ '
ô '
ˆÔ#ð 	Ô#×(Ò(Ñ*Ô*Ð*Ð*Ð*r   c                 óô  — t          | d¦  «        r| j        sdS | j                             ¦   «         }| j        j        }| j                             ¦   «          d| _        t          | dd¦  «        }|�r—||k    �r�d| _        | j                             |¦  «        }|r|j	        s2| j         
                    |¦  «         |                      dd¦  «         �nddlm}  || j        ¦  «        }| j                             d¦  «        pd	}d
|v s|dk    rn|                     |j	        d¬¦  «        }| j                             ||¦  «         | j                             |¦  «         |                      ||j	        |¦  «         nk|                     |j	        d¬¦  «        }	| j                             ||	¦  «         | j                             |¦  «         |                      d|	› d�d¦  «         d| _        |                      d¬¦  «         dS |rl| j                             |¦  «         |                      ¦   «          |                      ¦   «          |                      ¦   «          |                      ¦   «          dS dS )z—
        Override: Close the inline Add Media dialog and refresh if needed.
        Handles cinema-specific naming and channel creation logic.
        rÍ   NÚ_pending_new_channel_idz2Kino nebylo vytvoreno - nepridali jste zadne filmyr»   r   )ÚChannelNameGeneratorÚmytv_channel_namingrJ   ÚAIÚ1r   ©r½   zKino 'z' vytvorenor    Tr(   )ÚhasattrrÍ   Úwas_media_addedrS   ÚhideÚgetattrrÑ   r   rw   rr   Údelete_channelrª   Úwcs.ai.ChannelNameGeneratorrÒ   r   Ú
getSettingÚgenerate_from_genresÚrename_channelÚgenerate_channel_compositeÚ_generate_ai_channel_name_asyncr-   r=   Úupdate_editor_viewr©   r?   )
r   Úmedia_addedrS   Úpending_channel_idrE   rÒ   Ú	generatorÚnaming_modeÚ	temp_nameÚnew_names
             r   Ú_close_add_series_dialogz'MyCinemaDialog._close_add_series_dialog  s¾  € õ
 �tÐ5Ñ6Ô6ð 	¸dÔ>Yð 	ØˆFàÔ1×AÒAÑCÔCˆØÔ0Ô;ˆ
ØÔ#×(Ò(Ñ*Ô*Ð*Ø&*ˆÔ#õ % TÐ+DÀdÑKÔKÐàñ '	,Ð"4¸
Ò"BÑ"BØ+/ˆDÔ(àÔ*×<Ò<¸ZÑHÔHˆGàð P 'Ô"4ð PàÔ$×3Ò3°JÑ?Ô?Ð?Ø× Ò Ð!UÐW`ÑaÔaÐaÑað MÐLÐLÐLÐLÐLØ0Ð0°´Ñ<Ô<�	à"œj×3Ò3Ð4IÑJÔJÐPÈb�à˜;Ð&Ð&¨+¸Ò*<Ð*<à )× >Ò >¸wÔ?QÐ^fÐ >Ñ gÔ g�IØÔ(×7Ò7¸
ÀIÑNÔNÐNØÔ(×CÒCÀJÑOÔOÐOØ×8Ò8¸ÀWÔEWÐYbÑcÔcÐcÐcð  )×=Ò=¸gÔ>PÐ]eÐ=ÑfÔf�HØÔ(×7Ò7¸
ÀHÑMÔMÐMØÔ(×CÒCÀJÑOÔOÐOØ×$Ò$Ð%C¨hÐ%CÐ%CÐ%CÀYÑOÔOÐOð *+ˆDÔ&Ø×&Ò&°Ð&Ñ6Ô6Ð6Ð6Ð6àð 	,àÔ ×;Ò;¸JÑGÔGÐGØ×#Ò#Ñ%Ô%Ð%Ø×%Ò%Ñ'Ô'Ð'Ø×&Ò&Ñ(Ô(Ð(Ø×)Ò)Ñ+Ô+Ð+Ð+Ð+ð	,ð 	,r   c                 ón   ‡ ‡‡‡— ˆˆˆˆ fd„}t          j        |d¬¦  «                             ¦   «          dS )z+Generate AI name for cinema asynchronously.c                  óD  •— 	 ‰                      ‰d¬¦  «        } | rJ‰j                             ‰| ¦  «         ‰                     ¦   «          ‰                     d| › �d¦  «         d S d S # t
          $ r-}t          j        d|› �t          j        ¦  «         Y d }~d S d }~ww xY w)Nr   rÖ   zAI pojmenovalo kino: r    z[MyCinema] AI naming error: )	Úgenerate_from_air   rß   r=   rª   rc   rd   re   rf   )Úai_namern   rS   rå   rr   r   s     €€€€r   Úworkerz>MyCinemaDialog._generate_ai_channel_name_async.<locals>.workerW  sÚ   ø€ ðLØ#×4Ò4°ZÈHÐ4ÑUÔU�Øð SØÔ(×7Ò7¸
ÀGÑLÔLÐLØ×.Ò.Ñ0Ô0Ð0Ø×$Ò$Ð%F¸WÐ%FÐ%FÈ	ÑRÔRÐRÐRÐRðSð Søõ ð Lð Lð LÝ”Ð;¸Ð;Ð;½T¼]ÑKÔKÐKÐKÐKÐKÐKÐKÐKøøøøðLøøøs   ƒA!A( Á(
BÁ2"BÂBT)ÚtargetÚdaemonN)Ú	threadingÚThreadÚstart)r   rS   rr   rå   rî   s   ```` r   rá   z.MyCinemaDialog._generate_ai_channel_name_asyncU  s`   øøøø€ ð	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Lõ 	Ô ¨tÐ4Ñ4Ô4×:Ò:Ñ<Ô<Ð<Ð<Ð<r   Fc                 óÞ  — | j                              ¦   «         }|                      d¦  «        }|                     ¦   «          |D ]s}t	          j        |j        ¬¦  «        }|j        r|j        nd}|                     d|i¦  «         | 	                    d|j
        ¦  «         |                     |¦  «         Œtt	          j        d¬¦  «        }|                     ddi¦  «         | 	                    dd	¦  «         |                     |¦  «         | j        |                     ¦   «         k    rd
| _        |                     ¦   «         d
k    rŸ|                     | j        ¦  «         | j        r;|                     ¦   «         | j        k    rt#          j        d| j        › d�d¦  «         |                      ¦   «          |                      ¦   «          |r|                      dd¬¦  «         dS dS dS )z5Populate the bottom list with cinema channels (kina).r�   r‚   rˆ   r…   rS   úVytvorit nove kinoúIspecial://home/addons/plugin.video.milionar/resources/media/plus_card.pngrž   r'   r   zSetFocus(2000,z
,absolute)Tg      à?©ÚdelayN)r   r0   r4   r5   r�   r‘   rx   rÂ   r“   r,   r1   r”   r-   rX   rÇ   r.   ÚgetSelectedPositionrd   Úexecutebuiltinrâ   r©   Ú_delayed_focus)r   r)   ry   r¸   rt   rg   rÂ   Úcreate_items           r   r=   z$MyCinemaDialog.refresh_channels_viewg  s  € àÔ'×8Ò8Ñ:Ô:ˆØ—’ tÑ,Ô,ˆØ×ÒÑÔÐàð 	'ð 	'ˆBÝÔ#¨"¬'Ð2Ñ2Ô2ˆDØ œgð  D�2”7�7ð  ,DˆDØ�KŠK˜ 4Ð(Ñ)Ô)Ð)Ø×Ò˜\¨2¬5Ñ1Ô1Ð1Ø× Ò  Ñ&Ô&Ð&Ð&õ Ô&Ð-AÐBÑBÔBˆØ×Ò˜HÐ&qÐrÑsÔsÐsØ×ÒÐ 2°FÑ;Ô;Ð;Ø×Ò˜[Ñ)Ô)Ð)ð Ô%¨×):Ò):Ñ)<Ô)<Ò<Ð<Ø)*ˆDÔ&à×ÒÑÔ Ò"Ð"Ø×#Ò# DÔ$>Ñ?Ô?Ð?ØÔ'ð c¨L×,LÒ,LÑ,NÔ,NÐRVÔRlÒ,lÐ,lÝÔ#Ð$[°TÔ5OÐ$[Ð$[Ð$[Ð]aÑbÔbÐbØ×#Ò#Ñ%Ô%Ð%Ø×%Ò%Ñ'Ô'Ð'Øð 5Ø×#Ò# D°Ð#Ñ4Ô4Ð4Ð4Ð4ð #Ð"ð5ð 5r   c           	      óÄ  — |                       d¦  «        }|                     ¦   «         }|dk     rdS |                     |¦  «        }|                     d¦  «        dk    r)|                       d¦  «                             ¦   «          dS |                     d¦  «        }| j                             |¦  «        }|                       d¦  «        }|                     ¦   «          |�r||j        D �]}t          j	        | 
                    d¦  «        p| 
                    d	d
¦  «        ¬¦  «        }| 
                    d¦  «        p| 
                    d¦  «        }	|	r|	                     d¦  «        sd|	› �}	n|	sd}	|                     d|	i¦  «         |                     dt          | 
                    d¦  «        ¦  «        ¦  «         |                     d|¦  «         |                     |¦  «         �Œt          j	        d¬¦  «        }
|
                     ddi¦  «         |
                     dd¦  «         |
                     d|¦  «         |                     |
¦  «         dS dS )z9Update grid 9100 based on selected cinema - shows movies.r�   r   Nrž   r'   rŸ   rS   rx   r�   rJ   r‚   r„   r…   r†   r‡   rˆ   rT   r1   zPridat filmrö   Úis_add_button)r4   rù   rY   r\   r5   r   rw   rr   r�   r‘   rb   r’   r“   r,   r�   r”   )r   r¸   Úidxrg   rS   rE   Úgrid_controlr™   Úm_itemr…   Úadd_items              r   râ   z!MyCinemaDialog.update_editor_view‹  sd  € à—’ tÑ,Ô,ˆØ×.Ò.Ñ0Ô0ˆØ�Š7ˆ7ØˆFà×'Ò'¨Ñ,Ô,ˆð ×ÒÐ.Ñ/Ô/°6Ò9Ð9Ø�OŠO˜DÑ!Ô!×'Ò'Ñ)Ô)Ð)ØˆFà×%Ò% lÑ3Ô3ˆ
ØÔ&×8Ò8¸ÑDÔDˆà—’ tÑ,Ô,ˆØ×ÒÑÔÐàñ 	+à Ô+ð -ñ -�Ý Ô)°·	²	¸&Ñ0AÔ0AÐ0[ÀUÇYÂYÈwÐXZÑE[ÔE[Ð\Ñ\Ô\�ØŸš =Ñ1Ô1ÐH°U·Y²Y¸xÑ5HÔ5H�Øð w &×"3Ò"3°FÑ";Ô";ð wØHÀÐHÐH�V�VØð wØv�Và—’˜x¨Ð0Ñ1Ô1Ð1Ø×"Ò" :­s°5·9²9¸T±?´?Ñ/CÔ/CÑDÔDÐDØ×"Ò" <°Ñ<Ô<Ð<Ø×$Ò$ VÑ,Ô,Ð,Ñ,õ Ô'¨mÐ<Ñ<Ô<ˆHØ�OŠO˜XÐ'rÐsÑtÔtÐtØ× Ò  °&Ñ9Ô9Ð9Ø× Ò  ¨zÑ:Ô:Ð:Ø× Ò  Ñ*Ô*Ð*Ð*Ð*ð)	+ð 	+r   c                 óV  — t          | d¦  «        sd| _        t          | d¦  «        sd| _        | xj        dz  c_        | j        }|                      d¦  «        }|                     ¦   «         }|dk     rdS |                     |¦  «        }|                     d¦  «        }|sdS || _        |                      |¦  «         | j        r| j         	                    ¦   «          t          j        d| j        ||f¬	¦  «        | _        d
| j        _        | j                             ¦   «          dS )zBLoad movie list for the current cinema (simplified - no episodes).Ú_program_load_tokenr   Ú_program_load_timerNé   r�   rS   g333333Ó?)r   T)r×   r  r  r4   rù   rY   r\   Ú_current_loaded_channel_idr|   Úcancelrñ   ÚTimerÚ_async_movie_loadrð   ró   )r   ÚshuffleÚcurrent_tokenr¸   rÿ   rg   rS   s          r   r©   z#MyCinemaDialog.refresh_program_view¹  sQ  € õ �tÐ2Ñ3Ô3ð 	)Ø'(ˆDÔ$Ý�tÐ2Ñ3Ô3ð 	,Ø'+ˆDÔ$ð 	Ð Ô  AÑ%Ð Ô ØÔ0ˆð —’ tÑ,Ô,ˆØ×.Ò.Ñ0Ô0ˆØ�Š7ˆ7ØˆFà×'Ò'¨Ñ,Ô,ˆØ×%Ò% lÑ3Ô3ˆ
Øð 	ØˆFà*4ˆÔ'ð 	×"Ò" :Ñ.Ô.Ð.ð Ô#ð 	.ØÔ$×+Ò+Ñ-Ô-Ð-õ $-¤?ØØÔ"Ø Ð,ð$
ñ $
ô $
ˆÔ ð
 +/ˆÔ Ô'ØÔ ×&Ò&Ñ(Ô(Ð(Ð(Ð(r   c                 óÖ  — || j         k    rdS | j                             |¦  «        }|r|j        sH	 |                      d¦  «        }|                     ¦   «          |                      ¦   «          n#  Y nxY wdS t          |j        ¦  «        }t          j	        |¦  «         	 |                      d¦  «        }|                     ¦   «          |dd…         D ]/}|  
                    ||¦  «        }|r|                     |¦  «         Œ0|                      ¦   «          |                      |¬¦  «         dS # t          $ r-}t          j        d|› �t          j        ¦  «         Y d}~dS d}~ww xY w)z0Load movies for the program list (async worker).Nr&   é   )rS   z![MyCinema] Error loading movies: )r  r   rw   rr   r4   r5   r3   ÚlistÚrandomr  Ú_create_movie_list_itemr”   ro   r;   rc   rd   re   rf   )	r   ÚtokenrS   rE   rF   Úmoviesr™   rg   rn   s	            r   r
  z MyCinemaDialog._async_movie_loadâ  s¨  € ð �DÔ,Ò,Ð,ØˆFàÔ&×8Ò8¸ÑDÔDˆØð 	˜gÔ0ð 	ðØ#Ÿš¨tÑ4Ô4�Ø×"Ò"Ñ$Ô$Ð$Ø×%Ò%Ñ'Ô'Ð'Ð'øðØ�øøøØˆFõ �gÔ(Ñ)Ô)ˆÝŒ�vÑÔÐð	MØŸ?š?¨4Ñ0Ô0ˆLØ×ÒÑ Ô Ð à   œð /ð /�Ø×3Ò3°E¸:ÑFÔF�Øð /Ø ×(Ò(¨Ñ.Ô.Ð.øð ×"Ò"Ñ$Ô$Ð$ð ×#Ò#¨zÐ#Ñ:Ô:Ð:Ð:Ð:øåð 	Mð 	Mð 	MÝŒHÐ<¸Ð<Ð<½d¼mÑLÔLÐLÐLÐLÐLÐLÐLÐLøøøøð	Møøøs$   ²=A0 Á0A4Â"BD1 Ä1
E(Ä;"E#Å#E(c           	      ó  — 	 |                      d¦  «        p|                      dd¦  «        }t          j        |¬¦  «        }|                      d¦  «        p|                      d¦  «        }|r|                     d¦  «        sd|› �}|                      d	¦  «        p|                      d
¦  «        }|r|                     d¦  «        sd|› �}|                     |pd|p|pd|pddœ¦  «         |                      d¦  «        r|                      dd¦  «        dd…         nd}|                      dd¦  «        }|r|                     |› d�¦  «         |                     dt          |                      dd¦  «        ¦  «        ¦  «         |                     d|¦  «         |                     d|¦  «         |                     d|                      dd¦  «        ¦  «         |                     dt          |                      dd¦  «        ¦  «        dk    r!|                      dd¦  «        dd…         dz   n|                      dd¦  «        ¦  «         |                     d|                      dd¦  «        ¦  «         |                     d|                      d ¦  «        r#t          |                      d d¦  «        ¦  «        nd¦  «         |                     d!|                      d"d¦  «        ¦  «         |                     d#|¦  «         |                      d¦  «        }	|	r-|r+t          j
        ||	¦  «        r|                     d$d%¦  «         |S # t          $ r-}
t          j        d&|
› �t          j        ¦  «         Y d}
~
dS d}
~
ww xY w)'z*Create ListItem for movie in program list.rx   r�   zNeznamy filmr‚   r„   r…   r†   r‡   Úbackdrop_pathrK   ú https://image.tmdb.org/t/p/w1280rˆ   rJ   )r…   ÚthumbrK   Úrelease_dateNé   rk   r   z minrT   r1   rS   rL   rN   rÀ   Ú
plot_shortéd   rO   rP   rQ   Úvote_averagerM   ÚtaglineÚep_codeÚwatchedr'   z&[MyCinema] Error creating movie item: )rb   r�   r‘   r’   r“   Ú	setLabel2r,   r�   r]   r   Úis_movie_watchedrc   rd   re   rf   )r   r™   rS   rx   rg   r…   ÚbackdroprL   rk   rT   rn   s              r   r  z&MyCinemaDialog._create_movie_list_item	  sÓ  € ð/	Ø—9’9˜VÑ$Ô$ÐJ¨¯	ª	°'¸>Ñ(JÔ(JˆDÝÔ#¨$Ð/Ñ/Ô/ˆDð —Y’Y˜}Ñ-Ô-ÐD°·²¸8Ñ1DÔ1DˆFØð D˜f×/Ò/°Ñ7Ô7ð DØC¸6ÐCÐC�à—y’y Ñ1Ô1ÐH°U·Y²Y¸xÑ5HÔ5HˆHØð I × 3Ò 3°FÑ ;Ô ;ð IØH¸hÐHÐH�à�KŠKØ Ð|Ð$|Ø!Ð1 VÐ1¨rØ"˜. bðð ñ ô ð ð 9>¿	º	À.Ñ8QÔ8QÐY�5—9’9˜^¨RÑ0Ô0°°!°Ô4Ð4ÐWYˆDØ—i’i 	¨1Ñ-Ô-ˆGØð 1Ø—’ 'Ð/Ð/Ð/Ñ0Ô0Ð0à×Ò˜Z­¨U¯YªY°t¸RÑ-@Ô-@Ñ)AÔ)AÑBÔBÐBØ×Ò˜\¨:Ñ6Ô6Ð6Ø×Ò˜V TÑ*Ô*Ð*Ø×Ò˜V U§Y¢Y¨z¸2Ñ%>Ô%>Ñ?Ô?Ð?Ø×Ò˜\ÕX[Ð\a×\eÒ\eÐfpÐrtÑ\uÔ\uÑXvÔXvÐy|ÒX|ÐX|¨E¯IªI°jÀ"Ñ,EÔ,EÀdÀsÀdÔ,KÈeÑ,SÐ,Sð  CH÷  CLò  CLð  MWð  Y[ñ  C\ô  C\ñ  ]ô  ]ð  ]Ø×Ò˜W e§i¢i°¸Ñ&<Ô&<Ñ=Ô=Ð=Ø×Ò˜XÈUÏYÊYÐWeÑMfÔMfÐ'n¥s¨5¯9ª9°^ÀRÑ+HÔ+HÑ'IÔ'IÐ'IÐlnÑoÔoÐoð ×Ò˜_¨e¯iªi¸	À2Ñ.FÔ.FÑGÔGÐGØ×Ò˜Y¨Ñ-Ô-Ð-ð —y’y ‘”ˆHØð 8˜Jð 8Ý!Ô2°:¸xÑHÔHð 8Ø×$Ò$ Y°Ñ7Ô7Ð7àˆKøÝð 	ð 	ð 	ÝŒHÐA¸aÐAÐAÅ4Ä=ÑQÔQÐQØ�4�4�4�4�4øøøøð	øøøs   ‚MM Í
NÍ"NÎNc                 ó”  — d| _         	 |                      d¦  «        }|                     ¦   «         }|s
	 d| _         dS |                     d¦  «        dk    r|                      ¦   «          	 d| _         dS |                     d¦  «        }|                     d¦  «        }|                      ||¦  «         d| _         dS # d| _         w xY w)	z2Handle click on grid items - movies or add button.TrŸ   FNrþ   r'   rT   rS   )Ú_block_sidebarr4   r¥   r\   rÏ   rÉ   )r   Úgridrg   rT   rS   s        r   r¦   z!MyCinemaDialog._handle_grid_click@  sì   € à"ˆÔð	(Ø—?’? 4Ñ(Ô(ˆDØ×'Ò'Ñ)Ô)ˆDØð Øð #(ˆDÔÐÐð ×Ò Ñ0Ô0°FÒ:Ð:à×,Ò,Ñ.Ô.Ð.Øð #(ˆDÔÐÐð	 ×'Ò'¨
Ñ3Ô3ˆHØ×)Ò)¨,Ñ7Ô7ˆJØ×*Ò*¨8°ZÑ@Ô@Ð@à"'ˆDÔÐÐø %ˆDÔÐ'Ð'Ð'Ð's   ‰+B> ¾-B> Á5A B> Â>	Cc           	      ó†  — || _         || _        | j                             |¦  «        }d}|rA|j        D ]9}t          |                     d¦  «        ¦  «        t          |¦  «        k    r|} nŒ:|s$t          j        d|› �t          j	        ¦  «         dS |  
                    ||¦  «        }|                      d|                     dd¦  «        ¦  «         |                      dt          |                     dd¦  «        ¦  «        ¦  «         |                      d	|                     d
d¦  «        ¦  «         |                      dt          |                     dd¦  «        ¦  «        ¦  «         |                      d|                     dd¦  «        ¦  «         |                      d|                     dd¦  «        ¦  «         |                      d|                     dd¦  «        ¦  «         |                      d|                     dd¦  «        ¦  «         |                      dd¦  «         |                      dd¬¦  «         dS )z>Show the inline Movie Detail dialog (reuses Series Detail UI).Nr1   z'[MyCinema] Movie data not found for id=zWCS.MyTV.SeriesDetail.Namerx   rJ   zWCS.MyTV.SeriesDetail.YearrL   zWCS.MyTV.SeriesDetail.GenrerP   zWCS.MyTV.SeriesDetail.RatingrQ   zWCS.MyTV.SeriesDetail.PlotrN   zWCS.MyTV.SeriesDetail.FanartrK   zWCS.MyTV.SeriesDetail.Logorl   zWCS.MyTV.SeriesDetail.Posterr…   zWCS.MyTV.SeriesDetail.Activer'   iT$  çš™™™™™¹?r÷   )Ú_series_detail_series_idÚ_series_detail_channel_idr   rw   rr   r�   rb   rd   re   r�   Ú_get_movie_metadatar,   rû   )r   rT   rS   rE   Ú
movie_datar›   Úmetadatas          r   rÉ   z(MyCinemaDialog._show_movie_detail_dialogV  s8  € ð )1ˆÔ%Ø)3ˆÔ&ð Ô&×8Ò8¸ÑDÔDˆØˆ
Øð 	ØÔ'ð ð �Ý�q—u’u˜T‘{”{Ñ#Ô#¥s¨8¡}¤}Ò4Ð4Ø!"�JØ�Eð 5ð ð 	ÝŒHÐI¸xÐIÐIÍ4Ì?Ñ[Ô[Ð[ØˆFð ×+Ò+¨H°jÑAÔAˆð 	×ÒÐ5°x·|²|ÀFÈBÑ7OÔ7OÑPÔPÐPØ×ÒÐ5µs¸8¿<º<ÈÐPRÑ;SÔ;SÑ7TÔ7TÑUÔUÐUØ×ÒÐ6¸¿ºÀWÈbÑ8QÔ8QÑRÔRÐRØ×ÒÐ7½¸X¿\º\È(ÐTVÑ=WÔ=WÑ9XÔ9XÑYÔYÐYØ×ÒÐ5°x·|²|ÀFÈBÑ7OÔ7OÑPÔPÐPØ×ÒÐ7¸¿ºÀhÐPRÑ9SÔ9SÑTÔTÐTØ×ÒÐ5°x·|²|ÀFÈBÑ7OÔ7OÑPÔPÐPØ×ÒÐ7¸¿ºÀhÐPRÑ9SÔ9SÑTÔTÐTð 	×ÒÐ7¸Ñ@Ô@Ð@ð 	×Ò˜D¨ÐÑ,Ô,Ð,Ð,Ð,r   c           	      óL  — ddl }ddlm} d|› �}| j                             |¦  «        }|rA|                     d¦  «        s*|                     d¦  «        s|                     d¦  «        r|S |                     d¦  «        p|                     d	d
¦  «        |                     dd
¦  «        p4|                     d¦  «        r|                     dd
¦  «        dd…         nd
d
d
|                     dd
¦  «        p|                     dd
¦  «        d
d
d
dœ}|                     d¦  «        p|                     d¦  «        }|r|                     d¦  «        sd|› �}||d<   	  || j        ¦  «        }	d|› d|	› d�}
|                     |
d¬¦  «        }|j        dk    r÷|                     ¦   «         }|                     d	|d         ¦  «        |d<   |                     d|d         ¦  «        |d<   |                     dd¦  «        d›|d<   |                     d¦  «        r|d         dd…         |d<   |                     dg ¦  «        }|r*d 	                    d„ |dd …         D ¦   «         ¦  «        |d<   |                     d!¦  «        }|rd"|› �|d<   n*t          j        d#|› d$|j        › �t          j        ¦  «         d|› d%|	› �}|                     |d¬¦  «        }|j        dk    rg|                     ¦   «         }|                     d&g ¦  «        }|D ]:}|                     d'¦  «        d(v r!|                     d)¦  «        }|r
d|› �|d*<    nŒ;| j                             ||d+¬,¦  «         n9# t          $ r,}t          j        d-|› �t          j        ¦  «         Y d}~nd}~ww xY w|S ).z&Get movie metadata from cache or TMDb.r   N)Úget_tmdb_api_keyÚmovie_detail_rK   rP   rQ   rx   r�   rJ   rL   r  r  rÀ   rN   )rx   rL   rP   rQ   rN   rK   rl   r…   r„   r…   r†   r‡   z#https://api.themoviedb.org/3/movie/z	?api_key=z&language=cs-CZé
   )ÚtimeoutéÈ   r  z.1fÚgenresz, c                 ó:   — g | ]}|                      d d¦  «        ‘ŒS )rx   rJ   )rb   )rs   Úgs     r   ú
<listcomp>z6MyCinemaDialog._get_movie_metadata.<locals>.<listcomp>¯  s&   € Ð2YÐ2YÐ2YÈ°1·5²5¸ÀÑ3DÔ3DÐ2YÐ2YÐ2Yr   é   r  r  z$[MyCinema] TMDb API error for movie z: z/images?api_key=ÚlogosÚ	iso_639_1)ÚcsÚenNÚ	file_pathrl   i€Q )Úttl_secondsz*[MyCinema] Error fetching movie metadata: )ÚrequestsÚwcs.metadata.TMDbClientr.  Ú_cacherb   r’   r   Ústatus_codeÚjsonr`   rd   re   r�   rŠ   rc   )r   rT   r+  r>  r.  Ú	cache_keyÚcachedr,  r…   Úapi_keyÚdetails_urlÚresponseÚdetailsr3  r"  Ú
images_urlÚimagesr8  rl   Ú	logo_pathrn   s                        r   r*  z"MyCinemaDialog._get_movie_metadata|  sU  € àˆˆˆØ<Ð<Ð<Ð<Ð<Ð<ð / HÐ.Ð.ˆ	Ø”—’ Ñ+Ô+ˆØð 	�v—z’z (Ñ+Ô+ð 	¨v¯zªz¸'Ñ/BÔ/Bð 	ÀfÇjÂjÐQYÑFZÔFZð 	ØˆMð —N’N 6Ñ*Ô*ÐI¨j¯nªn¸WÀbÑ.IÔ.IØ—N’N 6¨2Ñ.Ô.ð  EÐ]g×]kÒ]kÐlzÑ]{Ô]{ð  4D°:·>²>À.ÐRTÑ3UÔ3UÐVXÐWXÐVXÔ3YÐ3Yð  BDØØØ—N’N :¨rÑ2Ô2ÐP°j·n²nÀVÈRÑ6PÔ6PØØØð	
ð 	
ˆð —’ Ñ.Ô.ÐJ°*·.².ÀÑ2JÔ2JˆØð 	(Ø×$Ò$ VÑ,Ô,ð DØC¸6ÐCÐC�Ø!'ˆH�XÑð/	XØ&Ð& t¤zÑ2Ô2ˆGð lÀÐkÐkÐSZÐkÐkÐkˆKØ—|’| K¸�|Ñ<Ô<ˆHØÔ# sÒ*Ð*Ø"Ÿ-š-™/œ/�à#*§;¢;¨w¸ÀÔ8HÑ#IÔ#I�˜Ñ Ø#*§;¢;¨z¸8ÀFÔ;KÑ#LÔ#L�˜Ñ Ø(/¯ª°NÀAÑ(FÔ(FÐ%LÐ%L�˜Ñ"ð —;’;˜~Ñ.Ô.ð CØ'.¨~Ô'>¸rÀ¸rÔ'B�H˜VÑ$ð !Ÿš X¨rÑ2Ô2�Øð [Ø(,¯	ª	Ð2YÐ2YÈfÐUWÐVWÐUWÌjÐ2YÑ2YÔ2YÑ(ZÔ(Z�H˜WÑ%ð #Ÿ;š; Ñ7Ô7�Øð WØ)VÈHÐ)VÐ)V�H˜XÑ&øå”ÐbÀÐbÐbÈHÔL`ÐbÐbÕdhÔdsÑtÔtÐtð c¸xÐbÐbÐY`ÐbÐbˆJØ—|’| J¸�|Ñ;Ô;ˆHØÔ# sÒ*Ð*Ø!Ÿš™œ�ØŸ
š
 7¨BÑ/Ô/�à!ð "ð "�DØ—x’x Ñ,Ô,Ð0BÐBÐBØ$(§H¢H¨[Ñ$9Ô$9˜	Ø$ð "Ø/\ÐQZÐ/\Ð/\˜H VÑ,Ø!˜Eøð ŒK�OŠO˜I x¸WˆOÑEÔEÐEÐEøåð 	Xð 	Xð 	XÝŒHÐEÀ!ÐEÐEÅtÄÑWÔWÐWÐWÐWÐWÐWÐWøøøøð	Xøøøð ˆs   Å H
M+ Í+
N!Í5"NÎN!c                 óœ  — d| _         dt          | j        j        ¦  «        dz   › �}| j                             |¦  «        }|j        | _        d| _        |                      d¦  «        }| 	                    ¦   «          | j         
                    ¦   «         D ]s}t          j        |j        ¬¦  «        }|j        r|j        nd}|                     d|i¦  «         |                     d	|j        ¦  «         |                     |¦  «         Œtt          j        d
¬¦  «        }|                     ddi¦  «         |                     dd¦  «         |                     |¦  «         |                      d¦  «         	                    ¦   «          |                      d¦  «         t'          j        d¦  «         d| _         |                      ¦   «          dS )z@Create a new cinema with automatic naming based on added movies.Tz
Nove kino r  r   r�   r‚   rˆ   r…   rS   rõ   rö   rž   r'   rŸ   é2   FN)r$  r]   r   ry   Úcreate_channelr1   rÑ   r-   r4   r5   r0   r�   r‘   rx   rÂ   r“   r,   r”   Ú
setFocusIdrd   ÚsleeprÏ   )r   rç   Únew_channelr¸   rt   rg   rÂ   rü   s           r   rB   z"MyCinemaDialog._create_new_channelÒ  sÐ  € à"ˆÔð J¥ TÔ%9Ô%BÑ!CÔ!CÀaÑ!GÐIÐIˆ	ØÔ*×9Ò9¸)ÑDÔDˆð (3¤~ˆÔ$ð &'ˆÔ"ð —’ tÑ,Ô,ˆØ×ÒÑÔÐØÔ&×7Ò7Ñ9Ô9ð 	'ð 	'ˆBÝÔ#¨"¬'Ð2Ñ2Ô2ˆDØ œgð  D�2”7�7ð  ,DˆDØ�KŠK˜ 4Ð(Ñ)Ô)Ð)Ø×Ò˜\¨2¬5Ñ1Ô1Ð1Ø× Ò  Ñ&Ô&Ð&Ð&õ Ô&Ð-AÐBÑBÔBˆØ×Ò˜HÐ&qÐrÑsÔsÐsØ×ÒÐ 2°FÑ;Ô;Ð;Ø×Ò˜[Ñ)Ô)Ð)ð 	�Š˜ÑÔ×#Ò#Ñ%Ô%Ð%ð 	�Š˜ÑÔÐÝŒ
�2‰Œˆð $ˆÔð 	×$Ò$Ñ&Ô&Ð&Ð&Ð&r   c                 óX  — t          | dd¦  «        }|€|                      d¬¦  «         dS |                      d¦  «        }|                     ¦   «         }|dk     s||k    r|                      d¬¦  «         dS |                      d¦  «        }|                     ¦   «         }|r|                     d¦  «        nd}|s|                      d¬¦  «         dS | j                             |¦  «        }|r|j        s|                      d¬¦  «         dS |j        }| 	                    ¦   «         }	g }
t          |	¦  «        D ]?}|                     |¦  «        }|
                     |                     d	¦  «        ¦  «         Œ@|t          |
¦  «        k    r|                      d¬¦  «         dS |
|         }d}d}t          |¦  «        D ]2\  }}t          |                     d
d¦  «        ¦  «        |k    r|}|} nŒ3|€|                      d¬¦  «         dS |
|         }d}t          |¦  «        D ]0\  }}t          |                     d
d¦  «        ¦  «        |k    r|} nŒ1|€|                      d¬¦  «         dS |                     |¦  «         ||k     r|dz  }|                     ||¦  «         | j                             ¦   «          |                      |¦  «         |                     |¦  «         t-          j        d|› d|› d|› �t,          j        ¦  «         |                      d¬¦  «         dS )zÿConfirm program reorder -- move movie to current cursor position.
        
        Parent uses cache (program_list_{channel_id}) which MyCinema doesn't populate.
        This override works directly with channel.media_list and persists the order.
        Ú_program_reorder_original_indexNF)Úconfirmr&   r   r�   rS   rT   r1   rJ   r  z[MyCinema] Moved movie from z to z in cinema T)rÚ   Ú_exit_program_reorder_moder4   rù   r¥   r\   r   rw   rr   rX   ÚrangerY   r^   r]   r/   r�   rb   ÚpopÚinsertÚ_save_channelsÚ_reload_program_list_orderedrÇ   rd   re   ÚLOGINFO)r   Úoriginal_indexrF   Ú
target_posr¸   Úchannel_itemrS   rE   rr   Úprogram_sizeÚprogram_movie_idsÚirg   Úmoved_movie_idÚmoved_movieÚ	moved_idxrÿ   r›   Útarget_movie_idÚ
target_idxs                       r   r´   z'MyCinemaDialog._confirm_program_reorder  s«  € õ ! Ð'HÈ$ÑOÔOˆØÐ!Ø×+Ò+°EÐ+Ñ:Ô:Ð:ØˆFà—’ tÑ,Ô,ˆØ!×5Ò5Ñ7Ô7ˆ
à˜Š>ˆ>˜Z¨>Ò9Ð9Ø×+Ò+°EÐ+Ñ:Ô:Ð:ØˆFð —’ tÑ,Ô,ˆØ#×3Ò3Ñ5Ô5ˆØ?KÐU�\×-Ò-¨lÑ;Ô;Ð;ÐQUˆ
àð 	Ø×+Ò+°EÐ+Ñ:Ô:Ð:ØˆFàÔ&×8Ò8¸ÑDÔDˆØð 	˜gÔ0ð 	Ø×+Ò+°EÐ+Ñ:Ô:Ð:ØˆFàÔ'ˆ
ð $×(Ò(Ñ*Ô*ˆØÐÝ�|Ñ$Ô$ð 	Cð 	CˆAØ×+Ò+¨AÑ.Ô.ˆDØ×$Ò$ T×%5Ò%5°jÑ%AÔ%AÑBÔBÐBÐBð �SÐ!2Ñ3Ô3Ò3Ð3Ø×+Ò+°EÐ+Ñ:Ô:Ð:ØˆFà*¨>Ô:ˆð ˆØˆ	Ý 
Ñ+Ô+ð 	ð 	‰FˆC�Ý�1—5’5˜˜r‘?”?Ñ#Ô# ~Ò5Ð5Ø�Ø�	Ø�ð 6ð
 ÐØ×+Ò+°EÐ+Ñ:Ô:Ð:ØˆFð ,¨JÔ7ˆØˆ
Ý 
Ñ+Ô+ð 	ð 	‰FˆC�Ý�1—5’5˜˜r‘?”?Ñ#Ô# Ò6Ð6Ø �
Ø�ð 7ð ÐØ×+Ò+°EÐ+Ñ:Ô:Ð:ØˆFð 	�Š�yÑ!Ô!Ð!à�zÒ!Ð!Ø˜!‰OˆJØ×Ò˜* kÑ2Ô2Ð2ð 	Ô×+Ò+Ñ-Ô-Ð-ð 	×)Ò)¨*Ñ5Ô5Ð5ð 	×Ò 
Ñ+Ô+Ð+åŒÐg°ÐgÐgÀJÐgÐgÐ[eÐgÐgÕimÔiuÑvÔvÐvà×'Ò'°Ð'Ñ5Ô5Ð5Ð5Ð5r   c                 ó¾  — | j                              |¦  «        }|r|j        sdS 	 |                      d¦  «        }|                     ¦   «          |j        dd…         D ]/}|                      ||¦  «        }|r|                     |¦  «         Œ0|                      ¦   «          dS # t          $ r-}t          j
        d|› �t          j        ¦  «         Y d}~dS d}~ww xY w)zEReload program list preserving current media_list order (no shuffle).Nr&   r  z)[MyCinema] Error reloading program list: )r   rw   rr   r4   r5   r  r”   ro   rc   rd   re   rf   )r   rS   rE   rF   r™   rg   rn   s          r   rZ  z+MyCinemaDialog._reload_program_list_ordered_  s  € àÔ&×8Ò8¸ÑDÔDˆØð 	˜gÔ0ð 	ØˆFð	UØŸ?š?¨4Ñ0Ô0ˆLØ×ÒÑ Ô Ð à Ô+¨C¨R¨CÔ0ð /ð /�Ø×3Ò3°E¸:ÑFÔF�Øð /Ø ×(Ò(¨Ñ.Ô.Ð.øà×"Ò"Ñ$Ô$Ð$Ð$Ð$øÝð 	Uð 	Uð 	UÝŒHÐDÀÐDÐDÅdÄmÑTÔTÐTÐTÐTÐTÐTÐTÐTøøøøð	Uøøøs   §A<B% Â%
CÂ/"CÃCc                 óZ  — |                       d¦  «        }|                     ¦   «         }|dk    r|                      dd¦  «         dS |                      ¦   «          t	          j        t          j        ¦  «        }|                     ¦   «          |                       d¦  «        }|                     ¦   «         }|r| 	                    d¦  «        nd}t          |¦  «        D �]¤}|                     |¦  «        }| 	                    d	¦  «        }	|                     ¦   «         }
|	r|
sŒF| 	                    d
¦  «        pd}| 	                    d¦  «        pd}|                     d¦  «        pd}|                     d¦  «        pd}d| j                             d¦  «        › dt!          |
¦  «        › d|	› dt!          |¦  «        › dt!          |¦  «        › dt!          |¦  «        › dt!          |¦  «        › dt!          |¦  «        › �}t#          j        |
¬¦  «        }|                     d|
||                     ¦   «         rt+          |¦  «        ndddœ¦  «         |                     |||dœ¦  «         |                     ||¦  «         �Œ¦t	          j        ¦   «                              |¦  «         dS )z>Plays all movies in the program list as a continuous playlist.r&   r   zZadne filmy k prehranir»   Nr�   rS   rJ   rT   rN   rL   r…   rK   z	plugin://r1   z2?action=play_movie_from_addon_playlist&movie_name=z	&tmdb_id=z&plot=z&poster=z&fanart=z&year=z&mycinema_channel_id=r‚   Úvideor™   )r�   rN   rL   Ú	mediatype)r…   rK   r  )r4   rX   rª   Úcloserd   ÚPlayListÚPLAYLIST_VIDEOÚclearr¥   r\   rV  rY   rZ   r[   r   ÚgetAddonInfor   r�   r‘   ÚsetInfoÚisdigitÚintr“   rŽ   ÚPlayerÚplay)r   r¸   rX   ÚplaylistÚchannel_listÚcurrent_channel_itemrS   ra  rg   rT   rh   rN   rL   r…   rK   ÚurlÚlis                    r   r¨   zMyCinemaDialog._play_broadcastv  s  € à—’ tÑ,Ô,ˆØ× Ò Ñ"Ô"ˆØ�1Š9ˆ9Ø×ÒÐ5°yÑAÔAÐAØˆFà�
Š
‰Œˆõ ”=¥Ô!4Ñ5Ô5ˆØ�ŠÑÔÐð —’ tÑ,Ô,ˆØ+×;Ò;Ñ=Ô=ÐØG[ÐcÐ)×5Ò5°lÑCÔCÐCÐacˆ
õ �t‘”ð '	"ñ '	"ˆAØ×+Ò+¨AÑ.Ô.ˆDà×'Ò'¨
Ñ3Ô3ˆHØŸš™œˆJàð  :ð Øð ×#Ò# FÑ+Ô+Ð1¨rˆDØ×#Ò# FÑ+Ô+Ð1¨rˆDØ—[’[ Ñ*Ô*Ð0¨bˆFØ—[’[ Ñ*Ô*Ð0¨bˆFðD˜tœz×6Ò6°tÑ<Ô<ð Dð DÝ",¨ZÑ"8Ô"8ðDð Dà'ðDð Dõ ' tÑ,Ô,ðDð Dõ )¨Ñ0Ô0ð	Dð Dõ
 )¨Ñ0Ô0ðDð Dõ ' tÑ,Ô,ðDð Dõ ,6°jÑ+AÔ+AðDð DˆCõ Ô!¨
Ð3Ñ3Ô3ˆBØ�JŠJ�wØ#ØØ%)§\¢\¡^¤^Ð:�˜D™	œ	˜	¸Ø$ð	!ð !ñ ô ð ð �IŠIØ Ø Øðð ñ ô ð ð �LŠL˜˜bÑ!Ô!Ð!Ñ!õ 	Œ‰Œ×Ò˜8Ñ$Ô$Ð$Ð$Ð$r   c                 ó  — t          | dd¦  «        }|sdS |                      d¦  «         |                      d¦  «        dk    r*|                      d¦  «         |                      d¦  «         t          j        |¦  «         | j                             |¦  «         d| _        d| _        d| _	        |  
                    ¦   «          |                      ¦   «          |                      dd	¬
¦  «         |                      dd¦  «         dS )z=Delete the cinema after confirmation (cinema-specific toast).Ú_pending_delete_channel_idNr%   zWCS.MyTV.SeriesGridr'   zWCS.MyTV.SeriesGrid.Titler   r�   r'  r÷   zKino smazanor    )rÚ   r2   r\   r   Údelete_channel_historyr   rÛ   r{  Ú_pending_delete_channel_namer-   r=   r?   rû   rª   )r   rS   s     r   r°   z&MyCinemaDialog._confirm_delete_channelº  s  € å˜TÐ#?ÀÑFÔFˆ
Øð 	ØˆFð 	×ÒÐ3Ñ4Ô4Ð4ð ×ÒÐ1Ñ2Ô2°fÒ<Ð<Ø×ÒÐ4Ñ5Ô5Ð5Ø×ÒÐ:Ñ;Ô;Ð;õ 	Ô-¨jÑ9Ô9Ð9ØÔ×+Ò+¨JÑ7Ô7Ð7ð +/ˆÔ'Ø,0ˆÔ)ð &'ˆÔ"Ø×"Ò"Ñ$Ô$Ð$Ø×%Ò%Ñ'Ô'Ð'ð 	×Ò˜D¨ÐÑ,Ô,Ð,à×Ò˜¨Ñ3Ô3Ð3Ð3Ð3r   c                 ó¦  — 	 |                       d¦  «        }|                     ¦   «         }|sdS |                     d¦  «        }|                     d¦  «        }|                     ¦   «         }|sdS t	          j        ||¦  «         |                     d¦  «        pd}|                     d¦  «        pd}|                     d¦  «        pd}|                     d	¦  «        pd}	|                      ¦   «          d
dlm	}
 |||||	||dœ} |
|| j
        ¦  «         dS # t          $ r-}t          j        d|› �t          j        ¦  «         Y d}~dS d}~ww xY w)z&Play selected movie from program list.r&   NrT   rS   rL   rJ   rN   r…   rK   r   )Úplay_movie_from_addon)r�   rL   rN   r…   rK   r€   Úmycinema_channel_idz [MyCinema] Error playing movie: )r4   r¥   r\   rZ   r   Úmark_movie_watchedr[   rk  Ú	wcs.utilsr  r   rc   rd   re   rf   )r   rF   rg   rT   rS   rh   rL   rN   r…   rK   r  Úmetarn   s                r   rµ   z!MyCinemaDialog._play_program_itemÚ  s�  € ð'	LØŸ?š?¨4Ñ0Ô0ˆLØ×/Ò/Ñ1Ô1ˆDØð Ø�à×'Ò'¨
Ñ3Ô3ˆHØ×)Ò)¨,Ñ7Ô7ˆJØŸš™œˆJàð Ø�õ Ô-¨j¸(ÑCÔCÐCð ×#Ò# FÑ+Ô+Ð1¨rˆDØ×#Ò# FÑ+Ô+Ð1¨rˆDØ—[’[ Ñ*Ô*Ð0¨bˆFØ—[’[ Ñ*Ô*Ð0¨bˆFð �JŠJ‰LŒLˆLð 8Ð7Ð7Ð7Ð7Ð7à#ØØØ Ø Ø#Ø'1ðð ˆDð "Ð! $¨¬
Ñ3Ô3Ð3Ð3Ð3øåð 	Lð 	Lð 	LÝŒHÐ;¸Ð;Ð;½T¼]ÑKÔKÐKÐKÐKÐKÐKÐKÐKøøøøð	Løøøs$   ‚+D ¯A D Á1B&D Ä
EÄ#"EÅE)F) Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   rH   ro   r|   r?   r¶   r³   r®   r²   r¯   rÏ   ré   rá   r=   râ   r©   r
  r  r¦   rÉ   r*  rB   r´   rZ  r¨   r°   rµ   Ú__classcell__)r   s   @r   r   r      s  ø€ € € € € ðð ð	+ð 	+ð 	+ð 	+ð 	+ðT,ð T,ð T,ðtIQð IQð IQð^=ð =ð =ð(=Xð =Xð =XðFd3ð d3ð d3ð d3ð d3ðTVð Vð Vð>)Vð )Vð )Vð^Qð Qð Qðbð bð bð"+ð +ð +ð(7,ð 7,ð 7,ðr=ð =ð =ð$5ð 5ð 5ð 5ðH(+ð (+ð (+ð\')ð ')ð ')ð ')ðR%Mð %Mð %MðN1ð 1ð 1ðn(ð (ð (ð,$-ð $-ð $-ðLPð Pð Pðl)'ð )'ð )'ð^\6ð \6ð \6ð|Uð Uð Uð.>%ð >%ð >%ðH4ð 4ð 4ð@)Lð )Lð )Lð )Lð )Lð )Lð )Lr   r   FrJ   c                 óð   — |                       d¦  «        pd}dddddœ}|                     |d¦  «        }	t          |	|                      d¦  «        d	d
||||||¬¦
  «
        }
|
                     ¦   «          ~
dS )z)Factory function to show MyCinema dialog.Úmytv_designrÕ   zai/DialogMyTV_classic.xmlzai/DialogMyTV.xmlzai/DialogMyTV_appletv.xmlzai/DialogMyTV_kodi.xml)Ú0rÕ   Ú2Ú3ÚpathÚDefaultÚ1080i)Úshow_nav_sidebarÚnav_positionÚinitial_channel_idÚcontext_uidÚcontext_rowÚinitial_editN)rÝ   rb   r   ro  ÚdoModal)r   r‘  r’  rS   r”  r•  ÚeditÚdesignÚ
design_mapÚxml_fileÚdialogs              r   Úshow_my_cinema_dialogr�    s£   € ð ×Ò˜mÑ,Ô,Ð3°€Fà(Ø Ø(Ø%ð	ð €Jð �~Š~˜fÐ&9Ñ:Ô:€HåØØ×Ò˜6Ñ"Ô"ØØØ)Ø!Ø%ØØØðñ ô €Fð ‡N‚NÑÔÐØˆˆr   )Fr   NrJ   rJ   F)r‡  rd   r�   Ú	xbmcaddonr  rñ   Úurllib.parser   Úwcs.ai.DialogMyTVr   Úwcs.ai.MediaChannelManagerr   Úwcs.ai.DialogAddMediar   r   Úwcs.air   Úwcs.cachingr	   r   r�  © r   r   ú<module>r¦     s  ððð ð €€€Ø €€€Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #à (Ð (Ð (Ð (Ð (Ð (Ø :Ð :Ð :Ð :Ð :Ð :Ø MÐ MÐ MÐ MÐ MÐ MÐ MÐ MØ !Ð !Ð !Ð !Ð !Ð !Ø )Ð )Ð )Ð )Ð )Ð )ðeLð eLð eLð eLð eL�Zñ eLô eLð eLðP'ð ð ð ð ð r   