U
    g                     @   sH   d dl mZ ddlmZmZmZmZmZmZm	Z	m
Z
 G dd deZdS )   )InfoExtractor   )
clean_htmldetermine_extint_or_noneparse_durationparse_resolutiontry_getunified_timestampurl_or_nonec                   @   sr   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ddgdddddddddddd d!d"	dgZd#d$ Zd%S )&CCMAIEzJhttps?://(?:www\.)?ccma\.cat/(?:[^/]+/)*?(?P<type>video|audio)/(?P<id>\d+)zehttp://www.ccma.cat/tv3/alacarta/lespot-de-la-marato-de-tv3/lespot-de-la-marato-de-tv3/video/5630208/Z 7296ca43977c8ea4469e719c609b0871Z5630208Zmp4u   L'espot de La Marató de TV3z$md5:f12987f320e2f6e988e9908e4fe97765i!XZ20161108    )idexttitledescription	timestampupload_date	age_limit)urlmd5Z	info_dictzbhttp://www.ccma.cat/catradio/alacarta/programa/el-consell-de-savis-analitza-el-derbi/audio/943685/Z fa3e38f269329a278271276330261425Z943685Zmp3z%El Consell de Savis analitza el derbiz$md5:e2a3648145f3241cb9c6b4b624033e53Z20170512i$!YnoneZEsports)r   r   r   r   r   r   vcodec
categoriesz_http://www.ccma.cat/tv3/alacarta/crims/crims-josep-tallada-lespereu-me-capitol-1/video/6031387/Z b43c3d3486f430f3032b5b160d80cbc3Z6031387u2   Crims - Josep Talleda, l'"Espereu-me" (capítol 1)z$md5:7cbdafb640da9d0d2c0f62bad1e74e60i$8T^Z20200224z
mincount:4   ZCrims)	r   r   r   r   r   r   	subtitlesr   seriesc                 C   s  |  | \}}| jd|||ddd}g }|d d }t|tr|D ]j}t|d}|s`qHt|dkr|| j	||d	d
d qH|d}	t
|	}
|
||	d ||
 qHn|||dkrdnd d |d }|d }|dpi }t|ddpt|d}t|dd }t|dd }t|}i }|dpFg }t|trZ|g}|D ]D}|d}|r^||dp|dpdg d|i q^g }|di }|r|d}|r|t|dt|dd g}d }t|d!d }|r<|d"}t|d#kr<|d$ d%kr0d&}nt|d$ }||t|d'|||||||d(t|d)|rx|gnd |d*d+S ),Nz)http://dinamics.ccma.cat/pvideo/media.jspdm)mediaZidintformat)queryr   r   fileZmpdZdashF)Zmpd_idfatallabel)r   Z	format_idaudior   )r   r   
informacioZtitolduradaZ
milisegonsi  textc                 S   s   | d d S )Ntematicar'    xr)   r)   9/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/ccma.py<lambda>_       z&CCMAIE._real_extract.<locals>.<lambda>c                 S   s   | d d S )NZdata_emissioutcr)   r*   r)   r)   r,   r-   a   r.   	subtitolsZisocaimatgesZampladaZalcada)r   widthheightc                 S   s   | d d S )N	codi_eticr   r)   r*   r)   r)   r,   r-   |   r.   _r   r   ZTPr   Z
descripcioZtitol_completZcapitolZprograma)r   r   r   durationr   
thumbnailsr   formatsr   Z	alt_titleZepisode_numberr   r   )Z_match_valid_urlgroupsZ_download_json
isinstancelistr   getr   extendZ_extract_mpd_formatsr   updateappendr   r   r	   r
   dict
setdefaultsplitlenr   )selfr   
media_typeZmedia_idr   r9   Z	media_urlZformat_Z
format_urlr#   fr%   r   r&   r7   r(   Zdata_utcr   r   r0   stZsub_urlr8   r2   Zthumbnail_urlr   r5   Zcodi_etic_sr)   r)   r,   _real_extract9   s     
   
 
  

zCCMAIE._real_extractN)__name__
__module____qualname__Z
_VALID_URLZ_TESTSrI   r)   r)   r)   r,   r      sN   )r   N)commonr   utilsr   r   r   r   r   r	   r
   r   r   r)   r)   r)   r,   <module>   s   (