§
   M^ÀËð‘ã                   óf   — d Z ddlmZ ddlZddlmZmZmZmZm	Z	 dZ
dZdZd„ Zd	„ Zd
„ Zd„ Zdd„ZdS )ui  Autoplay of the next episode and the collection offer (docs/plan/milionar-library/050 Â§4-5).

`plan(np)` decides what follows the current playback (pure given cached TMDb data; fetches only data a first
look needs). The tracker engine queues the next canonical URL in the Kodi playlist and shows the existing
countdown dialog; UI helpers here only build data.
é    )ÚdateN)ÚmetaÚnext_upÚstoreÚtmdbÚurlszplugin.video.milionaré-   é   c                  óÞ  — t          j        t          ¦  «        } |                      d¦  «        pddk    }	 t	          dt          dt          |                      d¦  «        pt          ¦  «        ¦  «        ¦  «        }t	          dt          |                      d¦  «        pt          ¦  «        ¦  «        }n# t          $ r t          t          }}Y nw xY w||k    rt	          d|dz
  ¦  «        }|||fS )	zo(enabled, countdown_seconds, trigger_seconds) from the existing autoplay settings, clamped like MyTV's monitor.Úautoplay_enabled_globalÚtrueé
   éx   Úautoplay_countdown_secondsé   Úautoplay_trigger_secondsé   )
Ú	xbmcaddonÚAddonÚADDON_IDÚ
getSettingÚmaxÚminÚintÚDEFAULT_COUNTDOWN_SÚDEFAULT_TRIGGER_SÚ
ValueError)ÚaddonÚenabledÚ	countdownÚtriggers       úc/Users/chudy/Library/Application Support/Kodi/addons/plugin.video.milionar/wcs/library2/autoplay.pyÚsettingsr#      sñ   € åŒO�HÑ%Ô%€EØ×ÒÐ 9Ñ:Ô:ÐD¸fÈÒO€GðDÝ˜�C ¥S¨×)9Ò)9Ð:VÑ)WÔ)WÐ)nÕ[nÑ%oÔ%oÑpÔpÑqÔqˆ	Ý�a�˜U×-Ò-Ð.HÑIÔIÐ^ÕM^Ñ_Ô_Ñ`Ô`ˆˆøÝð Dð Dð DÝ0Õ2C�7ˆ	ˆ	ˆ	ðDøøøà�)ÒÐÝ�a˜ Q™Ñ'Ô'ˆØ�I˜wÐ&Ð&s   ¶A<B3 Â3CÃCc           
      ód   — t          t          dt          | |z
  ||z
  ¦  «        ¦  «        ¦  «        S )zaSeconds the countdown dialog runs: until `trigger` s before the end, at most countdown - trigger.r   )r   r   r   )Ú	remainingr    r!   s      r"   Údialog_durationr&   !   s.   € å�s�1•c˜) gÑ-¨y¸7Ñ/BÑCÔCÑDÔDÑEÔEÐEó    c                 óÈ   — i }|                      d¦  «        pg D ]G}t          |                      dd¦  «        ¦  «        }|dk    rt          j        | |¦  «        }|r|||<   ŒH|S )NÚseasonsÚseason_numberr   )Úgetr   r   Úseason)Úshow_idÚshowr)   ÚentryÚnumberÚdatas         r"   Ú_season_datar2   &   ss   € Ø€GØ—’˜)Ñ$Ô$Ð*¨ð 'ð 'ˆÝ�U—Y’Y˜°Ñ2Ô2Ñ3Ô3ˆØ�AŠ:ˆ:Ý”;˜w¨Ñ/Ô/ˆDØð 'Ø"&�˜‘øØ€Nr'   c                 ó4   — | rd                      | ¦  «        ndS )Nu   â˜… {:.1f}/10Ú )Úformat)Úvalues    r"   Ú_ratingr7   1   s    € Ø,1Ð9ˆ?×!Ò! %Ñ(Ô(Ð(°rÐ9r'   c                 óü  ‡— |pt          j        ¦   «         }|                      d¦  «        dk    �rkt          | d         ¦  «        Št	          j        ‰|¦  «        }|sddiS ˆfd„d„ |                     d¦  «        pg D ¦   «         D ¦   «         }t          |¦  «        r1t          |                     ¦   «         ¦  «        st          ‰|¦  «        }t          j        |||¦  «        }t          j        |t          | d	         ¦  «        t          | d
         ¦  «        |                     d¦  «        ¦  «        }|d         }|d         dk    rödt          j        ‰|d	         |d
         ¦  «        |d         pd                     |d
         ¦  «        d                     |d	         |d
         ¦  «        |                     d¦  «        rt          j        |d         z   nd|                     dd¦  «        t#          |                     d¦  «        ¦  «        |                     d¦  «        pddd…         |d	         |d
         ‰dœS |d         dk    r>dd                     |d	         |d
         ¦  «        t          j        |d         ¦  «        dœS |d         dk    rddiS ddiS |                      d¦  «        dk    �rDt	          j        t          | d         ¦  «        |¦  «        }|pi                      d¦  «        pi }	|	                     d¦  «        sddiS t	          j        |	d         |¦  «        }
|
sddiS d„ |
                     d ¦  «        pg D ¦   «         }d!„ |D ¦   «         }t          j        |
t          | d         ¦  «        ||¦  «        }|sddiS d"t          j        |d         ¦  «        |                     d#d¦  «        |                     d$¦  «        pddd…         |d         |
                     dd¦  «        d%œS ddiS )&aæ  What follows the playing item.

    Returns {'kind': 'series_next' | 'upcoming' | 'finished' | 'collection' | 'none', ...}:
      series_next  + 'canonical', 'title', 'season_episode', 'thumb', 'series_name', 'rating', 'year'
      upcoming     + 'season_episode', 'air_label' (the next episode exists but is not aired)
      finished     (last episode of an ended series)
      collection   + 'canonical', 'title', 'year', 'poster' (next unwatched released film of the collection)
    ÚtypeÚepisoder   ÚkindÚnonec           	      ó|   •— i | ]8}|d k    ¯|t          j        t          j        ‰|¦  «        ¦  «        d          pi “Œ9S )r   )r   r+   Ú
key_season)Ú.0Únr-   s     €r"   ú
<dictcomp>zplan.<locals>.<dictcomp>D   sS   ø€ ð að að aÈØZ[Ð^_ÒZ_ÐZ_ð •d”h�tœ¨w¸Ñ:Ô:Ñ;Ô;¸AÔ>ÐDÀ"ØZ_ÐZ_ÐZ_r'   c              3   ó\   K  — | ]'}t          |                     d d¦  «        ¦  «        V — Œ(dS )r*   r   N)r   r+   )r?   Úss     r"   ú	<genexpr>zplan.<locals>.<genexpr>E   s8   è è € ÐVÐV°q•C˜Ÿš˜o¨qÑ1Ô1Ñ2Ô2ÐVÐVÐVÐVÐVÐVr'   r)   rC   ÚeÚstatusÚnextÚseries_nextÚnamez
Epizoda {}zS{:02d}E{:02d}Ústillr4   Úvote_averageÚfirst_air_dateNé   )r;   Ú	canonicalÚtitleÚseason_episodeÚthumbÚseries_nameÚratingÚyearrC   rE   r-   ÚupcomingÚair_date)r;   rP   Ú	air_labelÚfinishedÚmovieÚbelongs_to_collectionÚidc                 ó   — g | ]
}|d          ‘ŒS )r[   © )r?   Úps     r"   ú
<listcomp>zplan.<locals>.<listcomp>`   s   € Ð>Ð>Ð>˜1ˆq�ŒwÐ>Ð>Ð>r'   Úpartsc                 ó>   — i | ]}|t          j        d |¦  «        pi “ŒS )rY   )r   Ú	get_state)r?   Úis     r"   rA   zplan.<locals>.<dictcomp>a   s+   € ÐFÐFÐF¸Q�!•e”o g¨qÑ1Ô1Ð7°RÐFÐFÐFr'   Ú
collectionrO   Úrelease_date)r;   rN   rO   rT   Úmovie_idÚcollection_name)r   Útodayr+   r   r   r.   ÚlenÚallÚvaluesr2   r   Úepisode_orderÚ
next_afterr   Úepisode_urlr5   ÚPOSTERr7   rW   rY   rd   Únext_in_collectionÚ	movie_url)Únprh   Úfetchr.   r)   ÚorderÚresultÚeprY   Úbelongsrd   ÚidsÚstatesÚpartr-   s                 @r"   Úplanr{   5   s%  ø€ ð Ð!•T”Z‘\”\€EØ	‡v‚vˆf�~„~˜Ò"Ñ"Ý�b˜”j‘/”/ˆÝŒy˜ %Ñ(Ô(ˆØð 	$Ø˜FÐ#Ð#ðað að að aØVÐV¸D¿HºHÀYÑ<OÔ<OÐ<UÐSUÐVÑVÔVðañ aô aˆåˆw‰<Œ<ð 	2¥ G§N¢NÑ$4Ô$4Ñ 5Ô 5ð 	2Ý" 7¨DÑ1Ô1ˆGÝÔ% d¨G°UÑ;Ô;ˆÝÔ# E­3¨r°#¬w©<¬<½¸RÀ¼W¹¼ÀtÇxÂxÐPXÑGYÔGYÑZÔZˆØ�IÔˆØ�&Œ>˜VÒ#Ð#Ø)½Ô8HÈÐRTÐUXÔRYÐ[]Ð^aÔ[bÑ8cÔ8cØ œZÐG¨<×+>Ò+>¸rÀ#¼wÑ+GÔ+GØ&6×&=Ò&=¸bÀ¼gÀrÈ#ÄwÑ&OÔ&OØ:<¿&º&À¹/¼/ÐQ�Tœ[¨2¨g¬;Ñ6Ð6ÈrÐbf×bjÒbjÐkqÐsuÑbvÔbvÝ% d§h¢h¨~Ñ&>Ô&>Ñ?Ô?È$Ï(Ê(ÐScÑJdÔJdÐJjÐhjÐlnÐmnÐlnÔIoØ˜Cœ r¨#¤w¸7ðDð Dð Dð �&Œ>˜ZÒ'Ð'Ø&Ð:J×:QÒ:QÐRTÐUXÔRYÐ[]Ð^aÔ[bÑ:cÔ:cÝ!(Ô!2°2°j´>Ñ!BÔ!BðDð Dð Dà�&Œ>˜ZÒ'Ð'Ø˜JÐ'Ð'Ø˜ÐÐØ	‡v‚vˆf�~„~˜Ò Ñ Ý”
�3˜r &œz™?œ?¨EÑ2Ô2ˆØ�;˜B×#Ò#Ð$;Ñ<Ô<ÐBÀˆØ�{Š{˜4Ñ Ô ð 	$Ø˜FÐ#Ð#Ý”_ W¨T¤]°EÑ:Ô:ˆ
Øð 	$Ø˜FÐ#Ð#Ø>Ð> 
§¢¨wÑ 7Ô 7Ð =¸2Ð>Ñ>Ô>ˆØFÐFÀ#ÐFÑFÔFˆÝÔ)¨*µc¸"¸V¼*±o´oÀvÈuÑUÔUˆØð 	$Ø˜FÐ#Ð#Ø$µ4´>À$ÀtÄ*Ñ3MÔ3MÐX\×X`ÒX`ÐahÐjlÑXmÔXmØŸš .Ñ1Ô1Ð7°R¸¸!¸Ô<È$ÈtÌ*Ø#-§>¢>°&¸"Ñ#=Ô#=ð?ð ?ð 	?ð �FÐÐr'   )NN)Ú__doc__Údatetimer   r   Úwcs.library2r   r   r   r   r   r   r   r   r#   r&   r2   r7   r{   r]   r'   r"   ú<module>r      sÇ   ððð ð Ð Ð Ð Ð Ð à Ð Ð Ð à 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9à"€ØÐ ØÐ ð'ð 'ð 'ðFð Fð Fð
ð ð ð:ð :ð :ð3ð 3ð 3ð 3ð 3ð 3r'   