§
   !Ø=ÁÚ"Jã                   óò   — d Z ddlZddlmZ ddlZddlZdZd                     e¦  «        ZdZ	dZ
dZd	Zd
ZdZdZdddg d¢fdddg d¢fdddg d¢fdœZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd „ Zd!„ Zd"„ Zeeeed#œZd$„ ZdS )%a  Actions for Kodi library items (docs/plan/skin-milionar/080): sources, game, similar, add to a channel.

Entry points: skin.milionar's info dialog menu (window 1121) and the context menu
(context.py, every skin). Both pass dbtype + dbid; everything else is resolved here.
é    N)Ú
quote_pluszplugin.video.milionarzplugin://{}/ið}  iñ}  iò}  ió}  iô}  iõ}  iö}  zVideoLibrary.GetMovieDetailsÚmovieidÚmoviedetails)	ÚtitleÚoriginaltitleÚyearÚplotÚartÚuniqueidÚgenreÚruntimeÚratingzVideoLibrary.GetTVShowDetailsÚtvshowidÚtvshowdetails)r   r   r   r	   r
   r   r   zVideoLibrary.GetEpisodeDetailsÚ	episodeidÚepisodedetails)r   Ú	showtitleÚseasonÚepisoder	   r
   r   r   )ÚmovieÚtvshowr   c                 ó¤   — t          j        t          j        t          j        dd| |dœ¦  «        ¦  «        ¦  «                             di ¦  «        S )Nz2.0é   )ÚjsonrpcÚidÚmethodÚparamsÚresult)ÚjsonÚloadsÚxbmcÚexecuteJSONRPCÚdumpsÚget)r   r   s     úf/Users/chudy/Library/Application Support/Kodi/addons/plugin.video.milionar/wcs/skin/library_actions.pyÚ_rpcr&   "   sY   € ÝŒ:•dÔ)­$¬*Ø ¨fÀÐGÐGñ+Iô +Iñ Jô Jñ Kô KßKNÊ3ÈxÐY[ÑK\ÔK\ð]ó    c                 ó�   — t           |          \  }}}}t          ||t          |¦  «        d|i¦  «                             |i ¦  «        S )NÚ
properties)ÚDETAILSr&   Úintr$   )ÚdbtypeÚdbidr   ÚkeyÚ
result_keyÚpropss         r%   Ú_detailsr1   '   sC   € Ý%,¨V¤_Ñ"€FˆC�˜UÝ�˜�c $™iœi¨°uÐ=Ñ>Ô>×BÒBÀ:ÈrÑRÔRÐRr'   c                 óè   — |                      d¦  «        pi                       d¦  «        }|r|S ddlm} |                     | |                      dd¦  «        |                      dd¦  «        ¦  «        S )zJtmdb id from the library's uniqueid; else a TMDb search by title and year.r   Útmdbr   )ÚTMDbLogor   Ú r   )r$   Úwcs.metadatar4   Ú_search_tmdb_id)Ú
media_typeÚrowÚfoundr4   s       r%   Ú_tmdb_idr;   ,   sz   € à�WŠW�ZÑ Ô Ð& B×+Ò+¨FÑ3Ô3€EØð ØˆØ%Ð%Ð%Ð%Ð%Ð%Ø×#Ò# J°·²¸ÀÑ0DÔ0DÀcÇgÂgÈfÐVXÑFYÔFYÑZÔZÐZr'   c                 ól  — t          | |¦  «        }|sdS |                     d¦  «        pi }| |                     dd¦  «        |                     dd¦  «        |                     dd¦  «        |                     d¦  «        p|                     dd¦  «        |                     d	¦  «        p|                     d
d¦  «        |                     dd¦  «        dœ}| dk    �rt          d|                     d¦  «        ¦  «        }|                     |                     d¦  «        p|                     dd¦  «        |                     d¦  «        |                     d¦  «        |                     dd¦  «        |                     dd¦  «        |d         p*|                     d¦  «        pi                      dd¦  «        ¬¦  «         t          d|¦  «        |d<   |                     d¦  «        p|d         |d<   n;|                     d¦  «        p|d         |d<   t          | dk    rdnd|¦  «        |d<   |S )z\Everything the actions need about one library item. For an episode the show is resolved too.Nr
   r   r5   r   r	   Úposterztvshow.posterÚfanartztvshow.fanartr   )r,   r   r   r	   r=   r>   r   r   r   r   r   r   )Úseries_namer   r   Úepisode_titler   r=   ÚtvÚtmdb_idr   r?   Úoriginal_titler   )r1   r$   Úupdater;   )r,   r-   r9   r
   ÚinfoÚshows         r%   ÚresolverG   5   s%  € å
�6˜4Ñ
 Ô
 €CØð ØˆtØ
�'Š'�%‰.Œ.Ð
˜B€CØ s§w¢w¨w¸Ñ';Ô';ÀSÇWÂWÈVÐUWÑEXÔEXØ—G’G˜F BÑ'Ô'°3·7²7¸8Ñ3DÔ3DÐ3dÈÏÊÐP_ÐacÑHdÔHdØ—g’g˜hÑ'Ô'ÐG¨3¯7ª7°?ÀBÑ+GÔ+GÐSV×SZÒSZÐ[cÐegÑShÔShðjð j€Dð �ÒÑÝ˜ #§'¢'¨*Ñ"5Ô"5Ñ6Ô6ˆØ�Š §¢¨Ñ 4Ô 4Ð M¸¿ºÀÈ"Ñ8MÔ8MÐVY×V]ÒV]Ð^fÑVgÔVgØŸGšG IÑ.Ô.¸c¿gºgÀgÈrÑ>RÔ>RØŸš &¨"Ñ-Ô-°d¸8´nÐ6qÈÏÊÐRWÉÌÐI^Ð\^×HcÒHcÐdlÐnpÑHqÔHqð 	ñ 	sô 	sð 	sõ # 4¨Ñ.Ô.ˆˆY‰Ø!%§¢¨/Ñ!:Ô!:Ð!Q¸dÀ=Ô>QˆÐÑÐà!$§¢¨Ñ!9Ô!9Ð!J¸TÀ'¼]ˆÐÑÝ"¨6°XÒ+=Ð+= 4 4À7ÈCÑPÔPˆˆY‰Ø€Kr'   c                 ó†   — t          j        d                     t                               d¦  «        | ¦  «        ¦  «         d S )NzRunPlugin({}?{})ú/)r!   ÚexecutebuiltinÚformatÚBASEÚrstrip)Úquerys    r%   Ú_runrO   K   s6   € ÝÔÐ*×1Ò1µ$·+²+¸cÑ2BÔ2BÀEÑJÔJÑKÔKÐKÐKÐKr'   c                 ó¶  — |d         dk    r¤t          d                     t          |d         ¦  «        |d         |d         t          |d         ¦  «        t          t          |d         ¦  «        ¦  «        t          |d         ¦  «        |                     d	¦  «        pd
¦  «        ¦  «         dS t          d                     t          |d         ¦  «        t          t          |d         ¦  «        ¦  «        t          |d         ¦  «        t          |d         ¦  «        t          |d         ¦  «        |                     d	¦  «        pd
¦  «        ¦  «         dS )zgSearch Webshare/Kraska sources for the movie or the episode (the addon's own search dialog + playback).r,   r   z~action=play_episode_from_addon&series_name={}&season_number={}&episode_number={}&episode_title={}&year={}&poster={}&tmdb_id={}r?   r   r@   r   r=   rB   r5   zTaction=play_movie_from_addon&title={}&year={}&plot={}&poster={}&fanart={}&tmdb_id={}r   r	   r>   N)rO   rK   r   Ústrr$   )ÚaddonrE   s     r%   ÚsourcesrS   O   sK  € àˆH„~˜Ò"Ð"Ýð >ß>DºfÝ˜D Ô/Ñ0Ô0°$°x´.À$ÀyÄ/Ý˜D Ô1Ñ2Ô2µJ½sÀ4ÈÄ<Ñ?PÔ?PÑ4QÔ4QÝ˜D œNÑ+Ô+¨T¯XªX°iÑ-@Ô-@Ð-FÀBñ?Hô ?Hñ	Iô 	Ið 	Ið 	Ið 	Iõ 	Ðc×jÒjÝ�t˜G”}Ñ%Ô%¥zµ#°d¸6´lÑ2CÔ2CÑ'DÔ'DÅjÐQUÐV\ÔQ]ÑF^ÔF^Ý�t˜H”~Ñ&Ô&­
°4¸´>Ñ(BÔ(BÀDÇHÂHÈYÑDWÔDWÐD]Ð[]ñ_ô _ñ 	`ô 	`ð 	`ð 	`ð 	`r'   c                 ó   — ddl m} |d         dk    rdnd}|                     d¦  «        p|d         }|d         dk    }t          |                     |                     |t          |                     d	¦  «        pd
¦  «        ||d         |                     d¦  «        pd
|d         |d         |r|                     dd
¦  «        nd
|r|                     d¦  «        nd |r|                     d¦  «        nd ¬¦
  «
        ¦  «        ¦  «         d S )Nr   )Úmillionairer,   r   rA   r?   r   r   rB   r5   r	   r   r=   r>   r@   r   )
r   rB   r8   r	   r   r=   Úbackdropr@   Úseason_numberÚepisode_number)Ú	wcs.gamesrU   r$   rO   rN   ÚSubjectrQ   )rR   rE   rU   Úmediar   r   s         r%   Úgamer\   ]   s9  € Ø%Ð%Ð%Ð%Ð%Ð%Ø˜H”~¨Ò0Ð0ˆGˆG°d€EØ�HŠH�]Ñ#Ô#Ð4 t¨G¤}€EØ�8Œn 	Ò)€GÝˆ×	Ò	˜;×.Ò.Ø�S §¢¨)Ñ!4Ô!4Ð!:¸Ñ;Ô;ÈÐTXÐY_ÔT`Ø�XŠX�fÑÔÐ# ¨D°¬NÀTÈ(Ä^Ø7>ÐF�d—h’h˜°Ñ3Ô3Ð3ÀBØ,3Ð=�d—h’h˜xÑ(Ô(Ð(¸ÐelÐNvÈdÏhÊhÐW`ÑNaÔNaÐNaÐrvð	 /ñ xô xñ 
yô 
yñ zô zð zð zð zr'   c           
      ób  — |                      d¦  «        sLt          j        ¦   «                              d|                      t
          ¦  «        t          j        ¦  «         d S |d         dk    rdnd}t          d                     ||d         t          |d         ¦  «        ¦  «        ¦  «         d S )	NrB   õ
   MilionÃ¡Å™r,   r   Údisplay_similar_movies_dialogÚdisplay_similar_series_dialogz&action={}&tmdb_id={}&original_title={}rC   )
r$   ÚxbmcguiÚDialogÚnotificationÚgetLocalizedStringÚ	S_NO_TMDBÚNOTIFICATION_INFOrO   rK   r   )rR   rE   Úactions      r%   Úsimilarrh   i   s¢   € Ø�8Š8�IÑÔð ÝŒÑÔ×%Ò% l°E×4LÒ4LÍYÑ4WÔ4WÕY`ÔYrÑsÔsÐsØˆØ04°X´À'Ò0IÐ0IÐ,Ð,ÐOn€FÝÐ	1×	8Ò	8¸ÀÀiÄÕR\Ð]aÐbrÔ]sÑRtÔRtÑ	uÔ	uÑvÔvÐvÐvÐvr'   c                 óJ  ‡— ddl m} ddlm} ‰                     d¦  «        sLt          j        ¦   «                              d|                      t          ¦  «        t
          j
        ¦  «         dS ‰d         dk    } || |rd	nd
¦  «        }|                     ¦   «         }d„ |D ¦   «         d                     |                      t          ¦  «        ¦  «        gz   }t          j        ¦   «                              |                      |rt          nt           ¦  «        |¦  «        }|dk     rdS |t#          |¦  «        k    rˆt          j        ¦   «                              |                      t&          ¦  «        t
          j        ¬¦  «        }	|	                     ¦   «         sdS |                     |	                     ¦   «         ¦  «        }
n||         }
|                     |rdnd
‰d         i | ¦  «        pi }|                     d‰d         ¦  «         t3          ˆfd„|
j        D ¦   «         ¦  «        }|s|                     |
j        |¦  «         t          j        ¦   «                              |
j        |                      |rt<          nt>          ¦  «        t
          j
        d¦  «         dS )z_Pick a MyCinema cinema (movie) or MyTV channel (show / episode's show) and add the title to it.r   )ÚMediaChannelManager)Ú
TMDbClientrB   r^   Nr,   r   ÚcinemarA   c                 ó   — g | ]	}|j         ‘Œ
S © )Úname)Ú.0Úcs     r%   ú
<listcomp>zadd_channel.<locals>.<listcomp>{   s   € Ð'Ð'Ð'˜ˆaŒfÐ'Ð'Ð'r'   z	[B]{}[/B])Útyper   c              3   óŠ   •K  — | ]=}t          |                     d ¦  «        ¦  «        t          ‰d         ¦  «        k    V — Œ>dS )r   rB   N)rQ   r$   )rp   ÚmrE   s     €r%   ú	<genexpr>zadd_channel.<locals>.<genexpr>ˆ   sF   øè è € ÐWÐW¸q•#�a—e’e˜D‘k”kÑ"Ô"¥c¨$¨y¬/Ñ&:Ô&:Ò:ÐWÐWÐWÐWÐWÐWr'   i¸  ) Úwcs.ai.MediaChannelManagerrj   r6   rk   r$   ra   rb   rc   rd   re   rf   Úget_all_channelsrK   ÚS_NEW_CHANNELÚselectÚS_ADD_TO_CINEMAÚS_ADD_TOÚlenÚinputÚS_NEW_CHANNEL_NAMEÚINPUT_ALPHANUMÚstripÚcreate_channelÚfetch_tmdb_item_detailÚ
setdefaultÚanyÚ
media_listÚtoggle_media_in_channelr   ro   Ú	S_REMOVEDÚS_ADDED)rR   rE   rj   rk   r   ÚmanagerÚchannelsÚlabelsÚpickedro   ÚchannelÚdataÚpresents    `           r%   Úadd_channelr‘   q   sŠ  ø€ à>Ð>Ð>Ð>Ð>Ð>Ø'Ð'Ð'Ð'Ð'Ð'Ø�8Š8�IÑÔð ÝŒÑÔ×%Ò% l°E×4LÒ4LÍYÑ4WÔ4WÕY`ÔYrÑsÔsÐsØˆØ�ŒN˜gÒ%€EØ!Ð! %°UÐ)D¨¨ÀÑEÔE€GØ×'Ò'Ñ)Ô)€HØ'Ð'˜hÐ'Ñ'Ô'¨;×+=Ò+=¸e×>VÒ>VÕWdÑ>eÔ>eÑ+fÔ+fÐ*gÑg€FÝŒ^ÑÔ×$Ò$ U×%=Ò%=ÐQVÐ>d½o¸oÕ\dÑ%eÔ%eÐgmÑnÔn€FØ�‚z€zØˆØ•�X‘”ÒÐÝŒ~ÑÔ×%Ò% e×&>Ò&>Õ?QÑ&RÔ&RÕY`ÔYoÐ%ÑpÔpˆØ�zŠz‰|Œ|ð 	ØˆFØ×(Ò(¨¯ª©¬Ñ6Ô6ˆˆà˜6Ô"ˆØ×,Ò,¸Ð-G¨W¨WÀ4ÈÈiÌÐZ\Ð^cÑdÔdÐjÐhj€DØ‡O‚O�D˜$˜yœ/Ñ*Ô*Ð*ÝÐWÐWÐWÐWÀGÔDVÐWÑWÔWÑWÔW€GØð :Ø×'Ò'¨¬
°DÑ9Ô9Ð9Ý„NÑÔ×!Ò! '¤,°×0HÒ0HÐV]ÐIjÍÈÕcjÑ0kÔ0kÝ")Ô";¸TñCô Cð Cð Cð Cr'   )Úlib_sourcesÚlib_gameÚlib_similarÚlib_add_channelc                 ó  — |                      d¦  «        |                      d¦  «        }}|t          vs!t          |¦  «                             ¦   «         sd S t	          ||¦  «        }|rt          |         | |¦  «         d S d S )Nr,   r-   )r$   r*   rQ   ÚisdigitrG   ÚACTIONS)rR   rg   r   r,   r-   rE   s         r%   Úrunr™   ’   s…   € Ø—:’:˜hÑ'Ô'¨¯ª°FÑ);Ô);ˆD€FØ•WÐÐ¥C¨¡I¤I×$5Ò$5Ñ$7Ô$7ÐØˆÝ�6˜4Ñ Ô €DØð %Ý�Œ˜˜tÑ$Ô$Ð$Ð$Ð$ð%ð %r'   )Ú__doc__r   Úurllib.parser   r!   ra   ÚADDON_IDrK   rL   re   r|   r{   ry   r   r‰   rˆ   r*   r&   r1   r;   rG   rO   rS   r\   rh   r‘   r˜   r™   rn   r'   r%   ú<module>r�      s—  ððð ð
 €€€Ø #Ð #Ð #Ð #Ð #Ð #à €€€Ø €€€à"€Ø×Ò˜XÑ&Ô&€à€	Ø€Ø€Ø€ØÐ Ø
€Ø€	ð -¨i¸ØiÐiÐiðkà.°
¸OØUÐUÐUðWà0°+Ð?OØbÐbÐbðdðð €ð]ð ]ð ]ð
Sð Sð Sð
[ð [ð [ðð ð ð,Lð Lð Lð`ð `ð `ð	zð 	zð 	zðwð wð wðCð Cð Cð< "¨tÀGÐ`kÐ
lÐ
l€ð%ð %ð %ð %ð %r'   