o
    iI!                     @   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/121683 84658d7fb9e55a6e57ecc77b73137494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md5	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   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|| |< q| S )Nz//zhttps:)	enumerate
startswithr	   r   r   )urlsie r   P/home/ubuntu/.local/lib/python3.10/site-packages/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 ]!}|d |vr(|ddkr|dsq||d  || q|| d d < d S )Nr   	audio_extnoneacodec)setgetaddappend)formatsformat_urls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 ]\}	}
}|	dkr|
d	v r7q)|
d
rI|| ||ddi q)t	|}|dkr`|| j
||dd|
dd q)|
|d}|dkrt| jd|dd d}||||dd n,td|
}|r|t|dt|dd |dst| jd|dd d|d< || q)|	dkr|
d v r|}q)|
d!krt|}q)| | ||| g d"||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.itm3u8r   m3u8_nativeF)m3u8_idr4   )	format_idr   mp3z-mp3-audio-(\d+)abr)defaultr)   )r<   tbrr*   vcodecz^video-rrtv-(\d+)(?:-(\d+))?$r   r   )heightvbrrA   z-video-rrtv-(\d+)param)
image_fullimagevideoDuration)ztwitter:descriptionzog:descriptionr   )r   r   r   r   r/   r   )_match_valid_urlgroup_download_webpage_html_search_metarefindallendswithextend_extract_akamai_formatsr   _extract_m3u8_formatsr   _search_regexupdatematchintr,   r.   r3   _og_search_thumbnail)selfr   video_idr%   r   player_datar/   r   thumbtnvr   r2   r<   mobjr   r   r   _real_extract   s   





zGediDigitalIE._real_extract)__name__
__module____qualname__
_VALID_URL_EMBED_REGEX_TESTSstaticmethodr    classmethodr#   r3   r]   __classcell__r   r   r&   r   r
      s    
@


r
   )
rJ   commonr   utilsr   r   r   r   r	   r
   r   r   r   r   <module>   s    	