o
    ig                     @   sT   d dl mZ ddlmZ ddlmZmZmZmZ G dd deZ	G dd deZ
d	S )
   )InfoExtractor   )	HTTPError)ExtractorErrordetermine_extint_or_noneunified_strdatec                   @   s   e Zd ZdZdZddddddd	d
didddddddd	d
diddddddddgZdgZdZdZd ddZ	dd Z
dd ZdS )!RadioCanadaIEradiocanadazk(?:radiocanada:|https?://ici\.radio-canada\.ca/widgets/mediaconsole/)(?P<app_code>[^:/]+)[:/](?P<id>[0-9]+)z@http://ici.radio-canada.ca/widgets/mediaconsole/medianet/71842727184272mp4u'   Le parcours du tireur capté sur vidéou_   Images des caméras de surveillance fournies par la GRC montrant le parcours du tireur d'Ottawa20141023idexttitledescriptionupload_dateskip_downloadTurl	info_dictparamszAhttp://ici.radio-canada.ca/widgets/mediaconsole/medianet/7754998/7754998letelejournal22hzINTEGRALE WEB 22H-TJ20170720zradiocanada:toutv:140872140872u
   Épisode 1zDistrict 31)r   r   series)r   r   only_matchingCANc              
   C   s   |si }| ddd |r| ||d | jr| j|d< z| jd| ||dW S  ty_ } z*t|jtrZ|jjdv rZ| |jj	
  d }|d	pS|d
 d }t|dd d }~ww )Nz$773aea60-0e80-41bb-9c7f-e6d7c3ad17fbjson)
client_keyoutput)appCodeidMediaaccess_tokenz'https://services.radio-canada.ca/media/)query)i  i  error_descriptionerrorMessagetextTexpected)update_access_token_download_jsonr   
isinstancecauser   status_parse_jsonresponsereaddecodeget)selfpathvideo_idapp_coder&   edataerror r>   P/home/ubuntu/.local/lib/python3.10/site-packages/yt_dlp/extractor/radiocanada.py	_call_api;   s2   

zRadioCanadaIE._call_apic                    sR  |  d||d   fdd}|dr| d ddd	d
}| jr&| j|d< |  d|||}|d}|sY|d }|dkrD| || j|dkrM| | t| j d| dd| 	||d}i }	|dpi|d}
|
rw|
t
|
ddg|	d< ||dp|d|dp|d|dp|dp|d t|d!|d"td#td$t|d%|	|d&S )'Nzmeta/v1/index.ashxMetasc                    s2    D ]}| d| kr| d}|r|  S qd S )Nnamer)   )r6   )rB   metar)   metasr>   r?   get_metaV   s   
z-RadioCanadaIE._extract_info.<locals>.get_metaprotectionTypez%This video is probably DRM protected.hdipadtrue)connectionType
deviceTypemultibitrateclaimszvalidation/v2/r   messageu=   Le contenu sélectionné n'est pas disponible dans votre paysu<   Le contenu sélectionné est disponible seulement en premiumz said: Tr*   r   closedCaptionclosedCaptionHTML5vtt)r   r   frTitlezAV-nomEmissionDescriptionShortDescriptionimageHRimageMRimageBRlengthEmission	SrcSaison
SrcEpisodeDate)r   r   r   	thumbnaildurationr   season_numberepisode_numberr   	subtitlesformats)r@   report_warning_claimsr6   raise_geo_restricted_GEO_COUNTRIESraise_login_requiredr   IE_NAME_extract_m3u8_formatsr   r   r   )r7   r:   r9   rF   r&   v_datav_urlr=   rd   rc   closed_caption_urlr>   rD   r?   _extract_infoS   sP   	





zRadioCanadaIE._extract_infoc                 C   s   | j | |  S )N)ro   _match_valid_urlgroupsr7   r   r>   r>   r?   _real_extract   s   zRadioCanadaIE._real_extract)NNN)__name__
__module____qualname__rj   
_VALID_URL_TESTSrh   r-   rf   r@   ro   rs   r>   r>   r>   r?   r	      sJ    		)
8r	   c                   @   sB   e Zd ZdZdZddddddd	d
diddddgZdd ZdS )RadioCanadaAudioVideoIEzradiocanada:audiovideoz<https?://ici\.radio-canada\.ca/([^/]+/)*media-(?P<id>[0-9]+)zLhttp://ici.radio-canada.ca/audio-video/media-7527184/barack-obama-au-vietnam7527184r   zBarack Obama au VietnamuY   Les États-Unis lèvent l'embargo sur la vente d'armes qui datait de la guerre du Vietnam20160523r   r   Tr   zMhttps://ici.radio-canada.ca/info/videos/media-7527184/barack-obama-au-vietnam)r   r   c                 C   s   |  d| | S )Nzradiocanada:medianet:)
url_result	_match_idrr   r>   r>   r?   rs      s   z%RadioCanadaAudioVideoIE._real_extractN)rt   ru   rv   rj   rw   rx   rs   r>   r>   r>   r?   ry      s$    	ry   N)commonr   networking.exceptionsr   utilsr   r   r   r   r	   ry   r>   r>   r>   r?   <module>   s     