
    VGh"                         d dl mZ ddlmZmZmZmZ  G d de      Z G d de      Z G d d	e      Z	 G d
 de      Z
 G d de      Z G d de      Zy)   )InfoExtractor   )int_or_nonesmuggle_urltry_getunified_timestampc                   "    e Zd ZdZedd       Zy)TeleQuebecBaseIEzAhttp://players.brightcove.net/%s/%s_default/index.html?videoId=%sc                 P    dt        t        j                  ||| fz  ddgi      ddS )Nurl_transparentgeo_countriesCABrightcoveNew)_typeurlie_key)r   r
   BRIGHTCOVE_URL_TEMPLATE)brightcove_id	player_id
account_ids      d/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/telequebec.py_brightcove_resultz#TeleQuebecBaseIE._brightcove_result   sP     '/GG:W`boJpp  tC  FJ  EK  sL  M%
 	
    N)6150020952001)__name__
__module____qualname__r   staticmethodr    r   r   r
   r
   
   s    a
 
r   r
   c            
       b    e Zd ZdZdddddddd	d
dgdddddddddddgdddddddgZd Zy)TeleQuebecIEz(?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*   r+   r)   z*http://zonevideo.telequebec.tv/media/30261Tr   only_matchingzGhttps://coucou.telequebec.tv/videos/41788/idee-de-genie/l-heure-du-bainc                    | j                  |      }| j                  d|z   |      d   }t        d |d   D              }| j                  |d      }|j	                  d      xs i }|j	                  d      xs i }|j                  t        |d t              t        |d	       |j	                  d
      t        |j	                  d            |j	                  d      t        |j	                  d            d       |S )Nz0https://mnmedias.api.telequebec.tv/api/v3/media/mediac              3   P   K   | ]  }|j                  d       dk(  s|d      yw)source
BrightcovesourceIdN)get).0source_infos     r   	<genexpr>z-TeleQuebecIE._real_extract.<locals>.<genexpr>E   s8       G[\g\k\klt\u  zF  ]FZ0  Gs   &
&streamInfos	22gPKdt7fproductseasonc                     | d   d   d   S )Ndescriptionstextr   xs    r   <lambda>z,TeleQuebecIE._real_extract.<locals>.<lambda>J   s    An4Eb4I&4Q r   c                     | d   d   S )Nserietitrer   rD   s    r   rF   z,TeleQuebecIE._real_extract.<locals>.<lambda>K   s    '
70C r   nameseasonNorI   	episodeNo)r(   seriesr?   season_numberepisodeepisode_number)		_match_id_download_jsonnextr   r8   updater   strr   )selfr   media_idr3   	source_idinfor>   r?   s           r   _real_extractz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   Nr   r   r   
_VALID_URL_TESTSrZ   r   r   r   r!   r!      s    J m!4A#*%
 ## U! A*%#
 ## <
 Y; FDr   r!   c                   @    e Zd ZdZdddddddd	d
ddddddidgZd Zy)TeleQuebecSquatIEz1https?://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)   r+   rM   r?   rN   rP   skip_downloadTr   r,   paramsc                    | j                  |      }| j                  d| |      }|d   }dd| t        j                         ||j	                  d      |j	                  d      t        |j	                  d            |j	                  d      |j	                  d	      t        |j	                  d
            t        |j	                  d            dS )Nz*https://squat.api.telequebec.tv/v1/videos/r7   r   %http://zonevideo.telequebec.tv/media/rI   r(   datePublication	containersaisonnoSaisonrO   )r   r   r   r%   r'   r(   r)   rM   r?   rN   rP   )rQ   rR   r!   r   r8   r   r   )rV   r   video_idvideorW   s        r   rZ   zTeleQuebecSquatIE._real_extractj   s    >>#&##8
C $ ':8*E"))+YYw' 99]3*5995F+GHii,ii)(:)>?)%))I*>?
 	
r   Nr[   r   r   r   r_   r_   T   sM    EJ84"A#%J  
 T
 F(
r   r_   c            	       J    e Zd ZdZdddddddd	d
ddddddddddgZd Zy)TeleQuebecEmissionIEa	  (?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(   r+   r)   r*   r   r,   zVhttp://bancpublic.telequebec.tv/emissions/emission-49/31986/jeunes-meres-sous-pressionTr0   zHhttp://www.telequebec.tv/masha-et-michka/epi059masha-et-michka-3-053-078z7http://www.telequebec.tv/documentaire/bebes-sur-mesure/c                     | j                  |      }| j                  ||      }| j                  d|d      }| j                  d|z   t        j                               S )NzmediaId\s*:\s*(?P<id>\d+)zmedia idrj   )rQ   _download_webpage_search_regex
url_resultr!   r   )rV   r   
display_idwebpagerW   s        r   rZ   z"TeleQuebecEmissionIE._real_extract   s`    ^^C(
((j9%%(':? 3h>!# 	#r   Nr[   r   r   r   rr   rr      sd    J F!^A%#*
 h Z I#F,
#r   rr   c            
       8    e Zd ZdZdddddddd	d
dddidZd Zy)TeleQuebecLiveIEz3https?://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)   r+   rf   rg   c                 &    | j                  dd      S )Nr   	skCsmi2Uw)r   )rV   r   s     r   rZ   zTeleQuebecLiveIE._real_extract   s    &&DDr   N)r   r   r   r\   _TESTrZ   r   r   r   r~   r~      s@    GJ9!W>*#%	
 T
E"Er   r~   c            	       @    e Zd ZdZdddddddd	d
ddddgZd Zd Zy)TeleQuebecVideoIEz;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_6101674910001ru   rv   z-https://video.telequebec.tv/player-live/28527Tr0   c                 <    | j                  d|z   |ddd      d   S )Nz@http://beacon.playback.api.brightcove.com/telequebec/api/assets/web)device_layoutdevice_type)querydata)rR   )rV   pathro   s      r   	_call_apizTeleQuebecVideoIE._call_api   s8    ""NQUUeEJ # LLRT 	Tr   c                    | j                  |      }| j                  ||      d   }| j                  |dz   |d   d   d   z   |      d   }|d   }t        |d       xs d	}| j                  |d
|      }|j	                  |j                  d      xs |j                  d      |j                  d      t        |j                  d            |j                  d      t        |j                  d            d       |S )Nassetz	/streams/streams    r%   streamr   c                     | d   d   S )Nvideo_provider_detailsr   r   rD   s    r   rF   z1TeleQuebecVideoIE._real_extract.<locals>.<lambda>   s    a 89,G r   r   defaultlong_descriptionshort_descriptionseries_original_namerN   original_namerP   )r(   rM   rN   rO   rP   )rQ   r   r   r   rT   r8   r   )rV   r   asset_idr   r   
stream_urlr   rY   s           r   rZ   z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   N)r   r   r   r\   r]   r   rZ   r   r   r   r   r      sH    OJ@!xA%#*
 ?F T
r   r   N)commonr   utilsr   r   r   r   r
   r!   r_   rr   r~   r   r   r   r   <module>r      sb    ! 	
} 	
;# ;|+
 +
\)#= )#XE' E.'( 'r   