
    V|h"                         S SK Jr  SSKJrJrJrJr   " S S\5      r " S S\5      r " S S	\5      r	 " S
 S\5      r
 " S S\5      r " S S\5      rg)   )InfoExtractor   )int_or_nonesmuggle_urltry_getunified_timestampc                   ,    \ rS rSrSr\SS j5       rSrg)TeleQuebecBaseIE
   zAhttp://players.brightcove.net/%s/%s_default/index.html?videoId=%sc                 N    S[        [        R                  X!U 4-  SS/05      SS.$ )Nurl_transparentgeo_countriesCABrightcoveNew)_typeurlie_key)r   r
   BRIGHTCOVE_URL_TEMPLATE)brightcove_id	player_id
account_ids      U/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/telequebec.py_brightcove_result#TeleQuebecBaseIE._brightcove_result   sM     '/GG:boJpp  tC  FJ  EK  sL  M%
 	
     N)6150020952001)__name__
__module____qualname____firstlineno__r   staticmethodr   __static_attributes__r   r   r   r
   r
   
   s    a
 
r   r
   c            
       j    \ rS rSrSrSSSSSSS	S
S.S/S.SSSSSS	SSS.S/S.SSS.SSS./rS rSrg)TeleQuebecIE   z(?x)
                    https?://
                        (?:
                            zonevideo\.telequebec\.tv/media|
                            coucou\.telequebec\.tv/videos
                        )/(?P<id>\d+)
                    z[http://zonevideo.telequebec.tv/media/37578/un-petit-choc-et-puis-repart/un-chef-a-la-cabane6155972771001mp4zUn petit choc et puis repart!z$md5:b04a7e6b3f74e32d7b294cffe8658374i8^r   20200512)idexttitledescription	timestampuploader_idupload_dater   )r   	info_dictadd_iezChttps://zonevideo.telequebec.tv/media/55267/le-soleil/passe-partout6167180337001z	Le soleilz$md5:64289c922a8de2abbe99c354daffde0220200625i^)r*   r+   r,   r-   r/   r0   r.   z*http://zonevideo.telequebec.tv/media/30261Tr   only_matchingzGhttps://coucou.telequebec.tv/videos/41788/idee-de-genie/l-heure-du-bainc                    U R                  U5      nU R                  SU-   U5      S   n[        S US    5       5      nU R                  US5      nUR	                  S5      =(       d    0 nUR	                  S5      =(       d    0 nUR                  [        US [        5      [        US	 5      UR	                  S
5      [        UR	                  S5      5      UR	                  S5      [        UR	                  S5      5      S.5        U$ )Nz0https://mnmedias.api.telequebec.tv/api/v3/media/mediac              3   X   #    U  H   oR                  S 5      S:X  d  M  US   v   M"     g7f)source
BrightcovesourceIdN)get).0source_infos     r   	<genexpr>-TeleQuebecIE._real_extract.<locals>.<genexpr>E   s7       GDX[\k\klt\u  zF  ]F0Z0DXs   **streamInfos	22gPKdt7fproductseasonc                     U S   S   S   $ )Ndescriptionstextr   xs    r   <lambda>,TeleQuebecIE._real_extract.<locals>.<lambda>J   s    An4Eb4I&4Qr   c                     U S   S   $ )Nserietitrer   rJ   s    r   rL   rM   K   s    '
70Cr   nameseasonNorP   	episodeNo)r-   seriesrE   season_numberepisodeepisode_number)		_match_id_download_jsonnextr   r=   updater   strr   )selfr   media_idr8   	source_idinforD   rE   s           r   _real_extractTeleQuebecIE._real_extract@   s    >>#&##>I   GE-DX  G  G	&&y+>))I&,"X&,""5*QSVWf&CDjj((J)?@{{7+)'++k*BC
 	 r   r   Nr   r   r    r!   
_VALID_URL_TESTSra   r#   r   r   r   r%   r%      s    J m!4A#*%
 ## U! A*%#
 ## <
 Y; FDr   r%   c                   H    \ rS rSrSrSSSSSSS	S
SSSSS.SS0S./rS rSrg)TeleQuebecSquatIET   z1https?://squat\.telequebec\.tv/videos/(?P<id>\d+)z'https://squat.telequebec.tv/videos/9314 d59ae78112d542e793d83cc9d3a5b530r(   Poupeflektaz$md5:2f0718f8d2f8fece1646ee25fb7bce75iG  i@]20190921z2Miraculous : Les Aventures de Ladybug et Chat NoirzSaison 3   9   )r*   r+   r,   r-   durationr.   r0   rT   rE   rU   rW   skip_downloadTr   r1   paramsc                    U R                  U5      nU R                  SU 3U5      nUS   nSSU 3[        R                  5       UUR	                  S5      UR	                  S5      [        UR	                  S5      5      UR	                  S5      UR	                  S	5      [        UR	                  S
5      5      [        UR	                  S5      5      S.$ )Nz*https://squat.api.telequebec.tv/v1/videos/r<   r   %http://zonevideo.telequebec.tv/media/rP   r-   datePublication	containersaisonnoSaisonrV   )r   r   r   r*   r,   r-   r.   rT   rE   rU   rW   )rX   rY   r%   r   r=   r   r   )r]   r   video_idvideor^   s        r   ra   TeleQuebecSquatIE._real_extractj   s    >>#&##8
C $ ':8*E"))+YYw' 99]3*5995F+GHii,ii)(:)>?)%))I*>?
 	
r   r   Nrc   r   r   r   rg   rg   T   sM    EJ84"A#%J  
 T
 F(
r   rg   c            	       R    \ rS rSrSrSSSSSSS	S
S.S.SSS.SSS.SSS./rS rSrg)TeleQuebecEmissionIE   a	  (?x)
                    https?://
                        (?:
                            [^/]+\.telequebec\.tv/emissions/|
                            (?:www\.)?telequebec\.tv/
                        )
                        (?P<id>[^?#&]+)
                    zthttp://lindicemcsween.telequebec.tv/emissions/100430013/des-soins-esthetiques-a-377-d-interets-annuels-ca-vous-tente6154476028001r(   uG   Des soins esthétiques à 377 % d’intérêts annuels, ça vous tente?z$md5:cb4d378e073fae6cce1f87c00f84ae9f20200505iױ^r   r*   r+   r,   r-   r0   r.   r/   r   r1   zVhttp://bancpublic.telequebec.tv/emissions/emission-49/31986/jeunes-meres-sous-pressionTr5   zHhttp://www.telequebec.tv/masha-et-michka/epi059masha-et-michka-3-053-078z7http://www.telequebec.tv/documentaire/bebes-sur-mesure/c                     U R                  U5      nU R                  X5      nU R                  SUS5      nU R                  SU-   [        R                  5       5      $ )NzmediaId\s*:\s*(?P<id>\d+)zmedia idrs   )rX   _download_webpage_search_regex
url_resultr%   r   )r]   r   
display_idwebpager^   s        r   ra   "TeleQuebecEmissionIE._real_extract   s^    ^^C(
((9%%(':? 3h>!# 	#r   r   Nrc   r   r   r   r|   r|      sd    J F!^A%#*
 h Z I#F,
#r   r|   c            
       @    \ rS rSrSrSSSSSSS	S
SS.SS0S.rS rSrg)TeleQuebecLiveIE   z3https?://zonevideo\.telequebec\.tv/(?P<id>endirect)z(http://zonevideo.telequebec.tv/endirect/6159095684001r(   u@   re:^Télé-Québec [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$Tu!   Canal principal de Télé-Québecr   i/^20200525)r*   r+   r,   is_liver-   r/   r.   r0   ro   rp   c                 &    U R                  SS5      $ )Nr   	skCsmi2Uw)r   )r]   r   s     r   ra   TeleQuebecLiveIE._real_extract   s    &&DDr   r   N)r   r   r    r!   rd   _TESTra   r#   r   r   r   r   r      s@    GJ9!W>*#%	
 T
E"Er   r   c            	       H    \ rS rSrSrSSSSSSS	S
S.S.SSS./rS rS rSrg)TeleQuebecVideoIE   z;https?://video\.telequebec\.tv/player(?:-live)?/(?P<id>\d+)z/https://video.telequebec.tv/player/31110/stream6202570652001r(   ua   Le coût du véhicule le plus vendu au Canada / Tous les frais liés à la procréation assistéez$md5:685a7e4c450ba777c60adb6e71e4152620201019i_6101674910001r   r   z-https://video.telequebec.tv/player-live/28527Tr5   c                 6    U R                  SU-   USSS.S9S   $ )Nz@http://beacon.playback.api.brightcove.com/telequebec/api/assets/web)device_layoutdevice_type)querydata)rY   )r]   pathrx   s      r   	_call_apiTeleQuebecVideoIE._call_api   s8    ""NQUUeEJ # LLRT 	Tr   c                    U R                  U5      nU R                  X"5      S   nU R                  US-   US   S   S   -   U5      S   nUS   n[        US 5      =(       d    S	nU R                  US
U5      nUR	                  UR                  S5      =(       d    UR                  S5      UR                  S5      [        UR                  S5      5      UR                  S5      [        UR                  S5      5      S.5        U$ )Nassetz	/streams/streams    r*   streamr   c                     U S   S   $ )Nvideo_provider_detailsr   r   rJ   s    r   rL   1TeleQuebecVideoIE._real_extract.<locals>.<lambda>   s    a 89,Gr   r   defaultlong_descriptionshort_descriptionseries_original_namerU   original_namerW   )r-   rT   rU   rV   rW   )rX   r   r   r   r[   r=   r   )r]   r   asset_idr   r   
stream_urlr   r`   s           r   ra   TeleQuebecVideoIE._real_extract   s   >>#&x27;{"U9%5a%8%>>JJRTE]
GI \L[ 	&&z9jI 99%78ZEIIFY<Zii 67(?)CDyy1)%))4D*EF
 	 r   r   N)	r   r   r    r!   rd   re   r   ra   r#   r   r   r   r   r      sH    OJ@!xA%#*
 ?F T
r   r   N)commonr   utilsr   r   r   r   r
   r%   rg   r|   r   r   r   r   r   <module>r      sb    ! 	
} 	
;# ;|+
 +
\)#= )#XE' E.'( 'r   