§
   5TjÀðú2ã                   ó
  — d dl Z d dlZd dlZd dlmZ d dlmZ d„ Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd%d„Zd&defd„Zd'd„Zd(d„Zd)d„Zd*d„Zd+d„Zd,d„Zd,defd„Zd-d„Zd.d „Z d*d!„Z!d/d"„Z"d#„ Z#d$„ Z$dS )0é    N©Ú
quote_plus©Ú	user_datac                 ó0  — t          j        dd| ¦  «        }t          j        dd|¦  «        }t          j        dd|¦  «        }t          j        dd|¦  «        }t          j        dd|¦  «        }t          j        dd|¦  «        }t          j        dd|¦  «        }t          j        d	d|¦  «        }t          j        d
d|¦  «        }t          j        dd|¦  «        }t          j        dd|¦  «        }t          j        dd|¦  «        }t          j        dd|¦  «        }t          j        dd|¦  «        }t          j        dd|¦  «                             ¦   «         }t          j        d|¦  «        }|rE|                     d¦  «        }t          j        dd|¦  «                             ¦   «         }|› d|› d�}t          j        dd|¦  «                             ¦   «         }d                     d„ |                     ¦   «         D ¦   «         ¦  «        }|r|n| S )u?   Extrahuje Ä�itelnÃ½ nÃ¡zev filmu z technickÃ©ho nÃ¡zvu souboru.z\.[^.]+$Ú z(?i)\bE\d+\.?\s*z+(?i)\b(1080p|720p|480p|360p|2160p|4k|uhd)\bz&(?i)\b(x264|x265|hevc|h\.264|h\.265)\bzK(?i)\b(bluray|brrip|web-dl|hdtv|webrip|remux|proper|remastered|bd|hb|enc)\bz%(?i)\b(dd5\.1|dts|ac3|aac|mp3|flac)\bz!(?i)\b(hdr|hdr10|dolby\.vision)\bz\b\d+\.\d+\bz<(?i)\b(cz|czech|en|english|sk|slovak|multidub|czen|cz-eng)\bz (?i)\b(dabing|titulky|dub|sub)\bz
[,()]+\s*$z-[A-Z0-9]+$z[._-]ú z[,()]+z\s+z\b(19\d{2}|20\d{2})\bé   z (ú)c              3   óB   K  — | ]}|¯|                      ¦   «         V — Œd S ©N)Ú
capitalize)Ú.0Úwords     úW/Users/chudy/Library/Application Support/Kodi/addons/plugin.video.milionar/wcs/utils.pyú	<genexpr>z&extract_clean_title.<locals>.<genexpr>7   s1   è è € ÐSÐS°ÈdÐS˜$Ÿ/š/Ñ+Ô+ÐSÐSÐSÐSÐSÐSó    )ÚreÚsubÚstripÚsearchÚgroupÚjoinÚsplit)ÚfilenameÚ
clean_nameÚ
year_matchÚyears       r   Úextract_clean_titler      s
  € õ ”˜ R¨Ñ2Ô2€Jõ ”Ð+¨R°Ñ<Ô<€Jõ ”ÐFÈÈJÑWÔW€JÝ”ÐAÀ2ÀzÑRÔR€JÝ”ÐfÐhjÐlvÑwÔw€JÝ”Ð@À"ÀjÑQÔQ€JÝ”Ð<¸bÀ*ÑMÔM€Jõ ”˜¨¨ZÑ8Ô8€Jõ ”ÐWÐY[Ð]gÑhÔh€JÝ”Ð;¸RÀÑLÔL€JÝ”˜ r¨:Ñ6Ô6€Jõ ”˜¨¨JÑ7Ô7€Jõ ”˜ # zÑ2Ô2€Jõ ”˜	 2 zÑ2Ô2€JÝ”˜  ZÑ0Ô0×6Ò6Ñ8Ô8€Jõ ”Ð3°ZÑ@Ô@€JØð .Ø×Ò Ñ"Ô"ˆÝ”VÐ4°b¸*ÑEÔE×KÒKÑMÔMˆ
Ø"Ð-Ð- dÐ-Ð-Ð-ˆ
õ ”˜  ZÑ0Ô0×6Ò6Ñ8Ô8€Jð —’ÐSÐS¸
×8HÒ8HÑ8JÔ8JÐSÑSÔSÑSÔS€Jà#Ð1ˆ:ˆ:¨Ð1r   c                 óV  — | sdS |                       ¦   «         }d|v rdS t          j        d|¦  «        rdS t          j        d|¦  «        rdS t          j        d|¦  «        rdS t          j        d|¦  «        rdS t          j        d	|¦  «        rd	S t          j        d
|¦  «        rdS dS )u#   Extrahuje kvalitu z nÃ¡zvu souboru.ÚSDÚremuxÚREMUXú2160p|4k|uhdÚ4KÚ1080pÚ720pÚ480pÚ360pú\bhd\bÚHD©Úlowerr   r   ©r   Úfilename_lowers     r   Úextract_qualityr0   ;   sÍ   € àð Øˆtà—^’^Ñ%Ô%€Nð �.Ð Ð Øˆwõ 
„y� .Ñ1Ô1ð ØˆtÝ	Œ�8˜^Ñ	,Ô	,ð 	ØˆwÝ	Œ�7˜NÑ	+Ô	+ð ØˆvÝ	Œ�7˜NÑ	+Ô	+ð ØˆvÝ	Œ�7˜NÑ	+Ô	+ð ØˆvÝ	Œ�9˜nÑ	-Ô	-ð Øˆtàˆ4r   c                 óD  — |                       ¦   «         }t          j        d|¦  «        rdS d|v rdS d|v sd|v rdS t          j        d|¦  «        rd	S t          j        d
|¦  «        rd	S d|v st          j        d|¦  «        rdS d|v st          j        d|¦  «        rdS dS )u(   Extrahuje jazyk/dabing z nÃ¡zvu souboru.úcz.*dabing|czech.*dubzCZ DabÚmultidubÚMultiDubÚczenúcz-engzCZ+ENz\.cz\.|\.cz$|cz\.ÚCZz\bcz\bÚslovakú\bsk\bÚSKÚenglishz\ben\bÚENúN/Ar,   r.   s     r   Úextract_languager>   V   sÏ   € à—^’^Ñ%Ô%€Nå	„yÐ)¨>Ñ:Ô:ð ØˆxØ	�~Ð	%Ð	%ØˆzØ	�>Ð	!Ð	! X°Ð%?Ð%?ØˆwÝ	ŒÐ'¨Ñ	8Ô	8ð ØˆtÝ	Œ�9˜nÑ	-Ô	-ð ØˆtØ	�^Ð	#Ð	#¥r¤y°¸NÑ'KÔ'KÐ	#ØˆtØ	�nÐ	$Ð	$­¬	°)¸^Ñ(LÔ(LÐ	$Øˆtàˆ5r   c                 óN  — |                       ¦   «                              d¦  «        rdS |                       ¦   «                              d¦  «        rdS |                       ¦   «                              d¦  «        rdS |                       ¦   «                              d¦  «        rdS d	S )
u   Extrahuje formÃ¡t souboru.ú.mkvÚMKVz.mp4ÚMP4z.aviÚAVIz.movÚMOVr=   )r-   Úendswith)r   s    r   Úextract_formatrF   k   s›   € à‡~‚~ÑÔ× Ò  Ñ(Ô(ð ØˆuØ	�ŠÑ	Ô	×	"Ò	" 6Ñ	*Ô	*ð ØˆuØ	�ŠÑ	Ô	×	"Ò	" 6Ñ	*Ô	*ð ØˆuØ	�ŠÑ	Ô	×	"Ò	" 6Ñ	*Ô	*ð Øˆuàˆ5r   c                 óì   — 	 t          |                      dd¦  «        ¦  «        }t          |                      dd¦  «        ¦  «        }|dk    r|dk    rdS |› d|› d�S # t          t          f$ r Y dS w xY w)u9   VypoÄ�Ã­tÃ¡ user rating jako pozitivnÃ­/negativnÃ­ hlasy.Úpositive_votesr   Únegative_votesz0+/0-z+/ú-)ÚintÚgetÚ
ValueErrorÚ	TypeError)ÚitemÚpositiveÚnegatives      r   Úcalculate_ratingrR   x   s“   € ðÝ�t—x’xÐ 0°!Ñ4Ô4Ñ5Ô5ˆÝ�t—x’xÐ 0°!Ñ4Ô4Ñ5Ô5ˆØ�qŠ=ˆ=˜X¨š]˜]Ø�7ØÐ)Ð)˜hÐ)Ð)Ð)Ð)øÝ�	Ð"ð ð ð Øˆwˆwðøøøs   ‚AA ÁA ÁA3Á2A3c                 ó  — |                       dd¦  «        }|                     ¦   «         }|                     ¦   «         }|                       dd¦  «        }d}||v rd}n:t          t          j        d||¦  «                             ¦   «         dz  ¦  «        }|}d}	 t          |                       d	d¦  «        ¦  «        }n# t          t          f$ r d}Y nw xY wd}	d
|v r	|dk    rd}	nŠt          j	        d|¦  «        rd}	nrd|v rd}	nkt          j	        d|¦  «        rd}	nSd|v rd}	nLd|v rd}	nEd|v rd}	n>|dk    r6|dk    r0|dk    rd}	n)|dk    rd}	n |dk    rd}	n|dk    rd}	n|dk    rd}	nd}	nd}	d}
|dk    r\|dk    rd }
nS|d!k    rd"}
nJ|dk    rd#}
nA|d$k    rd%}
n8|dk    rd&}
n/|d'k    rd(}
n&|dk    rd)}
n|d*k    rd+}
n|d,k    rd-}
n|d.k    rd/}
nd0}
d}t          j	        d1|¦  «        rd2}nHd3|v rd4}nAd5|v sd6|v rd7}n6t          j	        d8|¦  «        rd/}nd9|v st          j	        d:|¦  «        rd;}nd}d}d<|v r|d0z  }t          j	        d=|¦  «        r|d>z  }d?|v r|d@z  }| 
                    dA¦  «        r|dBz  }||	z   |
z   |z   |z   }|S )CuP  
    SDÃ�LENÃ‰ pokroÄ�ilÃ© skÃ³rovÃ¡nÃ­ pro filmy i seriÃ¡ly s prioritou: 1. kvalita, 2. velikost, 3. CZ jazyk.
    
    Args:
        item (dict): Webshare soubor s 'name', 'size', atd.
        original_query (str): PÅ¯vodnÃ­ vyhledÃ¡vacÃ­ dotaz
        
    Returns:
        int: CelkovÃ© skÃ³re pro Å™azenÃ­ (vyÅ¡Å¡Ã­ = lepÅ¡Ã­)
    Únamer   ÚproviderÚwebsharer   iè  Ni¼  Úsizer"   l        iPÃ  r$   i@œ  r&   i0u  r*   i N  r'   i˜:  r(   i'  r)   iˆ  Úkraskal        l        l        i¨a  l        l       d i¸  l       2 iŒ
  i`	  l        i4  i  l       
 iÜ  i°  l        i„  l        iX  é   @i,  éd   r2   iô  r3   i�  r5   r6   i^  z\bcz\b|\.cz\.|\.cz$r8   r9   éÈ   Úhdrz	x265|hevcé2   Úblurayé   r@   é   )rL   r-   rK   ÚdifflibÚSequenceMatcherÚratiorM   rN   r   r   rE   )rO   Úoriginal_queryr   rT   Úquery_lowerrU   Ú
base_scoreÚsimilarity_scoreÚ
size_bytesÚquality_scoreÚ
size_scoreÚcz_scoreÚbonus_scoreÚfinal_scores                 r   Úcalculate_advanced_scorern   ƒ   sã  € ð �xŠx˜ Ñ#Ô#€HØ�>Š>ÑÔ€DØ ×&Ò&Ñ(Ô(€KØ�xŠx˜
 JÑ/Ô/€Hð €JØ�dÐÐØˆ
ˆ
å�wÔ6°t¸[È$ÑOÔO×UÒUÑWÔWÐZ]Ñ]Ñ^Ô^ÐØ%ˆ
ð €JðÝ˜Ÿš &¨!Ñ,Ô,Ñ-Ô-ˆ
ˆ
øÝ�	Ð"ð ð ð Øˆ
ˆ
ˆ
ðøøøð
 €MØ�$€€˜:¨Ò4Ð4ØˆˆÝ	Œ�? DÑ	)Ô	)ð ØˆˆØ	�DˆˆØˆˆÝ	Œ�9˜dÑ	#Ô	#ð ØˆˆØ	�4ˆˆØˆˆØ	�4ˆˆØˆˆØ	�4ˆˆØˆˆð �xÒÐ J°¢N NØ˜\Ò)Ð)Ø %��Ø˜|Ò+Ð+Ø %��Ø˜{Ò*Ð*Ø %��Ø˜{Ò*Ð*Ø %��Ø˜{Ò*Ð*Ø %��à $��àˆMð €JØ�A‚~€~Ø˜Ò&Ð&ØˆJˆJØ˜<Ò'Ð'ØˆJˆJØ˜<Ò'Ð'ØˆJˆJØ˜<Ò'Ð'ØˆJˆJØ˜<Ò'Ð'ØˆJˆJØ˜<Ò'Ð'ØˆJˆJØ˜;Ò&Ð&ØˆJˆJØ˜;Ò&Ð&ØˆJˆJØ˜;Ò&Ð&ØˆJˆJØ˜;Ò&Ð&ØˆJˆJàˆJð €HÝ	„yÐ)¨4Ñ0Ô0ð ØˆˆØ	�tÐ	Ð	ØˆˆØ	�4ˆˆ˜8 tÐ+Ð+ØˆˆÝ	ŒÐ)¨4Ñ	0Ô	0ð ØˆˆØ	�TÐ	Ð	�RœY y°$Ñ7Ô7Ð	Øˆˆàˆð €KØ�€}€}Ø�sÑˆÝ	„y�˜tÑ$Ô$ð Ø�rÑˆØ�4ÐÐØ�rÑˆØ‡}‚}�VÑÔð Ø�rÑˆð ˜}Ñ,¨zÑ9¸HÑDÀ{ÑR€KàÐs   Â#B? Â?CÃCc                 ó¨   — 	 |rt          |¦  «        nd}n# t          t          f$ r Y dS w xY wddddddddœ}|                     | d¦  «        }||k    S )u…   
    Kontroluje zda mÃ¡ soubor odpovÃ­dajÃ­cÃ­ velikost pro danou kvalitu.
    MalÃ© soubory (trailery, ukÃ¡zky) se odfiltrujÃ­.
    r   Fi  @)r#   r%   r&   r'   r(   r)   r!   )rK   rM   rN   rL   )Úqualityrh   Úsize_limitsÚmin_sizes       r   Úis_valid_file_sizers      s‡   € ð
Ø(2Ð9•S˜‘_”_�_¸ˆ
ˆ
øÝ�	Ð"ð ð ð Øˆuˆuðøøøð
 ØØØØØØðð €Kð �Š˜w¨Ñ6Ô6€HØ˜Ò!Ð!s   ‚ –+ª+c                 óÒ   — | �| dk    s| dk    rdS 	 t          | ¦  «        } n# t          t          f$ r Y dS w xY w| dk    rdS | dk    r	| dz  d›d�S | d	k    r	| d	z  d
›d�S | dz  d
›d�S )u6   FormÃ¡tuje velikost souboru do lidsky Ä�itelnÃ© formy.Nr   Ú0r=   r   rY   z.1fz GBi   z.0fz MBi   z KB)rK   rM   rN   )rh   s    r   Úformat_sizerv     sÅ   € àÐ˜Z¨2Ò-Ð-°¸sÒ1BÐ1BØˆuðÝ˜‘_”_ˆ
ˆ
øÝ�	Ð"ð ð ð Øˆuˆuðøøøð �Q‚€Øˆuà�WÒÐØ Ñ(Ð1Ð1Ð1Ð1Ð1Ø	�wÒ	Ð	Ø Ñ(Ð1Ð1Ð1Ð1Ð1à˜tÑ#Ð,Ð,Ð,Ð,Ð,s   ’" ¢7¶7c                 óÂ  — t          j        d¦  «        }t          j        d¦  «        }|                     | ¦  «        }|rDt          |                     d¦  «        ¦  «        t          |                     d¦  «        ¦  «        fS |                     | ¦  «        }|rDt          |                     d¦  «        ¦  «        t          |                     d¦  «        ¦  «        fS dS )Nz[Ss](\d+)[Ee](\d+)z(\d+)[Xx](\d+)r
   é   ©NN)r   Úcompiler   rK   r   )r   Úpattern1Úpattern2Úmatchs       r   Úextract_season_episoder~   0  s·   € ÝŒzÐ/Ñ0Ô0€HÝŒzÐ+Ñ,Ô,€HØ�OŠO˜HÑ%Ô%€EØð :Ý�E—K’K ‘N”NÑ#Ô#¥S¨¯ª°Q©¬Ñ%8Ô%8Ð9Ð9Ø�OŠO˜HÑ%Ô%€EØð :Ý�E—K’K ‘N”NÑ#Ô#¥S¨¯ª°Q©¬Ñ%8Ô%8Ð9Ð9Øˆ<r   c                 ó:   — t          | d         ¦  «        \  }}||fS )NrT   )r~   )Ú	file_itemÚseasonÚepisodes      r   Úsort_episode_orderrƒ   <  s#   € Ý,¨Y°vÔ->Ñ?Ô?�O€FˆGØ�GÐÐr   c                 óp   — |                       d¦  «        s|                       d¦  «        r| |z   S | dz   |z   S )Nú/ú\)rE   )ÚpathÚfiles     r   r   r   A  sB   € Ø‡}‚}�SÑÔð !˜TŸ]š]¨4Ñ0Ô0ð !Ø�d‰{Ðà�c‰z˜DÑ Ð r   c                 ó€   — |                       dd¦  «        d d…         }	 t          |¦  «        S # t          $ r Y dS w xY w)NÚrelease_dater   é   r   ©rL   rK   rM   )ÚmovieÚys     r   Úget_year_movier�   H  sP   € Ø�	Š	�. "Ñ%Ô% b q bÔ)€AðÝ�1‰vŒvˆøÝð ð ð Øˆqˆqðøøøó    / ¯
=¼=c                 ó€   — |                       dd¦  «        d d…         }	 t          |¦  «        S # t          $ r Y dS w xY w)NÚfirst_air_dater   r‹   r   rŒ   )ÚseriesrŽ   s     r   Úget_year_seriesr”   P  sQ   € Ø�
Š
Ð# RÑ(Ô(¨¨!¨Ô,€AðÝ�1‰vŒvˆøÝð ð ð Øˆqˆqðøøør�   c                 ó‚   — t          j        dd| ¦  «        }t          j        dd|¦  «                             ¦   «         }|S )u6   OdstranÃ­ neplatnÃ© znaky pro nÃ¡zvy souborÅ¯/sloÅ¾ek.z[<>:"/\\|?*]r   z\\s+r	   )r   r   r   )r   Ú	sanitizeds     r   Úsanitize_filenamer—   W  s<   € õ ”�¨¨HÑ5Ô5€Iå”�w  YÑ/Ô/×5Ò5Ñ7Ô7€IàÐr   r   Fc                 óú  — |	sddl }|                     ¦   «         }	|r|r|r	|r|r|r|�s	 ddlm}  || |¦  «        pi }|p|                     dd¦  «        }|p+|                     dd¦  «        p|                     dd¦  «        }|p|                     dd¦  «        }|p"t          |                     d	d¦  «        ¦  «        }|p|                     d
d¦  «        }|p|                     dd¦  «        }|p|                     dd¦  «        }n:# t          $ r-}ddl}|                     d|› �|j	        ¬¦  «         Y d}~nd}~ww xY w| › d|› � 
                    ¦   «         }ddlm}  ||| ||||||||g d|
|¬¦  «        S )uƒ   
    WRAPPER: TenkÃ½ wrapper pro centrÃ¡lnÃ­ funkci search_and_select_movie_file.
    VracÃ­ vybranÃ½ soubor (dict) nebo None.
    r   N)Úget_movie_metadata_from_libraryÚplotr   ÚposterÚthumbÚfanartÚratingÚgenreÚdirectorÚruntimezN[plugin.video.milionar] search_and_select_movie_file: Error getting metadata: ©Úlevelr	   ©Úshow_search_dialogF)Úsearch_queryÚmovie_titleÚ
movie_yearÚ
poster_urlrž   rŸ   r    r¡   rš   Ú
fanart_urlÚsearch_resultsÚ
is_episodeÚtmdb_idÚautoplay_request)Ú	xbmcaddonÚAddonÚwcs.library.LibraryManagerr™   rL   ÚstrÚ	ExceptionÚxbmcÚlogÚ
LOGWARNINGr   Úwcs.ui.dialogs.DialogWcsSearchr¥   )Útitler   rš   r›   r�   rž   rŸ   r    r¡   Úaddonr­   Úfrom_libraryÚmanual_searchÚautoplayr¯   r™   ÚmetadataÚer´   Úqueryr¥   s                        r   Úsearch_and_select_movie_filerÀ   `  sI  € ð
 ð "ØÐÐÐØ—’Ñ!Ô!ˆð ð B�Vð B ð B¨6ð B°eð BÀð BÈWñ Bð	BØRÐRÐRÐRÐRÐRØ6Ð6°u¸dÑCÔCÐIÀrˆHØÐ3˜8Ÿ<š<¨°Ñ3Ô3ˆDàÐV˜xŸ|š|¨H°bÑ9Ô9ÐV¸X¿\º\È'ÐSUÑ=VÔ=VˆFØÐ9˜xŸ|š|¨H°bÑ9Ô9ˆFØÐ>�s 8§<¢<°¸"Ñ#=Ô#=Ñ>Ô>ˆFØÐ6˜XŸ\š\¨'°2Ñ6Ô6ˆEØÐ? 8§<¢<°
¸BÑ#?Ô#?ˆHØÐ< §¢¨i¸Ñ!<Ô!<ˆGˆGøÝð 	Bð 	Bð 	BØˆKˆKˆKØ�HŠHÐiÐfgÐiÐiÐquô  rAˆHñ  Bô  Bð  Bð  Bð  Bð  Bð  Bð  Bøøøøð	Bøøøð ÐÐ�tÐÐ×#Ò#Ñ%Ô%€EØAÐAÐAÐAÐAÐAØÐØØØØØØØØØØØØØØ!ðñ ô ð s   «CD Ä
EÄ#D=Ä=EÚmetac                 ó*  ‡ ‡‡‡‡‡‡‡	‡
‡‡‡— ‰sddl }|                     ¦   «         Š‰                      dd¦  «        Š‰                      dd¦  «        Š‰                      dd¦  «        Š‰                      dd¦  «        Š	‰                      dd¦  «        Š‰                      d	d¦  «        Š
‰                      d
d¦  «        Š‰                      dd¦  «        Š‰                      dd¦  «        Šˆˆˆˆˆˆ ˆˆ	ˆ
ˆˆˆfd„}t          j        ‰|¬¦  «         dS )u  JEDNOTNÃ� vstup pro pÅ™ehrÃ¡nÃ­ filmu z doplÅˆku (Details, MyList, menu).

    OÄ�ekÃ¡vÃ¡ meta s klÃ­Ä�i: title, year, plot, poster, fanart, rating, genre,
    director, runtime. Data majÃ­ pochÃ¡zet pÅ™Ã­mo ze seznamu/menu (cache),
    ne znovu tahat.
    r   Nr¸   r   r   rš   r›   r�   rž   rŸ   r    r¡   c                  óÌ  •— dd l } ddlm} t          ‰                     d¦  «        pd¦  «                             ¦   «         r‘ddlm} ‰                     d¦  «        rFt          d¦  «        r7| 	                    t          ‰d         ¦  «        ‰rdnd	d
|j        ¬¦  «         d S | 	                    t          ‰d         ¦  «        ‰rdnd	¬¦  «         d S t          ‰‰‰‰‰‰‰‰‰‰‰¬¦  «        }|�rØd|v �rÓd|v �rÎ	 ‰‰‰‰d‰                     d¦  «        ‰‰dœ}t          j        ‰|¦  «         n6# t          $ r)}|                      d|› �| j        ¬¦  «         Y d }~nd }~ww xY w|d         }|d         }|                     dd¦  «        }d‰                     d¦  «        › d|› d ||¦  «        › d|› d |‰¦  «        › d‰r |‰¦  «        nd› d‰r |‰¦  «        nd› d‰r |‰¦  «        nd› d‰r |‰¦  «        nd› d ‰r |‰¦  «        nd› d!‰r |‰¦  «        nd› d"‰r |‰¦  «        nd› d#‰r |‰¦  «        nd› �}	|                      d$|	› �| j        ¬¦  «         |                      d%¦  «         |                      d&|	› d'�¦  «         dd(lm}
 dd)lm} |
                     ‰‰‰‰‰‰‰‰‰d*œ	¦  «        } ||d+¬,¦  «         d S |                      d-| j        ¬¦  «         d S ).Nr   r   r­   r   ©ÚplayÚmycinema_channel_idÚcinemaÚautoÚdialogÚresume)ÚsrcÚstartÚorigin)rË   ©r¼   ÚidentrT   r�   )r¸   r   r›   rž   Ú
media_typer­   rš   rŸ   z<[plugin.video.milionar] Error saving recently played movie: r¢   rU   rV   ú	plugin://Úidú?action=play&ident=ú&name=ú
&provider=ú&tmdb_title=ú&tmdb_year=ú&tmdb_plot=ú&tmdb_thumb=ú&tmdb_fanart=ú&tmdb_rating=ú&tmdb_genre=z&tmdb_director=ú&tmdb_runtime=zD[plugin.video.milionar] search_and_play_movie: Executing PlayMedia: úDialog.Close(all, true)ú
PlayMedia(r   ©ÚMediaMetadata©Úschedule_info_dialog©	r¸   r   rš   r›   r�   rž   rŸ   r    r¡   Úaddon_movie©ÚsourcezP[plugin.video.milionar] search_and_play_movie: No file selected or search failed)r´   Úurllib.parser   r²   rL   ÚisdigitÚwcs.library2rÅ   Ú_channels_sharedÚ
play_movierK   ÚORIGIN_CHANNELrÀ   r   Úadd_recently_played_itemr³   rµ   ÚLOGERRORÚgetAddonInfoÚLOGINFOÚexecutebuiltinÚwcs.playback.metadatará   Úwcs.playback.dialog_schedulerrã   Úfrom_tmdb_movie)r´   r   Úlibrary_playÚselected_fileÚ	item_datar¾   rÏ   rT   rU   Úplay_urlrá   rã   r½   r¹   r¼   r    r�   rŸ   rÁ   rš   r›   rž   r¡   r¸   r   s                €€€€€€€€€€€€r   Úplay_actionz*play_movie_from_addon.<locals>.play_action¢  sÀ  ø€ ØˆˆˆØ+Ð+Ð+Ð+Ð+Ð+õ ˆt�xŠx˜	Ñ"Ô"Ð( bÑ)Ô)×1Ò1Ñ3Ô3ð 	Ø9Ð9Ð9Ð9Ð9Ð9Ø�xŠxÐ-Ñ.Ô.ð Õ3CÀHÑ3MÔ3Mð à×'Ò'­¨D°¬OÑ(<Ô(<ÈHÐBbÀ&À&ÐZbÐjrØ/;Ô/Jð (ñ Lô Lð Là�Ø×#Ò#¥C¨¨Y¬Ñ$8Ô$8ÈÐ>^¸f¸fÐV^Ð#Ñ_Ô_Ð_ØˆFå4°U¸DÀ$ÈÐPVÐX^Ð`eÐgoÐqxÐzð  KSð  Tñ  Tô  Tˆàñ 1	}˜W¨Ð5Ñ5¸&ÀMÐ:QÑ:Qðrà#Ø!Ø%Ø%Ø#*Ø $§¢¨Ñ 3Ô 3Ø!Ø#ð	ð 	�õ Ô3°E¸9ÑEÔEÐEÐEøÝð rð rð rØ—’Ð[ÐXYÐ[Ð[ÐcgÔcp�ÑqÔqÐqÐqÐqÐqÐqÐqøøøøðrøøøð " 'Ô*ˆEØ  Ô(ˆDØ$×(Ò(¨°ZÑ@Ô@ˆHðQ E×$6Ò$6°tÑ$<Ô$<ð Qð QØ!&ðQð Qà * 
¨4Ñ 0Ô 0ðQð Qð %-ðQð Qð '1 j°Ñ&7Ô&7ð	Qð Qð
 :>Ð%E Z Z°Ñ%5Ô%5Ð%5À2ðQð Qð :>Ð%E Z Z°Ñ%5Ô%5Ð%5À2ðQð Qð =CÐ&J j j°Ñ&8Ô&8Ð&8ÈðQð Qð >DÐ'K z z°&Ñ'9Ô'9Ð'9ÈðQð Qð >DÐ'K z z°&Ñ'9Ô'9Ð'9ÈðQð Qð <AÐ&H j j°Ñ&7Ô&7Ð&7ÀbðQð Qð BJÐ)Q¨¨°HÑ)=Ô)=Ð)=ÈrðQð Qð @GÐ(N¨
¨
°7Ñ(;Ô(;Ð(;ÈBðQð QˆHð �HŠHÐfÐ\dÐfÐfÐnrÔnzˆHÑ{Ô{Ð{à×ÒÐ 9Ñ:Ô:Ð:Ø×ÒÐ 8¨XÐ 8Ð 8Ð 8Ñ9Ô9Ð9ð <Ð;Ð;Ð;Ð;Ð;ØJÐJÐJÐJÐJÐJà$×4Ò4Ø¨°dØ ¨F¸fØ¨HÀð6ð 6ñ ô ˆHð
 !Ð  °-Ð@Ñ@Ô@Ð@Ð@Ð@à�HŠHÐgÐosÔo{ˆHÑ|Ô|Ð|Ð|Ð|s   Ã;3D/ Ä/
E"Ä9EÅE"©Úon_success_callback)r¯   r°   rL   r   Úcheck_providers_and_prompt)rÁ   r¹   r¼   r¯   rú   r    r�   rŸ   rš   r›   rž   r¡   r¸   r   s   ```  @@@@@@@@@r   Úplay_movie_from_addonrþ   �  sm  øøøøøøøøøøøø€ ð ð "ØÐÐÐØ—’Ñ!Ô!ˆà�HŠH�W˜bÑ!Ô!€EØ�8Š8�F˜BÑÔ€DØ�8Š8�F˜BÑÔ€DØ�XŠX�h Ñ#Ô#€FØ�XŠX�h Ñ#Ô#€FØ�XŠX�h Ñ#Ô#€FØ�HŠH�W˜bÑ!Ô!€EØ�xŠx˜
 BÑ'Ô'€HØ�hŠh�y "Ñ%Ô%€GðB}ð B}ð B}ð B}ð B}ð B}ð B}ð B}ð B}ð B}ð B}ð B}ð B}ð B}ð B}ð B}õH Ô(¨ÀKÐPÑPÔPÐPÐPÐPr   c           
      ó>   — | ||||||||dœ	}t          ||	|
¬¦  «        S )Nrä   rÎ   )rþ   )r¸   r   rš   r›   r�   rž   rŸ   r    r¡   r¹   r¼   rÁ   s               r   Úsearch_and_play_movier   ê  s@   € àØØØØØØØØð
ð 
€Dõ !  u°xÐ@Ñ@Ô@Ð@r   Útvc                 ó\   — 	 ddl m} |                     | ¦  «        S # t          $ r Y dS w xY w)zVThe channels of `kind` share their progress with the library (wcs/library2/shared.py).r   ©ÚsharedF)rê   r  Úactiver³   )Úkindr  s     r   rë   rë   ø  sM   € ðØ'Ð'Ð'Ð'Ð'Ð'Ø�}Š}˜TÑ"Ô"Ð"øÝð ð ð Øˆuˆuðøøøs   ‚ �
+ª+c                 ó€  — 	 |r ddl m} |                     ||||dd¦  «         |rt          d¦  «        r/ddlm} ||p	d|d›d|d›�|
||d|||||	d	œ} |j        | |¦  «         n:# t          $ r-}dd
l}| 	                    d|› �|j
        ¬¦  «         Y d
}~nd
}~ww xY wt          ||pd|› �||||||
|||¬¦  «         d
S )u!  
    SdÃ­lenÃ¡ pomocnÃ¡ funkce pro uloÅ¾enÃ­ historie a naplÃ¡novÃ¡nÃ­ info dialogu.
    VolÃ¡na jak pÅ™i standardnÃ­m pÅ™ehrÃ¡vÃ¡nÃ­, tak pÅ™i pÅ™ehrÃ¡vÃ¡nÃ­ z playlistu.
    
    Args:
        mytv_channel_id: Pokud je nastaveno, uklÃ¡dÃ¡ se do kanÃ¡lovÃ© historie mÃ­sto globÃ¡lnÃ­
    r   ©ÚChannelHistoryr  r   ÚSÚ02dÚEr“   )r¸   Úepisode_titler   r›   rž   rÐ   r­   r�   r‚   rš   rŸ   Nz8[plugin.video.milionar] Error saving playback progress: r¢   úEpizoda )Úseries_namer  Úseason_numberÚepisode_numberr›   r�   rž   r   rš   r­   Úepisode_thumb)Úwcs.air	  Úset_resume_pointrë   Úwcsr   rî   r³   r´   rµ   rï   Úschedule_episode_info_dialog)r¹   r  r�   r‚   Úep_namerš   r›   r�   rž   rŸ   r   r¡   r­   Úmytv_channel_idr  r	  r   rø   r¾   r´   s                       r   Ú_on_episode_playback_startr    s‚  € ðfØð 	]ð .Ð-Ð-Ð-Ð-Ð-Ø×+Ò+¨O¸WÀfÈgÐWXÐZ[Ñ\Ô\Ð\Øð 	AÕ"2°4Ñ"8Ô"8ð 	Aà%Ð%Ð%Ð%Ð%Ð%à$Ø!(Ð!JÐ,J°Ð,JÐ,JÐ,J¸WÐ,JÐ,JÐ,JØØ Ø Ø&Ø"Ø Ø"ØØðð ˆIð /ˆIÔ.¨u°iÑ@Ô@Ð@øøÝð fð fð fØˆˆˆØ�ŠÐOÈAÐOÐOÐW[ÔWdˆÑeÔeÐeÐeÐeÐeÐeÐeøøøøðføøøõ
 !ØØÐ5Ð!5¨GÐ!5Ð!5ØØØØØØØØØ#ðñ ô ð ð ð s   ‚A"A% Á%
BÁ/#BÂBc                 óª   ‡ ‡‡‡‡‡‡‡‡‡	‡
‡‡‡‡— ‰	sddl }|                     ¦   «         Š	ˆ	ˆˆˆˆˆˆˆˆˆˆˆˆ ˆˆ
fd„}t          j        ‰	|¬¦  «         dS )uÃ   
    Funkce pro vyhledÃ¡nÃ­ a pÅ™ehrÃ¡nÃ­ epizody z doplÅˆku - pouÅ¾Ã­vÃ¡ PlayMedia().
    
    Args:
        mytv_channel_id: Pokud je nastaveno, progress se uklÃ¡dÃ¡ do kanÃ¡lovÃ© historie
    r   Nc                   ó|  •— dd l } ddlm} t          ‰pd¦  «                             ¦   «         r¡‰rt          d¦  «        r�ddlm} ‰rH|                     t          ‰¦  «        t          ‰¦  «        t          ‰¦  «        d|j
        d¬¦  «         n>|                     t          ‰¦  «        t          ‰¦  «        t          ‰¦  «        ¦  «         d S t          ‰‰‰‰
‰‰‰‰‰‰	‰‰¦  «        }|�r³d	|v �r®d
|v �r©t          ‰	‰‰‰‰
‰‰‰‰‰‰‰‰‰‰¬¦  «         |d	         }|d
         }|                     dd¦  «        }d‰	                     d¦  «        › d|› d ||¦  «        › d|› d |‰› d‰d›d‰d›�¦  «        › d‰r |‰¦  «        nd› d‰r |‰¦  «        nd› d‰r |‰¦  «        nd› d‰r |‰¦  «        nd› d‰r |‰¦  «        nd› d‰› d‰› d |‰¦  «        › d‰r |‰¦  «        nd› d ‰r |‰¦  «        nd› �}|                      d!|› �| j        ¬"¦  «         |                      d#¦  «         |                      d$|› d%�¦  «         ‰rRdd&lm}  |¦   «                              ‰t          ‰¦  «        t          ‰¦  «        t          ‰¦  «        d'œ¬(¦  «         d S d S |                      d)| j        ¬"¦  «         d S )*Nr   r   r   r  rÄ   rÊ   F)rÌ   rÍ   ÚfollowrÏ   rT   ©r  rU   rV   rÑ   rÒ   rÓ   rÔ   rÕ   rÖ   ú Sr  r  rØ   rÙ   rÚ   rÛ   rÜ   ú&tmdb_season=ú&tmdb_episode=ú&tmdb_series_name=r×   rÝ   zF[plugin.video.milionar] search_and_play_episode: Executing PlayMedia: r¢   rÞ   rß   r   )Úget_playlist_monitor)Ú
channel_idr­   r�   r‚   )rÁ   zR[plugin.video.milionar] search_and_play_episode: No file selected or search failed)r´   rè   r   r²   ré   rë   rê   rÅ   Úplay_episoderK   rí   Úsearch_and_select_episode_filer  rL   rð   rµ   rñ   rò   Ú%wcs.playback.PlaylistCountdownMonitorr"  Úactivate)r´   r   rö   r÷   rÏ   rT   rU   rù   r"  r¹   r  r‚   r  r�   rŸ   r  rš   r›   rž   r¡   r�   r  r­   r   s            €€€€€€€€€€€€€€€r   rú   z,search_and_play_episode.<locals>.play_action?  s’  ø€ ØˆˆˆØ+Ð+Ð+Ð+Ð+Ð+õ
 ˆwˆ}˜"ÑÔ×%Ò%Ñ'Ô'ð 	°ð 	ÕDTÐUYÑDZÔDZð 	Ø9Ð9Ð9Ð9Ð9Ð9Øð SØ×)Ò)­#¨g©,¬,½¸F¹¼ÅSÈÁ\Ä\ÐYaØ1=Ô1LÐUZð *ñ \ô \ð \ð \ð ×)Ò)­#¨g©,¬,½¸F¹¼ÅSÈÁ\Ä\ÑRÔRÐRØˆFå6°{ÀFÈGÐU\Ð^bÐdjÐlrÐtzð  }Bð  DIð  KOð  QXñ  Yô  Yˆàñ '	˜W¨Ð5Ñ5¸&ÀMÐ:QÑ:Qå&Ø�{ F¨G°W¸dÀFÈFÐTZÐ\aÐcgÐipÐryð  |Kð  [hðñ ô ð ð " 'Ô*ˆEØ  Ô(ˆDØ$×(Ò(¨°ZÑ@Ô@ˆHðQ E×$6Ò$6°tÑ$<Ô$<ð Qð QØ!&ðQð Qà * 
¨4Ñ 0Ô 0ðQð Qð %-ðQð Qð '1 j°KÐ1]Ð1]À6Ð1]Ð1]Ð1]ÐPWÐ1]Ð1]Ð1]Ñ&^Ô&^ð	Qð Qð
 :>Ð%E Z Z°Ñ%5Ô%5Ð%5À2ðQð Qð =CÐ&J j j°Ñ&8Ô&8Ð&8ÈðQð Qð >DÐ'K z z°&Ñ'9Ô'9Ð'9ÈðQð Qð >DÐ'K z z°&Ñ'9Ô'9Ð'9ÈðQð Qð <AÐ&H j j°Ñ&7Ô&7Ð&7ÀbðQð Qð (.ðQð Qð )0ðQð Qð -7¨J°{Ñ,CÔ,CðQð Qð :>Ð%E Z Z°Ñ%5Ô%5Ð%5À2ðQð Qð @GÐ(N¨
¨
°7Ñ(;Ô(;Ð(;ÈBðQð QˆHð �HŠHÐhÐ^fÐhÐhÐptÔp|ˆHÑ}Ô}Ð}à×ÒÐ 9Ñ:Ô:Ð:Ø×ÒÐ 8¨XÐ 8Ð 8Ð 8Ñ9Ô9Ð9ð ð ØVÐVÐVÐVÐVÐVØ$Ð$Ñ&Ô&×/Ò/Ø"1Ý" 7™|œ|Ý! &™kœkÝ" 7™|œ|ð	6ð 6Ð/ñ ô ð ð ð ðð ð �HŠHÐiÐquÔq}ˆHÑ~Ô~Ð~Ð~Ð~r   rû   )r¯   r°   r   rý   )r  r�   r‚   r  rš   r›   r�   rž   rŸ   r¹   r   r¡   r­   r  r  r¯   rú   s   ```````````````  r   Úsearch_and_play_episoder(  4  sÇ   øøøøøøøøøøøøøøø€ ð ð "ØÐÐÐØ—’Ñ!Ô!ˆð9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9õv Ô(¨ÀKÐPÑPÔPÐPÐPÐPr   c                 óz   — ddl m} ddlm} |                     | |||||
|||||	dœ¦  «        } ||d¬¦  «         dS )u§   NaplÃ¡nuje zobrazenÃ­ EpisodeInfoDialog po detekci startu pÅ™ehrÃ¡vÃ¡nÃ­.

    Deleguje na DialogScheduler -- zachovÃ¡na API signatura pro zpÄ›tnou kompatibilitu.
    r   rà   râ   )r  r  r  r  r›   r  r�   rž   r   rš   r­   Úaddon_episoderæ   N)ró   rá   rô   rã   Úfrom_tmdb_episode)r  r  r  r  r›   r�   rž   r   rš   r­   r  rá   rã   r½   s                 r   r  r  }  s†   € ð
 4Ð3Ð3Ð3Ð3Ð3ØBÐBÐBÐBÐBÐBà×.Ò.Ø"Ø&Ø&Ø(ØØ&ØØØØØð0ð 0ñ ô €Hð Ð˜¨/Ð:Ñ:Ô:Ð:Ð:Ð:r   c                 ó  — ddl }ddl}ddl}|sddl}|                     ¦   «         }|                      d¦  «        }|                      d¦  «        }|€|                      d¦  «        }|                      d¦  «        }|€|                      d¦  «        }|                      dd	¦  «        }	|�|€C|                     ¦   «                              |                     d
¦  «        d|j	        ¦  «         dS ddl
m}
m} |sñ|	rï|                     d|	› d�|j        ¬¦  «         	  |
|¦  «        }d|› d|	› �}|                     |¦  «        }|                     ¦   «          |                     ¦   «                              dg ¦  «        }|r1|d         d         }|                     d|› d|	› d�|j        ¬¦  «         n6# t"          $ r)}|                     d|› �|j        ¬¦  «         Y d}~nd}~ww xY w|sC|                     ¦   «                              |                     d
¦  «        d|j	        ¦  «         dS  |||||¦  «        }|sC|                     ¦   «                              |                     d
¦  «        d|j        ¦  «         dS |d         |d         |d         |d         |d         |d         |d         |d         |d         |d         |d          |d!         |d         d"œ}|                     d#|d         d$›d%|d         d$›d&|d         › d�|j        ¬¦  «         t)          |d         |d'         |d(         |d         |d         |d         |d         |d         |d         ||d          |d!         |d         ¬)¦  «         dS )*uÁ   
    PÅ™ehraje dalÅ¡Ã­ dÃ­l s kompletnÃ­mi metadaty z TMDb.
    ZjistÃ­ skuteÄ�nÃ½ dalÅ¡Ã­ dÃ­l (vÄ�etnÄ› pÅ™echodu mezi sezÃ³nami).
    Pokud nemÃ¡ tmdb_id, vyhledÃ¡ ho z nÃ¡zvu seriÃ¡lu.
    r   Nr­   Úcurrent_seasonr�   Úcurrent_episoder‚   r  r   rT   u0   ChybÃ­ parametry pro pÅ™ehrÃ¡nÃ­ dalÅ¡Ã­ho dÃ­lu)Úget_tmdb_api_keyÚget_next_episode_from_tmdbzF[plugin.video.milionar] play_next_episode: Searching TMDb for series 'ú'r¢   z/https://api.themoviedb.org/3/search/tv?api_key=z&language=cs-CZ&query=ÚresultsrÒ   z9[plugin.video.milionar] play_next_episode: Found TMDb ID z for 'z>[plugin.video.milionar] play_next_episode: TMDb search error: u$   NepodaÅ™ilo se najÃ­t seriÃ¡l v TMDbu   DalÅ¡Ã­ dÃ­l neexistujer  rš   r›   r�   r  rž   rŸ   r   r¡   )r  r  r  r  rš   r›   r�   r  rž   rŸ   r   r¡   r­   z4[plugin.video.milionar] play_next_episode: Playing Sr  r  z 'r  r  )r  r�   r‚   r  rš   r›   r�   rž   rŸ   r¹   r   r¡   r­   )r´   ÚxbmcguiÚrequestsr¯   r°   rL   ÚDialogÚnotificationrð   ÚNOTIFICATION_WARNINGÚwcs.metadata.TMDbClientr/  r0  rµ   rñ   Úraise_for_statusÚjsonr³   r¶   ÚNOTIFICATION_INFOr(  )Úparamsr¹   r´   r3  r4  r¯   r­   r-  r.  r  r/  r0  Úapi_keyÚ
search_urlÚresponser2  r¾   Únext_eprÁ   s                      r   Úplay_next_episode_with_metadatarA  •  sœ  € ð €K€K€KØ€N€N€NØ€O€O€Oàð "ØÐÐÐØ—’Ñ!Ô!ˆà�jŠj˜Ñ#Ô#€GØ—Z’ZÐ 0Ñ1Ô1€NØÐØŸš HÑ-Ô-ˆà—j’jÐ!2Ñ3Ô3€OØÐØ Ÿ*š* YÑ/Ô/ˆØ—*’*˜]¨BÑ/Ô/€KàÐ Ð!8Ø�ŠÑÔ×%Ò%Ø×Ò˜vÑ&Ô&Ø>ØÔ(ñ	
ô 	
ð 	
ð
 	ˆð UÐTÐTÐTÐTÐTÐTÐTàð r�{ð rØ�ŠÐhÐZeÐhÐhÐhÐptÔp|ˆÑ}Ô}Ð}ð
	rØ&Ð& uÑ-Ô-ˆGØwÈ7ÐwÐwÐjuÐwÐwˆJØ—|’| JÑ/Ô/ˆHØ×%Ò%Ñ'Ô'Ð'Ø—m’m‘o”o×)Ò)¨)°RÑ8Ô8ˆGØð HØ! !œ* TÔ*�Ø—’ÐrÐU\ÐrÐrÐdoÐrÐrÐrÐz~ô  {G�ñ  Hô  Hð  HøøÝð 	rð 	rð 	rØ�HŠHÐYÐVWÐYÐYÐaeÔapˆHÑqÔqÐqÐqÐqÐqÐqÐqøøøøð	røøøð ð Ø�ŠÑÔ×%Ò%Ø×Ò˜vÑ&Ô&Ø2ØÔ(ñ	
ô 	
ð 	
ð
 	ˆð )Ð(¨°.À/ÐSXÑYÔY€Gàð Ø�ŠÑÔ×%Ò%Ø×Ò˜vÑ&Ô&Ø%ØÔ%ñ	
ô 	
ð 	
ð
 	ˆð ˜}Ô-Ø  Ô*Ø! )Ô,Ø  Ô1Ø˜”Ø˜(Ô#Ø˜(Ô#Ø  Ô1Ø˜(Ô#Ø˜Ô!Ø˜”Ø˜9Ô%Ø˜9Ô%ðð €Dð  	‡H‚Hð  RÀGÈHÔDUð  Rð  Rð  RÐ\cÐdmÔ\nð  Rð  Rð  RÐv}ð  Nô  wOð  Rð  Rð  Rð  Z^ô  Zf€Hñ  gô  gð  gõ Ø˜Ô'Ø�OÔ$ØÐ%Ô&Ø�_Ô%Ø�&Œ\Ø�HŒ~Ø�HŒ~Ø�HŒ~Ø�7ŒmØØ�&Œ\Ø�Y”Ø�Y”ðñ ô ð ð ð s   ÄBF6 Æ6
G)Ç G$Ç$G)c                 ó  ‡‡‡‡‡‡‡	‡
‡‡‡‡‡‡— ‰sddl }|                     ¦   «         Š|                      dd¦  «        Št          |                      d¦  «        pd¦  «        Št          |                      d¦  «        pd¦  «        Š|                      dd¦  «        Š|                      dd¦  «        Š
|                      d	d¦  «        Š|                      d
d¦  «        Š|                      dd¦  «        Š	|                      dd¦  «        Š|                      dd¦  «        Š|                      dd¦  «        Š|                      dd¦  «        Š|                      dd¦  «        Šˆˆˆˆˆˆˆ	ˆ
ˆˆˆˆˆˆfd„}t	          j        ‰|¬¦  «         dS )uˆ  JEDNOTNÃ� vstup pro pÅ™ehrÃ¡nÃ­ epizody ze doplÅˆku (TMDb menu, MyList).

    OÄ�ekÃ¡vÃ¡ meta s klÃ­Ä�i (z menu/cache, bez sÃ­Å¥ovÃ½ch dotazÅ¯):
      - series_name, season_number, episode_number, episode_title
      - poster (poster seriÃ¡lu pro UI), fanart (seriÃ³vÃ½ fanart)
      - episode_thumb (still epizody pro ÃºvodnÃ­ dialog)
      - plot, rating, genre, year, runtime, tmdb_id
    r   Nr  r   r  r  r  r›   r�   r  rš   rž   rŸ   r   r¡   r­   c                   óÊ  •— dd l } ddlm} t          ‰pd¦  «                             ¦   «         r0‰r.‰r,ddlm} |                     t          ‰¦  «        ‰‰¦  «         d S ‰› d‰d›d‰d›�}ddl	m
}  |d4i d	|“d
‰“d‰“d‰“d‰“d‰“d‰“d‰“d‰“dd“d‰“d‰“d‰“d‰“d‰p‰rd‰› �nd“d‰“dd“Ž}|�r+d|v �r(|d         }|                     dd¦  «        }|                     dd ¦  «        }d!‰
                     d"¦  «        › d#|› d$ ||¦  «        › d%|› d& |‰› d‰d›d‰d›�¦  «        › d'‰r |‰¦  «        nd› d(‰r |‰¦  «        nd› d)‰r |‰¦  «        nd› d*‰r |‰¦  «        nd› d+‰r |‰¦  «        nd› d,‰› d-‰› d. |‰¦  «        › d/‰r |‰¦  «        nd› d0‰r |‰¦  «        nd› �}	|                      d1¦  «         |                      d2|	› d3�¦  «         d S d S d S )5Nr   r   r   rÄ   r  r  r  r¤   r¦   r§   r¨   r©   rª   rž   rŸ   r¡   rš   r¬   Tr  r  r  r­   r  r  r  rº   FrÏ   rT   rU   rV   rÑ   rÒ   rÓ   rÔ   rÕ   rÖ   rØ   rÙ   rÚ   rÛ   rÜ   r  r   r!  r×   rÝ   rÞ   rß   r   © )r´   rè   r   r²   ré   rê   rÅ   r$  rK   r·   r¥   rL   rð   rò   )r´   r   rö   Ú
search_strr¥   r÷   rÏ   rT   rU   rù   r¹   r  r  r  r�   rŸ   rš   r›   rž   r¡   r  r  r­   r   s             €€€€€€€€€€€€€€r   rú   z,play_episode_from_addon.<locals>.play_action  s  ø€ ØˆˆˆØ+Ð+Ð+Ð+Ð+Ð+õ ˆwˆ}˜"ÑÔ×%Ò%Ñ'Ô'ð 	¨Mð 	¸nð 	Ø9Ð9Ð9Ð9Ð9Ð9Ø×%Ò%¥c¨'¡l¤l°MÀ>ÑRÔRÐRØˆFð $ÐOÐO }ÐOÐOÐO¸>ÐOÐOÐOˆ
ØEÐEÐEÐEÐEÐEØ*Ð*ð 
ð 
ð 
Ø#˜ð
à#˜ð
ð �tð
ð �vð	
ð
 �vð
ð �6ð
ð �%ð
ð �Gð
ð �ð
ð �tð
ð $˜ð
ð (˜-ð
ð *˜>ð
ð �Gð
ð (ÐbÈ>Ð,aÐ,G°~Ð,GÐ,GÐ,GÐ_aøð
ð  (˜-ð!
ð" ˜ð#
ˆð* ñ 	:˜W¨Ð5Ñ5Ø! 'Ô*ˆEØ ×$Ò$ V¨RÑ0Ô0ˆDØ$×(Ò(¨°ZÑ@Ô@ˆHðJ˜E×.Ò.¨tÑ4Ô4ð Jð JØðJð Jà#˜ DÑ)Ô)ðJð Jð &ðJð Jð  *˜z¨[Ð*dÐ*d¸MÐ*dÐ*dÐ*dÐP^Ð*dÐ*dÐ*dÑeÔeð	Jð Jð
 37Ð>˜j˜j¨Ñ.Ô.Ð.¸BðJð Jð 6<ÐC˜z˜z¨&Ñ1Ô1Ð1ÀðJð Jð 7=Ð D 
 
¨6Ñ 2Ô 2Ð 2À"ðJð Jð 7=Ð D 
 
¨6Ñ 2Ô 2Ð 2À"ðJð Jð 5:ÐA˜z˜z¨%Ñ0Ô0Ð0¸rðJð Jð !.ðJð Jð "0ðJð Jð &0 Z°Ñ%<Ô%<ðJð Jð 37Ð>˜j˜j¨Ñ.Ô.Ð.¸BðJð Jð 9@Ð!G  ¨GÑ!4Ô!4Ð!4ÀRðJð Jð ð$ ×ÒÐ 9Ñ:Ô:Ð:Ø×ÒÐ 8¨XÐ 8Ð 8Ð 8Ñ9Ô9Ð9Ð9Ð9ð/	:ð 	:Ð5Ð5r   rû   )r¯   r°   rL   rK   r   rý   )rÁ   r¹   r¯   rú   r  r  r  r�   rŸ   rš   r›   rž   r¡   r  r  r­   r   s    `  @@@@@@@@@@@@@r   Úplay_episode_from_addonrF  þ  s¼  øøøøøøøøøøøøøø€ ð ð "ØÐÐÐØ—’Ñ!Ô!ˆà—(’(˜=¨"Ñ-Ô-€KÝ˜Ÿš Ñ1Ô1Ð6°QÑ7Ô7€MÝ˜ŸšÐ"2Ñ3Ô3Ð8°qÑ9Ô9€NØ—H’H˜_¨bÑ1Ô1€MØ�XŠX�h Ñ#Ô#€FØ�XŠX�h Ñ#Ô#€FØ—H’H˜_¨bÑ1Ô1€MØ�8Š8�F˜BÑÔ€DØ�XŠX�h Ñ#Ô#€FØ�HŠH�W˜bÑ!Ô!€EØ�8Š8�F˜BÑÔ€DØ�hŠh�y "Ñ%Ô%€GØ�hŠh�y "Ñ%Ô%€Gð9:ð 9:ð 9:ð 9:ð 9:ð 9:ð 9:ð 9:ð 9:ð 9:ð 9:ð 9:ð 9:ð 9:ð 9:ð 9:ð 9:ð 9:õz Ô(¨ÀKÐPÑPÔPÐPÐPÐPr   c                 óÖ   — |	sddl }|                     ¦   «         }	| › d|d›d|d›�}ddlm} | } |di d|“d|“d	|
“d
|“d|“d|“d|“dd“d|“d|“dg “dd“d| “d|“d|“d|“d|“d|“ŽS )u„   
    WRAPPER: TenkÃ½ wrapper pro centrÃ¡lnÃ­ funkci search_and_select_series_file.
    VracÃ­ vybranÃ½ soubor (dict) nebo None.
    r   Nr  r  r  r¤   r¦   r§   r¨   r©   rª   rž   rŸ   r    r   r¡   rš   r«   r¬   Tr  r  r  r  r­   r®   rD  )r¯   r°   r·   r¥   )r  r�   r‚   r  rš   r›   r�   rž   rŸ   r¹   r   r¡   r®   r­   r¯   rE  r¥   r§   s                     r   r%  r%  X  sU  € ð
 ð "ØÐÐÐØ—’Ñ!Ô!ˆð  Ð=Ð= 6Ð=Ð=Ð=°Ð=Ð=Ð=€Jð BÐAÐAÐAÐAÐAð €KàÐð ð ð Ø�Zðà�Kðð �4ðð �6ð	ð
 �6ðð ˆvðð ˆeðð �ðð �ðð ˆTðð �rðð �4ðð  �Kðð �fðð �wðð  �gð!ð" �ð#ð$ *Ð)ð%ð r   c	           
      ó@  — |r2t          |pd¦  «                             ¦   «         rt          | ¦  «        sdS 	 ddlm}	 |	                     | dk    rdnd|||||||¬¦  «         dS # t          $ r.}
ddl}|                     d	|
› �|j	        ¬
¦  «         Y d}
~
dS d}
~
ww xY w)zµShared progress: a channel's playlist item is tracked by the service like a library play (resume, watched,
    play log); the channel's own countdown keeps starting what comes next.r   Nr   r  rÇ   r�   r  ©r¸   Ú
show_titlez6[plugin.video.milionar] Channel play contract failed: r¢   )
r²   ré   rë   rê   r  Úcontractr³   r´   rµ   r¶   )r  r#  r­   Úlinkr÷   r�   r‚   r¸   rJ  r  r¾   r´   s               r   Ú_channel_contractrM    s   € ð ð �S  ¨BÑ/Ô/×7Ò7Ñ9Ô9ð ÕAQÐRVÑAWÔAWð ØˆðfØ'Ð'Ð'Ð'Ð'Ð'Ø�Š 4¨8Ò#3Ð#3˜˜¸¸wÈÈmÐ]cÐelØ#°
ð 	ñ 	<ô 	<ð 	<ð 	<ð 	<øåð fð fð fØˆˆˆØ�ŠÐMÈ!ÐMÐMÐUYÔUdˆÑeÔeÐeÐeÐeÐeÐeÐeÐeøøøøðføøøs   ¸+A% Á%
BÁ/#BÂBc                 óD  — |	sddl }|                     ¦   «         }	ddl}ddlm}  |j        |	¦  «        sdS t          | |||||||||	|
|d¬¦  «        }|�rJd|v �rEd|v �r@|                     dd	¦  «        }d}	 |d
k    rHddlm	} | 
                    |d         |	¦  «        }|                     d| › d|› d|› �|j        ¬¦  «         nbddlm} |	                     d¦  «        }|sdS |                     |d         ||	¬¦  «        }|                     d| › d|› d|› �|j        ¬¦  «         |r:t#          |	| |||||||||
||||¬¦  «         t%          d|||||||pd| ¬¦	  «	         |S n:# t&          $ r-}|                     d|› d|› �|j        ¬¦  «         Y d}~dS d}~ww xY wdS )u-  
    VyhledÃ¡ a vrÃ¡tÃ­ stream URL pro epizodu (pro pouÅ¾itÃ­ v playlistu).
    PouÅ¾Ã­vÃ¡ autoplay=True pro automatickÃ½ vÃ½bÄ›r nejlepÅ¡Ã­ho zdroje.
    Podporuje webshare i kra.sk provider.
    
    Args:
        mytv_channel_id: Pokud je nastaveno, progress se uklÃ¡dÃ¡ do kanÃ¡lovÃ© historie
    r   Nr   T)r®   rÏ   rT   rU   rV   rX   ©ÚKraskaClientzI[plugin.video.milionar] resolve_episode_for_playlist: KRA.sk resolve for r  r  r¢   ©ÚWebshareClientÚtoken©r¹   zK[plugin.video.milionar] resolve_episode_for_playlist: Webshare resolve for r  r  r   rI  zK[plugin.video.milionar] resolve_episode_for_playlist error resolving link (ú): )r¯   r°   r´   r  r   rý   r%  rL   Ú
wcs.kraskarP  Úresolverµ   rñ   Úwcs.websharerR  Ú
getSettingÚgetlinkr  rM  r³   rï   )r  r�   r‚   r  rš   r›   r�   rž   rŸ   r¹   r   r¡   r­   r  r  r¯   r´   r   r÷   rU   rL  rP  Úws_apirS  r¾   s                            r   Úresolve_episode_for_playlistr\  �  s  € ð ð "ØÐÐÐØ—’Ñ!Ô!ˆà€K€K€KØÐÐÐÐÐð 0ˆ9Ô/°Ñ6Ô6ð Øˆtõ 3Ø�V˜W g¨t°V¸VÀVÈUØˆt�W¨tðñ ô €Mð
 ñ ˜ MÐ1Ñ1°fÀÐ6MÑ6Mà ×$Ò$ Z°Ñ<Ô<ˆØˆð	Ø˜8Ò#Ð#à3Ð3Ð3Ð3Ð3Ð3Ø#×+Ò+¨M¸'Ô,BÀEÑJÔJ�Ø—’ð  GÐepð  Gð  GÐtzð  Gð  Gð  ~Eð  Gð  Gð  OSô  O[�ñ  \ô  \ð  \ð  \ð BÐAÐAÐAÐAÐAØ×(Ò(¨Ñ1Ô1�Øð  Ø˜4Ø—~’~ m°GÔ&<¸eÈ5�~ÑQÔQ�Ø—’ð  IÐgrð  Ið  IÐv|ð  Ið  Ið  @Gð  Ið  Ið  QUô  Q]�ñ  ^ô  ^ð  ^àð å*Ø˜;¨°¸À$ÈÐPVÐX^Ð`eÐgkÐmtÐv}ð  @Oð  _lðñ ô ð õ " $¨¸À$ÈÐW]Ð_fØ(/¨°2À+ðOñ Oô Oð Oð �ðøõ ð 	ð 	ð 	Ø�HŠHÐsÐckÐsÐsÐpqÐsÐsÐ{ô  |IˆHñ  Jô  Jð  JØ�4�4�4�4�4øøøøð	øøøð ˆ4s    Á9A+E& Ã&A>E& Å&
FÅ0"FÆFc                 ó–  — |sddl }|                     ¦   «         }ddl}	ddlm}
  |
j        |¦  «        sdS t          | ||||dddd|d¬¦  «        }|�rud|v �rpd|v �rk|                     d	d
¦  «        }d}	 |dk    rBddlm	} | 
                    |d         |¦  «        }|	                     d| › �|	j        ¬¦  «         n\ddlm} |                     d¦  «        }|sdS |                     |d         ||¬¦  «        }|	                     d| › �|	j        ¬¦  «         |rq|rm|rk	 ddlm} |                     ||d¬¦  «         n6# t(          $ r)}|	                     d|› �|	j        ¬¦  «         Y d}~nd}~ww xY wt-          d||||| ¬¦  «         |S n:# t(          $ r-}|	                     d|› d|› �|	j        ¬¦  «         Y d}~dS d}~ww xY wdS )u	  
    VyhledÃ¡ a vrÃ¡tÃ­ stream URL pro film (pro pouÅ¾itÃ­ v MyCinema playlistu).
    PouÅ¾Ã­vÃ¡ autoplay=True pro automatickÃ½ vÃ½bÄ›r nejlepÅ¡Ã­ho zdroje.
    Podporuje webshare i kra.sk provider.
    
    Args:
        movie_name: NÃ¡zev filmu
        tmdb_id: TMDb ID filmu
        year: Rok vydÃ¡nÃ­
        poster: URL posteru
        plot: Popis
        fanart: URL fanart
        addon: Kodi addon instance
        mycinema_channel_id: ID kina pro historii
    
    Returns:
        str: Stream URL nebo None
    r   Nr   r   TrÎ   rÏ   rT   rU   rV   rX   rO  zG[plugin.video.milionar] resolve_movie_for_playlist: KRA.sk resolve for r¢   rQ  rS  rT  zI[plugin.video.milionar] resolve_movie_for_playlist: Webshare resolve for r  )ÚwatchedzQ[plugin.video.milionar] resolve_movie_for_playlist: Error marking movie watched: rÇ   )r¸   zI[plugin.video.milionar] resolve_movie_for_playlist error resolving link (rU  )r¯   r°   r´   r  r   rý   rÀ   rL   rV  rP  rW  rµ   rñ   rX  rR  rY  rZ  r  r	  Úmark_movie_watchedr³   r¶   rM  rï   )Ú
movie_namer­   r   r›   rš   r�   r¹   rÆ   r¯   r´   r   r÷   rU   rL  rP  r[  rS  r	  r¾   s                      r   Úresolve_movie_for_playlistra  Ë  s  € ð& ð "ØÐÐÐØ—’Ñ!Ô!ˆà€K€K€KØÐÐÐÐÐð 0ˆ9Ô/°Ñ6Ô6ð Øˆtõ 1Ø�D˜$ ¨°°B¸¸BÀÐPTðñ ô €Mð ñ !˜ MÐ1Ñ1°fÀÐ6MÑ6Mà ×$Ò$ Z°Ñ<Ô<ˆØˆð	Ø˜8Ò#Ð#à3Ð3Ð3Ð3Ð3Ð3Ø#×+Ò+¨M¸'Ô,BÀEÑJÔJ�Ø—’ÐoÐcmÐoÐoÐw{ô  xD�ñ  Eô  Eð  Eð  Eð BÐAÐAÐAÐAÐAØ×(Ò(¨Ñ1Ô1�Øð  Ø˜4Ø—~’~ m°GÔ&<¸eÈ5�~ÑQÔQ�Ø—’ÐqÐeoÐqÐqÐy}ô  zF�ñ  Gô  Gð  Gàð 
à&ð u¨7ð uðQØ9Ð9Ð9Ð9Ð9Ð9Ø&×9Ò9Ð:MÈwÐ`dÐ9ÑeÔeÐeÐeøÝ$ð Qð Qð QØŸšÐ!xÐuvÐ!xÐ!xð  AEô  AP˜ñ  Qô  Qð  Qð  Qð  Qð  Qð  Qð  QøøøøðQøøøå% hÐ0CÀWÈdÐTaÐisÐtÑtÔtÐtà�ð
øõ ð 	ð 	ð 	Ø�HŠHÐqÐaiÐqÐqÐnoÐqÐqÐy}ô  zGˆHñ  Hô  Hð  HØ�4�4�4�4�4øøøøð	øøøð ˆ4sJ   Á7A%F ÃAF Ä"E Å F Å
E4ÅE/Å*F Å/E4Å4F Æ
GÆ"GÇGc                 óÚ  — ddl }ddl}ddl}ddlm} t          | |ddddddd|¦
  «
        }|ròd|v rî|                     d¦  «        }	|                     |dd„¦  «        }
|
r¿	 |                     ||
ddd	¬
¦  «         n# t          $ r Y nw xY w| 
                    |	|
d|¬¦  «        }|rx|                     |¬¦  «        }|                     dd¦  «         |                     |d	|¦  «         |                     d|                     dd¦  «        › �|j        ¬¦  «         dS |                     d| › d|› d�|j        ¬¦  «         |                     |d|                     ¦   «         ¦  «         dS )uU   
    Funkce pro pÅ™ehrÃ¡nÃ­ filmu z knihovny Kodi - pouÅ¾Ã­vÃ¡ setResolvedUrl().
    r   NrQ  r   rÏ   c                 ó   — d S r   rD  )Úmsgr¸   Úicons      r   ú<lambda>z+resolve_movie_for_library.<locals>.<lambda>#  s   € ÐRV€ r   FÚlibrary_movieT)Útoken_overrideÚshow_notificationÚlog_contextÚshow_warningÚvideo_stream)Údtyper¹   )r‡   Ú
IsPlayableÚtruezJ[plugin.video.milionar] resolve_movie_for_library: Successfully resolved: rT   r¢   zQ[plugin.video.milionar] resolve_movie_for_library: Failed to resolve stream for 'r	   r1  ry   )r´   r3  Ú
xbmcpluginrX  rR  rÀ   rL   Ú
revalidateÚrefresh_vip_infor³   rZ  ÚListItemÚsetPropertyÚsetResolvedUrlrµ   rñ   r¶   )r¸   r   r¹   Úhandler´   r3  rp  Úwebshare_apir÷   rÏ   rS  rL  Úlistitems                r   Úresolve_movie_for_libraryry    s2  € ð €K€K€KØ€N€N€NØÐÐÐØ;Ð;Ð;Ð;Ð;Ð;õ 1°¸¸bÀ"ÀbÈ"ÈbÐRTÐVXÐZ_Ñ`Ô`€Màð ˜ MÐ1Ð1Ø×!Ò! 'Ñ*Ô*ˆð ×'Ò'¨Ð/VÐ/VÐ/VÑWÔWˆØð 	ðØ×-Ò-¨eÀEÐ]bÐpð  OSÐ-ñ  Tô  Tð  Tð  TøÝð ð ð Ø�ðøøøð  ×'Ò'¨¨u¸NÐRWÐ'ÑXÔXˆDØð à"×+Ò+°Ð+Ñ6Ô6�Ø×$Ò$ \°6Ñ:Ô:Ð:Ø×)Ò)¨&°$¸ÑAÔAÐAØ—’ð  FÐfs×fwÒfwÐx~ð  ACñ  gDô  gDð  Fð  Fð  NRô  NZ�ñ  [ô  [ð  [Ø�ð 	‡H‚HÐpÐafÐpÐpÐimÐpÐpÐpÐx|ô  yH€Hñ  Iô  Ið  IØ×Ò˜f e¨W×-=Ò-=Ñ-?Ô-?Ñ@Ô@Ð@Ð@Ð@s   Á!A< Á<
B	ÂB	c                 óî  — |sdS |                       ¦   «         }d|v r(|                     t          |d         ¦  «        ¦  «         d|v r(|                     t          |d         ¦  «        ¦  «         d|v r(|                     t          |d         ¦  «        ¦  «         d|v rI|d         rA	 |                     t          |d         ¦  «        ¦  «         n# t          t          f$ r Y nw xY wd|v r(| 	                    t          |d         ¦  «        ¦  «         d|v r(| 
                    t          |d         ¦  «        ¦  «         d|v r(|                     t          |d         ¦  «        ¦  «         d	|v r(|                     t          |d	         ¦  «        ¦  «         d
|v rI|d
         rA	 |                     t          |d
         ¦  «        ¦  «         n# t          t          f$ r Y nw xY wd|v rI|d         rA	 |                     t          |d         ¦  «        ¦  «         n# t          t          f$ r Y nw xY wd|v rI|d         rA	 |                     t          |d         ¦  «        ¦  «         n# t          t          f$ r Y nw xY wd|v rI|d         rA	 |                     t          |d         ¦  «        ¦  «         n# t          t          f$ r Y nw xY wd|v rI|d         rA	 |                     t          |d         ¦  «        ¦  «         n# t          t          f$ r Y nw xY wd|v r(|                     t          |d         ¦  «        ¦  «         d|v r(|                     t          |d         ¦  «        ¦  «         d|v r(|                     t          |d         ¦  «        ¦  «         d|v r(|                     t          |d         ¦  «        ¦  «         d|v rI|d         rA	 |                     t          |d         ¦  «        ¦  «         n# t          t          f$ r Y nw xY wd|v rI|d         rA	 |                     t          |d         ¦  «        ¦  «         n# t          t          f$ r Y nw xY wd|v r(|                     t          |d         ¦  «        ¦  «         d|v rY|d         }t5          |t          ¦  «        r|g}n!t5          |t6          ¦  «        rd„ |D ¦   «         }|r|                     |¦  «         d|v rY|d         }t5          |t          ¦  «        r|g}n!t5          |t6          ¦  «        rd„ |D ¦   «         }|r|                     |¦  «         d|v rY|d         }t5          |t          ¦  «        r|g}n!t5          |t6          ¦  «        rd„ |D ¦   «         }|r|                     |¦  «         d|v rY|d         }t5          |t          ¦  «        r|g}n!t5          |t6          ¦  «        rd„ |D ¦   «         }|r|                     |¦  «         d|v rY|d         }t5          |t          ¦  «        r|g}n!t5          |t6          ¦  «        rd„ |D ¦   «         }|r|                      |¦  «         d |v rY|d          }t5          |t          ¦  «        r|g}n!t5          |t6          ¦  «        rd!„ |D ¦   «         }|r| !                    |¦  «         d"|v r(| "                    t          |d"         ¦  «        ¦  «         d#|v r(| #                    t          |d#         ¦  «        ¦  «         d$|v r(| $                    t          |d$         ¦  «        ¦  «         d%|v r(| %                    t          |d%         ¦  «        ¦  «         d&|v r(| &                    t          |d&         ¦  «        ¦  «         d'|v rY|d'         }	t5          |	t          ¦  «        r|	g}	n!t5          |	t6          ¦  «        rd(„ |	D ¦   «         }	|	r| '                    |	¦  «         d)|v r(| (                    t          |d)         ¦  «        ¦  «         d*|v rK|d*         rE	 | )                    t          |d*         ¦  «        ¦  «         dS # t          t          f$ r Y dS w xY wdS dS )+u3  
    UniverzÃ¡lnÃ­ funkce pro nastavovÃ¡nÃ­ video info tagu mÃ­sto zastaralÃ© setInfo metody.
    PouÅ¾Ã­vÃ¡ novÃ© InfoTagVideo settery pro lepÅ¡Ã­ vÃ½kon a kompatibilitu s budoucÃ­mi verzemi Kodi.
    
    Args:
        listitem: xbmcgui.ListItem objekt
        info_dict: SlovnÃ­k s video informacemi
    Nr¸   rš   Úplotoutliner   ÚoriginaltitleÚ	sorttitleÚtaglineÚ	mediatyperž   Ú
userratingÚvotesÚ	playcountÚdurationÚ	premieredÚairedÚ
lastplayedÚ	dateaddedr‚   r�   ÚtvshowtitlerŸ   c                 ó0   — g | ]}|¯t          |¦  «        ‘ŒS rD  ©r²   )r   Úgs     r   ú
<listcomp>z&set_video_info_tag.<locals>.<listcomp>”  s#   € Ð2Ð2Ð2 °Ð2•c˜!‘f”fÐ2Ð2Ð2r   Úcountryc                 ó0   — g | ]}|¯t          |¦  «        ‘ŒS rD  rŠ  )r   Úcs     r   rŒ  z&set_video_info_tag.<locals>.<listcomp>�  ó#   € Ð8Ð8Ð8 A°aÐ8�˜Q™œÐ8Ð8Ð8r   r    c                 ó0   — g | ]}|¯t          |¦  «        ‘ŒS rD  rŠ  )r   Úds     r   rŒ  z&set_video_info_tag.<locals>.<listcomp>¦  r�  r   Úwriterc                 ó0   — g | ]}|¯t          |¦  «        ‘ŒS rD  rŠ  )r   Úws     r   rŒ  z&set_video_info_tag.<locals>.<listcomp>¯  ó#   € Ð4Ð4Ð4 !°!Ð4•s˜1‘v”vÐ4Ð4Ð4r   Ústudioc                 ó0   — g | ]}|¯t          |¦  «        ‘ŒS rD  rŠ  )r   Úss     r   rŒ  z&set_video_info_tag.<locals>.<listcomp>¸  r–  r   Útagc                 ó0   — g | ]}|¯t          |¦  «        ‘ŒS rD  rŠ  )r   Úts     r   rŒ  z&set_video_info_tag.<locals>.<listcomp>Á  s#   € Ð.Ð.Ð.˜q¨AÐ.•C˜‘F”FÐ.Ð.Ð.r   ÚmpaaÚtrailerr‡   ÚfilenameandpathÚ
imdbnumberÚartistc                 ó0   — g | ]}|¯t          |¦  «        ‘ŒS rD  rŠ  )r   Úas     r   rŒ  z&set_video_info_tag.<locals>.<listcomp>×  r–  r   ÚalbumÚtrack)*ÚgetVideoInfoTagÚsetTitler²   ÚsetPlotÚsetPlotOutlineÚsetYearrK   rM   rN   ÚsetOriginalTitleÚsetSortTitleÚ
setTagLineÚsetMediaTypeÚ	setRatingÚfloatÚsetUserRatingÚsetVotesÚsetPlaycountÚsetDurationÚsetPremieredÚsetFirstAiredÚsetLastPlayedÚsetDateAddedÚ
setEpisodeÚ	setSeasonÚsetTvShowTitleÚ
isinstanceÚlistÚ	setGenresÚsetCountriesÚsetDirectorsÚ
setWritersÚ
setStudiosÚsetTagsÚsetMpaaÚ
setTrailerÚsetPathÚsetFilenameAndPathÚsetIMDBNumberÚ
setArtistsÚsetAlbumÚsetTrackNumber)
rx  Ú	info_dictÚ	video_tagÚgenresÚ	countriesÚ	directorsÚwritersÚstudiosÚtagsÚartistss
             r   Úset_video_info_tagrÕ  8  sî	  € ð ð Øˆà×(Ò(Ñ*Ô*€Ið �)ÐÐØ×Ò�3˜y¨Ô1Ñ2Ô2Ñ3Ô3Ð3Ø�ÐÐØ×Ò�#˜i¨Ô/Ñ0Ô0Ñ1Ô1Ð1Ø˜	Ð!Ð!Ø× Ò ¥ Y¨}Ô%=Ñ!>Ô!>Ñ?Ô?Ð?Ø�ÐÐ˜y¨Ô0Ðð	Ø×Ò�c )¨FÔ"3Ñ4Ô4Ñ5Ô5Ð5Ð5øÝ�IÐ&ð 	ð 	ð 	ØˆDð	øøøà˜)Ð#Ð#Ø×"Ò"¥3 y°Ô'AÑ#BÔ#BÑCÔCÐCØ�iÐÐØ×Ò�s 9¨[Ô#9Ñ:Ô:Ñ;Ô;Ð;Ø�IÐÐØ×Ò�S ¨9Ô!5Ñ6Ô6Ñ7Ô7Ð7Ø�iÐÐØ×Ò�s 9¨[Ô#9Ñ:Ô:Ñ;Ô;Ð;ð �9ÐÐ ¨8Ô!4Ðð	Ø×Ò¥ i°Ô&9Ñ :Ô :Ñ;Ô;Ð;Ð;øÝ�IÐ&ð 	ð 	ð 	ØˆDð	øøøà�yÐ Ð  Y¨|Ô%<Ð ð	Ø×#Ò#¥C¨	°,Ô(?Ñ$@Ô$@ÑAÔAÐAÐAøÝ�IÐ&ð 	ð 	ð 	ØˆDð	øøøà�)ÐÐ 	¨'Ô 2Ðð	Ø×Ò�s 9¨WÔ#5Ñ6Ô6Ñ7Ô7Ð7Ð7øÝ�IÐ&ð 	ð 	ð 	ØˆDð	øøøà�iÐÐ I¨kÔ$:Ðð	Ø×"Ò"¥3 y°Ô'=Ñ#>Ô#>Ñ?Ô?Ð?Ð?øÝ�IÐ&ð 	ð 	ð 	ØˆDð	øøøð �YÐÐ 9¨ZÔ#8Ðð	Ø×!Ò!¥# i°
Ô&;Ñ"<Ô"<Ñ=Ô=Ð=Ð=øÝ�IÐ&ð 	ð 	ð 	ØˆDð	øøøà�iÐÐØ×Ò�s 9¨[Ô#9Ñ:Ô:Ñ;Ô;Ð;Ø�)ÐÐØ×Ò¥ I¨gÔ$6Ñ 7Ô 7Ñ8Ô8Ð8Ø�yÐ Ð Ø×Ò¥ I¨lÔ$;Ñ <Ô <Ñ=Ô=Ð=Ø�iÐÐØ×Ò�s 9¨[Ô#9Ñ:Ô:Ñ;Ô;Ð;ð �IÐÐ )¨IÔ"6Ðð	Ø× Ò ¥ Y¨yÔ%9Ñ!:Ô!:Ñ;Ô;Ð;Ð;øÝ�IÐ&ð 	ð 	ð 	ØˆDð	øøøà�9ÐÐ ¨8Ô!4Ðð	Ø×Ò¥ I¨hÔ$7Ñ 8Ô 8Ñ9Ô9Ð9Ð9øÝ�IÐ&ð 	ð 	ð 	ØˆDð	øøøà˜	Ð!Ð!Ø× Ò ¥ Y¨}Ô%=Ñ!>Ô!>Ñ?Ô?Ð?ð �)ÐÐØ˜7Ô#ˆÝ�f�cÑ"Ô"ð 	3Ø�XˆFˆFÝ˜¥Ñ%Ô%ð 	3Ø2Ð2 fÐ2Ñ2Ô2ˆFØð 	(Ø×Ò Ñ'Ô'Ð'à�IÐÐØ˜iÔ(ˆ	Ý�i¥Ñ%Ô%ð 	9Ø"˜ˆIˆIÝ˜	¥4Ñ(Ô(ð 	9Ø8Ð8¨Ð8Ñ8Ô8ˆIØð 	.Ø×"Ò" 9Ñ-Ô-Ð-à�YÐÐØ˜jÔ)ˆ	Ý�i¥Ñ%Ô%ð 	9Ø"˜ˆIˆIÝ˜	¥4Ñ(Ô(ð 	9Ø8Ð8¨Ð8Ñ8Ô8ˆIØð 	.Ø×"Ò" 9Ñ-Ô-Ð-à�9ÐÐØ˜HÔ%ˆÝ�g�sÑ#Ô#ð 	5Ø�iˆGˆGÝ˜¥Ñ&Ô&ð 	5Ø4Ð4 wÐ4Ñ4Ô4ˆGØð 	*Ø× Ò  Ñ)Ô)Ð)à�9ÐÐØ˜HÔ%ˆÝ�g�sÑ#Ô#ð 	5Ø�iˆGˆGÝ˜¥Ñ&Ô&ð 	5Ø4Ð4 wÐ4Ñ4Ô4ˆGØð 	*Ø× Ò  Ñ)Ô)Ð)à�	ÐÐØ˜ÔˆÝ�d�CÑ Ô ð 	/Ø�6ˆDˆDÝ˜�dÑ#Ô#ð 	/Ø.Ð. DÐ.Ñ.Ô.ˆDØð 	$Ø×Ò˜dÑ#Ô#Ð#ð �ÐÐØ×Ò�#˜i¨Ô/Ñ0Ô0Ñ1Ô1Ð1Ø�IÐÐØ×Ò�S ¨9Ô!5Ñ6Ô6Ñ7Ô7Ð7Ø�ÐÐØ×Ò�#˜i¨Ô/Ñ0Ô0Ñ1Ô1Ð1Ø˜IÐ%Ð%Ø×$Ò$¥S¨Ð3DÔ)EÑ%FÔ%FÑGÔGÐGØ�yÐ Ð Ø×Ò¥ I¨lÔ$;Ñ <Ô <Ñ=Ô=Ð=ð �9ÐÐØ˜HÔ%ˆÝ�g�sÑ#Ô#ð 	5Ø�iˆGˆGÝ˜¥Ñ&Ô&ð 	5Ø4Ð4 wÐ4Ñ4Ô4ˆGØð 	*Ø× Ò  Ñ)Ô)Ð)à�)ÐÐØ×Ò�3˜y¨Ô1Ñ2Ô2Ñ3Ô3Ð3à�)ÐÐ 	¨'Ô 2Ðð	Ø×$Ò$¥S¨°7Ô);Ñ%<Ô%<Ñ=Ô=Ð=Ð=Ð=øÝ�IÐ&ð 	ð 	ð 	ØˆDˆDð	øøøð ÐÐÐs¢   Â*(C ÃC'Ã&C'Æ'(G ÇG$Ç#G$Ç4(H ÈH1È0H1É(I* É*I>É=I>Ê(J7 Ê7KË
KË(L ÌLÌLÏ(P ÐPÐPÐ%(Q ÑQ"Ñ!Q"à1(a áa0á/a0)r   r   r   r   r   r   r   NNFFF)NF)	r   r   r   r   r   r   r   NF)r  )r   r   )r   r   r   r   r   Nr   r   r   r   r   )r   r   r   r   r   r   r   r   )
r   r   r   r   r   Nr   r   FN)NNr   r   )r   r   r   r   r   Nr   )%r   Úmathra   rè   r   r  r   r   r0   r>   rF   rR   rn   rs   rv   r~   rƒ   r   r�   r”   r—   rÀ   Údictrþ   r   rë   r  r(  r  rA  rF  r%  rM  r\  ra  ry  rÕ  rD  r   r   ú<module>rØ     s£  ðð 
€	€	€	Ø €€€Ø €€€Ø #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð ð.2ð .2ð .2ð`ð ð ð6ð ð ð*ð ð ð	ð 	ð 	ðyð yð yðz"ð "ð "ð2-ð -ð -ð.	ð 	ð 	ðð ð ð
!ð !ð !ðð ð ðð ð ðð ð ð+ð +ð +ð +ðZYQð YQ ð YQð YQð YQð YQðzAð Að Að Aðð ð ð ð1ð 1ð 1ð 1ðfFQð FQð FQð FQðR;ð ;ð ;ð ;ð0fð fð fð fðRXQð XQ $ð XQð XQð XQð XQðt%ð %ð %ð %ðNfð fð fð fð;ð ;ð ;ð ;ð|Fð Fð Fð FðP#Að #Að #AðJjð jð jð jð jr   