o
    i"                     @   s`   d dl Z d dlZddlmZ ddlmZmZmZ ddl	m
Z
 G dd deZG d	d
 d
eZdS )    N   )InfoExtractor   )extract_attributesunified_timestampurl_or_none)traverse_objc                   @   s.   e Zd ZdZdddddddgZdd	 Zd
S )N1InfoAssetIEzFhttps?://best-vod\.umn\.cdn\.united\.cloud/stream\?asset=(?P<id>[^&]+)zhttps://best-vod.umn.cdn.united.cloud/stream?asset=ljsottomazilirija3060921-n1info-si-worldwide&stream=hp1400&t=0&player=m3u8v&sp=n1info&u=n1info&p=n1Sh4redSecre7iNf0 28b08b32aeaff2b8562736ccd5a66fe7z,ljsottomazilirija3060921-n1info-si-worldwidemp4)idexttitleurlmd5	info_dictc                 C   s,   |  |}| j||ddddd}|||dS )Nr   m3u8_nativehlsF)entry_protocolm3u8_idfatal)r   r   formats)	_match_id_extract_m3u8_formats)selfr   video_idr    r   G/home/ubuntu/.local/lib/python3.10/site-packages/yt_dlp/extractor/n1.py_real_extract   s   
zN1InfoAssetIE._real_extractN)__name__
__module____qualname__
_VALID_URL_TESTSr   r   r   r   r   r	      s    
r	   c                   @   s>  e Zd ZdZdZddi 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edededed d!d"d#d$d%gd&d'dd(d)d*d+
d,d-d.dd/d0d1d2d3d4did5d6d7dd8d9d:d;d<d=eeed!d>d?d@dAdBdCddDdEdFdGdHd4did5dIdJddKdLdMdNdHdAdOdPddQdRdSdTdUdAdVddWgZdXdY ZdZS )[	N1InfoIIEzN1Info:articlezLhttps?://(?:(?:\w+\.)?n1info\.\w+|nova\.rs)/(?:[^/?#]+/){1,2}(?P<id>[^/?#]+)zbhttps://sportklub.n1info.rs/tenis/us-open/glava-telo-igra-kako-je-novak-ispustio-istorijsku-sansu/ 987ce6fd72acfecc453281e066b87973r   L5Hd4hQVUpkr   r   upload_date20210913r   uj   Ozmo i USO21, ep. 13: Novak Đoković – Danil Medvedev | Ključevi Poraza, Budućnost | SPORT KLUB TENISdescriptionz$md5:467f330af1effedd2e290f10dc31bb8euploaderz
Sport Klubuploader_idz
@sportklubuploader_urlz"https://www.youtube.com/@sportklubchannel
channel_idUChpzBje9Ro6CComXe3BgNawchannel_urlz8https://www.youtube.com/channel/UChpzBje9Ro6CComXe3BgNawchannel_is_verifiedTchannel_follower_countcomment_count
view_count
like_count	age_limitr   i  z4https://i.ytimg.com/vi/L5Hd4hQVUpk/maxresdefault.jpgzcount:9Sportszcount:10i?apublicnot_livevideo)
duration	thumbnailchapters
categoriestags	timestampplayable_in_embedavailabilitylive_status
media_typer   zOhttps://n1info.si/novice/svet/v-srbiji-samo-ta-konec-tedna-vec-kot-200-pozarov/2182656u2   V Srbiji samo ta konec tedna več kot 200 požarovih20250727zFhttps://n1info.si/media/images/2025/7/1753611048_Pozar.width-1200.webp)r   r   r   rA   r(   r=   skip_download)r   r   paramsz\https://nova.rs/vesti/drustvo/ako-vucic-izgubi-izbore-ja-cu-da-crknem-jugoslavija-je-gotova/2wmfee9eycp71uD   "Ako Vučić izgubi izbore, ja ću da crknem, Jugoslavija je gotova"20210924g  @"LSAYouLotWhatDontStoppu9wbxserbia   zhttps://external-preview.redd.it/5nmmawSeGx60miQM3Iq-ueC9oyCLTLjjqX-qqY8uRsc.png?format=pjpg&auto=webp&s=2f973400b04d23f871b608b178e47fc01f9b8f1d)r   r   r   r(   rA   r+   
display_idr/   r4   r6   dislike_countr7   r<   r=   )r   r   zPhttps://nova.rs/vesti/politika/zaklina-tatalovic-ani-brnabic-pricate-lazi-video/z=tnjganabrnabicizaklinatatalovic100danavladegp-novas-worldwideu8   Žaklina Tatalović Ani Brnabić: Pričate laži (VIDEO)20211102iDazshttps://nova.rs/wp-content/uploads/2021/11/02/1635860298-TNJG_Ana_Brnabic_i_Zaklina_Tatalovic_100_dana_Vlade_GP.jpg)r   r   r   r(   rA   r=   zdhttps://n1info.rs/vesti/cuta-biti-u-kosovskoj-mitrovici-znaci-da-te-docekaju-eksplozivnim-napravama/1332368uO   Ćuta: Biti u Kosovskoj Mitrovici znači da te dočekaju eksplozivnim napravama20230620idzXhttps://cdn.brid.tv/live/partners/26827/snapshot/1332368_th_6492013a8356f_1687290170.jpgzqhttps://n1info.rs/vesti/vuciceva-turneja-po-srbiji-najavljuje-kontrarevoluciju-preti-svom-narodu-vredja-novinare/2025974u]   Vučićeva turneja po Srbiji: Najavljuje kontrarevoluciju, preti svom narodu, vređa novinarez\https://cdn-uc.brid.tv/live/partners/26827/snapshot/2025974_fhd_67c4a23280a81_1740939826.jpgig20250302)r   r   r   r=   rA   r(   zmhttps://hr.n1info.com/vijesti/pravobraniteljica-o-ubojstvu-u-zagrebu-radi-se-o-doista-nezapamcenoj-situaciji/)r   only_matchingc                 C   s  |  |}| ||}| |p| |}t| jd|d dp#| d|}td|}g }|rv| j	d|dd d}|d u rI| 
d| jd|d	d
d}|D ])}	| |	|d }||||| d|| jd| d| d| d|dd
d qKn)td|}
|
D ] }t|}	|d|	d|	d|t|	dthtf|dd q~td|}|D ]D}t|}	|	dpd}tj|j}|dkr|| j|dd  q|d!kr|| j|d"d  q|d#krd$|v r|| j|d%d  qd&||||d'S )(Npublished_time)defaultzarticle:published_timez*\$bp\("(?:Brid|TargetVideo)_\d+",\s(.+)\);z
site:(\d+)zsite idzpartners/(\d+)
contentUrlT)r   zsite IDr;   thumbnailURLz%https://cdn-uc.brid.tv/live/partners/z/streaming//z.m3u8F)r   r   rA   r=   r   z(?m)(<video[^>]+>)url_transparentzdata-urlr   )zdata-thumbnailzdata-default_thumbnailN1InfoAsset)_typer   r   r   r=   rA   ie_keyz(<iframe[^>]+>)src zwww.youtube.comYoutube)iezwww.redditmedia.comRedditzwww.facebook.comzplugins/videoFacebookPluginsVideoplaylist)r_   r   r   rA   entries)r   _download_webpage_og_search_title_html_extract_titler   _og_search_property_html_search_metarefindall_html_search_regex_search_regex_parse_jsonappendr   r   getr   r   anyurllibparseurlparsehostname
url_result)r   r   r   webpager   rA   plugin_datarh   site_id
video_datavideosr;   embedded_videosembedded_videory   r   r   r   r      st   





zN1InfoIIE._real_extractN)r    r!   r"   IE_NAMEr#   intr$   r   r   r   r   r   r%   %   s    	
"		gr%   )rn   urllib.parserv   commonr   utilsr   r   r   utils.traversalr   r	   r%   r   r   r   r   <module>   s    