
    VGh                     N    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e      Zy)   )InfoExtractor   )
clean_htmldetermine_extint_or_noneparse_durationparse_resolutiontry_getunified_timestampurl_or_nonec                       e Zd ZdZdZ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gdddd dd!d"d#dd$d%d&d'd(d)d*d+d,dgd-d.d/d0dd1d2dd3d4d5d6d7d8d9dd:d;gd<d=gZd> Zy?)@CCMAIEu   3Cat, TV3 and Catalunya RàdiozWhttps?://(?:www\.)?3cat\.cat/(?:3cat|tv3/sx3)/[^/?#]+/(?P<type>video|audio)/(?P<id>\d+)zChttps://www.3cat.cat/3cat/lespot-de-la-marato-de-tv3/video/5630208/ 7296ca43977c8ea4469e719c609b08715630208mp4uU   L'espot de La Marató 2016: Ictus i les lesions medul·lars i cerebrals traumàtiquesz$md5:f12987f320e2f6e988e9908e4fe97765i!X20161108    u    EsportMarató2016WEB_PerPublicarO   z9https://img.3cat.cat/multimedia/jpg/4/6/1478536106664.jpguF   Dedicada a l'ictus i les lesions medul·lars i cerebrals traumàtiquesu   Divulgació)idexttitledescription	timestampupload_date	age_limit	alt_titleduration	thumbnailseries
categories)urlmd5	info_dictzMhttps://www.3cat.cat/3cat/el-consell-de-savis-analitza-el-derbi/audio/943685/ fa3e38f269329a278271276330261425943685mp3z%El Consell de Savis analitza el derbiz$md5:e2a3648145f3241cb9c6b4b624033e5320161217i4UXnoneEsportszTot girai5  z9https://img.3cat.cat/multimedia/jpg/8/9/1482002602598.jpg)r   r   r   r   r   r   vcodecr    r   r   r   zOhttps://www.3cat.cat/3cat/crims-josep-tallada-lespereu-me-part-1/video/6031387/ 27493513d08a3e5605814aee9bb778d26031387z.T1xC5 - Josep Talleda, l'"Espereu-me" (part 1)z$md5:7cbdafb640da9d0d2c0f62bad1e74e60i8T^20200224z
mincount:1   Crimsz9https://img.3cat.cat/multimedia/jpg/1/9/1582564376991.jpgi  z\Crims - 5 - Josep Talleda, l'"Espereu-me" (1a part) - Josep Talleda, l'"Espereu-me" (part 1)   z	Episode 5)r   r   r   r   r   r   	subtitlesr   r   r   r   r    r   episode_numberepisodezHhttps://www.3cat.cat/tv3/sx3/una-mosca-volava-per-la-llum/video/5759227/5759227zUna mosca volava per la llumu%   17Z004Ç UNA MOSCA VOLAVA PER LA LLUMz$md5:9ab64276944b0825336f4147f13f7854Mic20180411iZ   z9https://img.3cat.cat/multimedia/jpg/6/1/1524071667216.jpgu   Música)r   r   r   r   r   r   r   r   r   r   r   r    )r!   r#   c                 @   | j                  |      j                  dd      \  }}| j                  d|||dd      }g }|d   d   }t        |t              r|D ]  }t        |j                  d	            }|s t        |      d
k(  r%|j                  | j                  ||dd             S|j                  d      }	t        |	      }
|
j                  ||	d       |j                  |
        n|j                  ||dk(  rdnd d       |d   }|d   }|j                  d      xs i }t        |j                  d      d      xs t        |j                  d            }t        |d       }t        |d       }t!        |      }i }|j                  d      xs g }t        |t"              r|g}|D ]_  }|j                  d      }|s|j%                  |j                  d      xs |j                  d      xs dg       j                  d|i       a g }|j                  di       }|rJ|j                  d      }|r7|t        |j                  d            t        |j                  d             d!g}d }t        |d"       }|r8|j'                  d#      }t)        |      d$k(  r|d%   d&k(  rd'}nt        |d%         }||t+        |j                  d(            |||||||j                  d)      t        |j                  d*            |r|gnd |j                  d+      d,S )-Ntyper   z*http://api-media.3cat.cat/pvideo/media.jspdm)mediaidintformat)queryr;   r!   filempddashF)mpd_idfatallabel)r!   	format_idaudior(   )r!   r*   
informaciotitoldurada
milisegonsi  textc                     | d   d   S )NtematicarK    xs    ^/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/ccma.py<lambda>z&CCMAIE._real_extract.<locals>.<lambda>   s    :v1F     c                     | d   d   S )Ndata_emissioutcrN   rO   s    rQ   rR   z&CCMAIE._real_extract.<locals>.<lambda>   s    >1B51I rS   	subtitolsisocaimatgesampladaalcada)r!   widthheightc                     | d   d   S )N	codi_eticr   rN   rO   s    rQ   rR   z&CCMAIE._real_extract.<locals>.<lambda>   s    !K.2F rS   _r   r   TPr   
descripciotitol_completcapitolprograma)r   r   r   r   r   
thumbnailsr1   formatsr   r   r2   r    r   )_match_valid_urlgroup_download_json
isinstancelistr   getr   extend_extract_mpd_formatsr	   updateappendr   r   r
   r   dict
setdefaultsplitlenr   )selfr!   
media_typemedia_idr;   rh   	media_urlformat_
format_urlrD   frG   r   rI   r   rM   data_utcr   r1   rW   stsub_urlrg   rZ   thumbnail_urlr   r`   codi_etic_ss                               rQ   _real_extractzCCMAIE._real_extractZ   sE   #44S9??M
H##8(#!K $  'N5)	i&$ "(V)<=
! ,5NN4#<#<"HV5 $= $J KG,$U+%!&  q!"  NN $.'$9&t 
 <(
7#)/Rvzz,7>d.QWQ[Q[\bQcBd:'FG:'IJ%h/		IIk*0b	i&"I 	BffUmG$$FF5M;RVVF^;tRAAGwI B		 
))Ir*#KK.M((Y)?@)'++h*?@ 
 	J(FG	#//#.K;1$q>T) !I +KN ;I %jnn\&BC "$""#8)*..*CD(08*d nnZ0
 	
rS   N)__name__
__module____qualname__IE_DESC
_VALID_URL_TESTSr   rN   rS   rQ   r   r      s   .GkJ U1mA#%;T_(/
	( _1<A%#$+ T
	$ a1FA#%%T(/y"
* Z3@A%#T$+
oGFRZ
rS   r   N)commonr   utilsr   r   r   r   r	   r
   r   r   r   rN   rS   rQ   <module>r      s%    !	 	 	f
] f
rS   