U
    gI!                     @   sD   d dl Z ddlmZ ddlmZmZmZmZmZ G dd deZ	dS )    N   )InfoExtractor   )base_urldetermine_extint_or_noneurl_basenameurljoinc                       s   e Zd ZdZde dgZdddddd	d
dddddddddddddddddddddddddddddddddddddddddddddddddddd ddgZed!d" Ze fd#d$Z	ed%d& Z
d'd( Z  ZS ))GediDigitalIEa  (?x:(?P<base_url>(?:https?:)//video\.
        (?:
            (?:
                (?:espresso\.)?repubblica
                |lastampa
                |ilsecoloxix
                |huffingtonpost
            )|
            (?:
                iltirreno
                |messaggeroveneto
                |ilpiccolo
                |gazzettadimantova
                |mattinopadova
                |laprovinciapavese
                |tribunatreviso
                |nuovavenezia
                |gazzettadimodena
                |lanuovaferrara
                |corrierealpi
                |lasentinella
            )\.gelocal
        )\.it(?:/[^/]+){2,4}/(?P<id>\d+))(?:$|[?&].*))z(?x)
            (?:
                data-frame-src=|
                <iframe[^\n]+src=
            )
            (["'])(?P<url>z)\1zphttps://video.lastampa.it/politica/il-paradosso-delle-regionali-la-lega-vince-ma-sembra-aver-perso/121559/121683Z 84658d7fb9e55a6e57ecc77b73137494Z121683mp4uM   Il paradosso delle Regionali: ecco perché la Lega vince ma sembra aver persoz$md5:de7f4d6eaaaf36c153b599b10f8ce7cazCre:^https://www\.repstatic\.it/video/photo/.+?-thumb-full-.+?\.jpg$}   )idexttitledescription	thumbnailduration)urlmd5Z	info_dictzhttps://video.huffingtonpost.it/embed/politica/cotticelli-non-so-cosa-mi-sia-successo-sto-cercando-di-capire-se-ho-avuto-un-malore/29312/29276?responsive=true&el=video971040871621586700T)r   Zonly_matchingzfhttps://video.espresso.repubblica.it/embed/tutti-i-video/01-ted-villa/14772/14870&width=640&height=360z}https://video.repubblica.it/motori/record-della-pista-a-spa-francorchamps-la-pagani-huayra-roadster-bc-stupisce/367415/367963zhttps://video.ilsecoloxix.it/sport/cassani-e-i-brividi-azzurri-ai-mondiali-di-imola-qui-mi-sono-innamorato-del-ciclismo-da-ragazzino-incredibile-tornarci-da-ct/66184/66267zihttps://video.iltirreno.gelocal.it/sport/dentro-la-notizia-ferrari-cosa-succede-a-maranello/141059/142723z`https://video.messaggeroveneto.gelocal.it/locale/maria-giovanna-elmi-covid-vaccino/138155/139268zwhttps://video.ilpiccolo.gelocal.it/dossier/big-john/dinosauro-big-john-al-via-le-visite-guidate-a-trieste/135226/135751zhttps://video.gazzettadimantova.gelocal.it/locale/dal-ponte-visconteo-di-valeggio-l-and-8217sos-dei-ristoratori-aprire-anche-a-cena/137310/137818zhttps://video.mattinopadova.gelocal.it/dossier/coronavirus-in-veneto/covid-a-vo-un-anno-dopo-un-cuore-tricolore-per-non-dimenticare/138402/138964zuhttps://video.laprovinciapavese.gelocal.it/locale/mede-zona-rossa-via-alle-vaccinazioni-per-gli-over-80/137545/138120zhttps://video.tribunatreviso.gelocal.it/dossier/coronavirus-in-veneto/ecco-le-prima-vaccinazioni-di-massa-nella-marca/134485/135024zvhttps://video.nuovavenezia.gelocal.it/locale/camion-troppo-alto-per-il-ponte-ferroviario-perde-il-carico/135734/136266zhttps://video.gazzettadimodena.gelocal.it/locale/modena-scoperta-la-proteina-che-predice-il-livello-di-gravita-del-covid/139109/139796z}https://video.lanuovaferrara.gelocal.it/locale/due-bombole-di-gpl-aperte-e-abbandonate-i-vigili-bruciano-il-gas/134391/134957zhttps://video.corrierealpi.gelocal.it/dossier/cortina-2021-i-mondiali-di-sci-alpino/mondiali-di-sci-il-timelapse-sulla-splendida-olympia/133760/134331z_https://video.lasentinella.gelocal.it/locale/vestigne-centra-un-auto-e-si-ribalta/138931/139466zEhttps://video.espresso.repubblica.it/tutti-i-video/01-ted-villa/14772c                 C   sV   t | D ] \}}|drd| | |< qt | D ]\}}tt|t|| |< q2| S )Nz//zhttps:)	enumerate
startswithr	   r   r   )urlsie r   @/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/gedidigital.py_sanitize_urlsk   s    
zGediDigitalIE._sanitize_urlsc                    s   |  tt ||S )N)r   tuplesuper_extract_embed_urls)clsr   webpage	__class__r   r   r   v   s    z!GediDigitalIE._extract_embed_urlsc                 C   sb   t  }g }| D ]B}|d |kr|ddkr8|ds8q||d  || q|| d d < d S )Nr   Z	audio_extnoneacodec)setgetaddappend)formatsZformat_urlsZclean_formatsfr   r   r   _clean_formatsz   s    zGediDigitalIE._clean_formatsc                 C   s  |  |dd\}}| ||}| jddg|dd}td|}g }d  }}|D ]B\}	}
}|	dkrn|
d	krtqRn|
d
r|| ||ddi nt	|}|dkr|| j
||dd|
dd qR|
|d}|dkrt| jd|dd d}||||dd n\td|
}|r<|t|dt|dd |dsbt| jd|dd d|d< || qR|	dkrR|
d kr|}qR|
d!krRt|}qR| | ||| d"d#d$g||p| |||d%S )&Nr   r   ztwitter:titlezog:titleT)fatalz]PlayerFactory\.setParam\('(?P<type>format|param)',\s*'(?P<name>[^']+)',\s*'(?P<val>[^']+)'\);format)zvideo-hds-vod-eczvideo-hls-vod-eczvideo-viralizezvideo-youtube-pfpz-vod-akhttpzmedia.gedidigital.itZm3u8r   Zm3u8_nativeF)Zm3u8_idr-   )Z	format_idr   Zmp3z-mp3-audio-(\d+)abr)defaultr$   )r0   Ztbrr%   Zvcodecz^video-rrtv-(\d+)(?:-(\d+))?$r   r   )heightvbrr3   z-video-rrtv-(\d+)param)Z
image_fullimageZvideoDurationztwitter:descriptionzog:descriptionr   )r   r   r   r   r*   r   )Z_match_valid_urlgroupZ_download_webpageZ_html_search_metarefindallendswithextendZ_extract_akamai_formatsr   Z_extract_m3u8_formatsr   Z_search_regexupdatematchintr'   r)   r,   Z_og_search_thumbnail)selfr   Zvideo_idr!   r   Zplayer_datar*   r   Zthumbtnvr   r+   r0   Zmobjr   r   r   _real_extract   s      

       
   
   


 zGediDigitalIE._real_extract)__name__
__module____qualname__Z
_VALID_URLZ_EMBED_REGEXZ_TESTSstaticmethodr   classmethodr   r,   rB   __classcell__r   r   r"   r   r
      s   
@


r
   )
r7   commonr   utilsr   r   r   r   r	   r
   r   r   r   r   <module>   s   	