§
   ÖÛD
—SŠEã                   ó~   — d Z ddlZddlZddlZddlZddlmZ dZdZdZ	dZ
dd„Zdd	efd„Zdd„Zdd„Z	 	 dd„Zd„ ZdS )uk   Start a tracked play: options in a Window property, Kodi always plays the canonical URL (020 Â§3, 040 Â§2).é    N)Úurlszmilionar.play_reqé   zmilionar.npÚchannelÚdialogÚstartTc                 ó„  ‡— | ||t          j         ¦   «         dœ}‰rˆfd„dD ¦   «         |d<   |r||d<   |sd|d<   t          j        d¦  «                             t          t          j        |¦  «        ¦  «         |rt          j        d	¦  «         t          j        d
 	                    | |dk    rdnd¦  «        ¦  «         dS )a  Ask Kodi to play `canonical` with options.

    src: dialog (source dialog / the existing autoplay settings) | auto (best automatic pick) | last (same file as before)
    start: resume (from the saved position) | start (from the beginning)
    pick: a source the caller already chose, {'ident', 'name', 'provider'}; the resolver then shows no dialog
    origin: ORIGIN_CHANNEL for a play started from a channel; follow: False when the library must not start what
    comes next (the channel has its own program)
    )Ú	canonicalÚsrcÚfromÚtsc                 óf   •— i | ]-}‰                      |¦  «        ¯|‰                      |¦  «        “Œ.S © )Úget)Ú.0ÚkÚpicks     €ú_/Users/chudy/Library/Application Support/Kodi/addons/plugin.video.milionar/wcs/library2/play.pyú
<dictcomp>zrequest.<locals>.<dictcomp>   s:   ø€ Ð`Ð`Ð`¨aÐTX×T\ÒT\Ð]^ÑT_ÔT_Ð`˜1˜dŸhšh q™kœkÐ`Ð`Ð`ó    )ÚidentÚnameÚproviderr   ÚoriginFÚfollowé'  zDialog.Close(all, true)zPlayMedia({},{})ÚresumeÚnoresumeN)
ÚtimeÚxbmcguiÚWindowÚsetPropertyÚREQUEST_PROPERTYÚjsonÚdumpsÚxbmcÚexecutebuiltinÚformat)r	   r
   r   Úclose_dialogsr   r   r   Úpayloads       `   r   Úrequestr*      sä   ø€ ð &¨c¸5ÍÌ	ÉÌÐTÐT€GØð aØ`Ð`Ð`Ð`Ð3PÐ`Ñ`Ô`ˆ�‰Øð #Ø"ˆ�ÑØð "Ø!ˆ�ÑÝ„N�5ÑÔ×%Ò%Õ&6½¼
À7Ñ8KÔ8KÑLÔLÐLØð 7ÝÔÐ5Ñ6Ô6Ð6ÝÔÐ*×1Ò1°)ÈÐRZÒIZÐIZ¸X¸XÐ`jÑkÔkÑlÔlÐlÐlÐlr   Úautoc                 ó¶   — | ||t          j         ¦   «         |dœ}t          j        d¦  «                             t          t          j        |¦  «        ¦  «         dS )zfStore a request for an item that will be resolved later (autoplay queue): valid for `max_age` seconds.)r	   r
   r   r   Úmax_ager   N)r   r   r    r!   r"   r#   r$   )r	   r
   r   r-   r)   s        r   Úpreparer.   '   sM   € à%¨c¸5ÍÌ	ÉÌÐ`gÐhÐh€GÝ„N�5ÑÔ×%Ò%Õ&6½¼
À7Ñ8KÔ8KÑLÔLÐLÐLÐLr   c                 óT   — t          t          j        | ¦  «        |||||¬¦  «         d S ©N)r   r   r   )r*   r   Ú	movie_url)Útmdb_idr
   r   r   r   r   s         r   Ú
play_movier3   -   s.   € Ý�DŒN˜7Ñ#Ô# S¨%°dÀ6ÐRXÐYÑYÔYÐYÐYÐYr   c                 óX   — t          t          j        | ||¦  «        |||||¬¦  «         d S r0   )r*   r   Úepisode_url)Úshow_idÚseasonÚepisoder
   r   r   r   r   s           r   Úplay_episoder9   1   s4   € Ý�DÔ˜W f¨gÑ6Ô6¸¸UÈÐV\ÐekÐlÑlÔlÐlÐlÐlr   Ú ç        Úmplayc
                 óü  — |pM| d         dk    rt          j        | d         ¦  «        n't          j        | d         | d         | d         ¦  «        }|pi }d                     |t	          t          j        ¦   «         dz  ¦  «        ¦  «        | d         t	          | d         ¦  «        |                      d¦  «        |                      d¦  «        ||||                     d¦  «        |                     d	d
¦  «        |                     dd¦  «        ||t          j        ¦   «         t	          |pd¦  «        dœ}
|	sd|
d<   t          j        d¦  «         	                    t          t          j        |
¦  «        ¦  «         |
S )uÙ   Write the now-playing contract the service tracker pairs with the stream Kodi starts (040 Â§2).

    info: {'type': 'movie' | 'episode', 'tmdb', 's', 'e'}; selected: the picked file {'ident', 'provider', 'name'}.
    ÚtypeÚmovieÚtmdbÚsÚez{}-{}iè  r   r   Úwebsharer   r:   r   )Útokenr>   r@   rA   rB   ÚtitleÚ
show_titleÚ
stream_urlr   r   Ú	file_nameÚstart_atr   r   Ú	runtime_sFr   r   )r   r1   r5   r'   Úintr   r   r   r    r!   ÚNP_PROPERTYr#   r$   )ÚinfoÚstreamÚselectedr	   rE   rF   rJ   rI   r   r   Údatas              r   ÚcontractrQ   5   sZ  € ð ð Y¸dÀ6¼lÈgÒ>UÐ>U�dœn¨T°&¬\Ñ:Ô:Ð:Ý#'Ô#3°D¸´LÀ$ÀsÄ)ÈTÐRUÌYÑ#WÔ#Wð àˆ~˜2€HØ—^’^ I­sµ4´9±;´;ÀÑ3EÑ/FÔ/FÑGÔGÐQUÐV\ÔQ]ÕgjÐkoÐpvÔkwÑgxÔgxØ—’˜#‘” T§X¢X¨c¡]¤]¸UÐR\Ø ¨8¯<ª<¸Ñ+@Ô+@ÈhÏlÊlÐ[eÐgqÑNrÔNrØ!Ÿš f¨bÑ1Ô1¸xÐSYÕaeÔajÑalÔalÝ˜Y˜^¨!Ñ,Ô,ð	.ð .€Dð
 ð ØˆˆX‰Ý„N�5ÑÔ×%Ò%¥kµ4´:¸dÑ3CÔ3CÑDÔDÐDØ€Kr   c                 ó®  ‡— t          j        d¦  «        }|                     t          ¦  «        }ddddœ}|�r	 t	          j        |¦  «        Š‰                     d¦  «        | k    rÃt          j        ¦   «         ‰                     dd¦  «        z
  ‰                     d	t          ¦  «        k    r|‰                     d
d¦  «        ‰                     dd¦  «        ‰                     d¦  «        dœ}| 	                    ˆfd„dD ¦   «         ¦  «         | 
                    t          ¦  «         n*# t          $ r | 
                    t          ¦  «         Y nw xY w|S )znThe pending request for this canonical URL (and clear it), or defaults. Stale or foreign requests are ignored.r   r   r   N)r
   r   r   r	   r   r   r-   r
   r   r   c                 ó*   •— i | ]}|‰v ¯|‰|         “ŒS r   r   )r   ÚkeyrP   s     €r   r   zconsume.<locals>.<dictcomp>S   s+   ø€ Ð]Ð]Ð]°#ÐQTÐX\ÐQ\ÐQ\˜s D¨¤IÐQ\ÐQ\ÐQ\r   )r   r   )r   r    ÚgetPropertyr"   r#   Úloadsr   r   ÚREQUEST_MAX_AGE_SÚupdateÚclearPropertyÚ
ValueError)r	   ÚwindowÚrawÚresultrP   s       @r   Úconsumer^   I   sR  ø€ åŒ^˜EÑ"Ô"€FØ
×
Ò
Õ-Ñ
.Ô
.€CØ w¸Ð=Ð=€FØ
ñ 3ð	3Ý”:˜c‘?”?ˆDØ�xŠx˜Ñ$Ô$¨	Ò1Ð1µd´i±k´kÀDÇHÂHÈTÐSTÑDUÔDUÑ6UÐY]×YaÒYaÐbkÕm~ÑYÔYÒ6Ð6Ø!%§¢¨%°Ñ!:Ô!:ÀDÇHÂHÈVÐU\ÑD]ÔD]Ðgk×goÒgoÐpvÑgwÔgwÐxÐx�Ø—’Ð]Ð]Ð]Ð]Ð9MÐ]Ñ]Ô]Ñ^Ô^Ð^Ø×$Ò$Õ%5Ñ6Ô6Ð6øøÝð 	3ð 	3ð 	3Ø× Ò Õ!1Ñ2Ô2Ð2Ð2Ð2ð	3øøøà€Ms   ºC0D+ Ä+$EÅE)r   r   TNNT)r   r   NNT)Nr:   r:   r   r;   r<   T)Ú__doc__r#   r   r%   r   Úwcs.library2r   r"   rW   rL   ÚORIGIN_CHANNELr*   r.   r3   r9   rQ   r^   r   r   r   ú<module>rb      sø   ðà qÐ qØ €€€Ø €€€à €€€Ø €€€à Ð Ð Ð Ð Ð à&Ð ØÐ Ø€Ø€ðmð mð mð mð, "¨Ð:Kð Mð Mð Mð MðZð Zð Zð Zðmð mð mð mð ehØ$(ðð ð ð ð(ð ð ð ð r   