a
    h"                     @   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=n1Sh4redSecre7iNf0Z 28b08b32aeaff2b8562736ccd5a66fe7z,ljsottomazilirija3060921-n1info-si-worldwidemp4)idexttitleurlmd5	info_dictc                 C   s,   |  |}| j||ddddd}|||dS )Nr
   Zm3u8_nativeZhlsF)Zentry_protocolZm3u8_idfatal)r   r   formats)	_match_id_extract_m3u8_formats)selfr   video_idr    r   H/mnt/pikpak/tmp/myenv/lib/python3.9/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ddddd	d
ddd
dddeeeedddddgdddddddddddddd d!d"d#did$d%d&dd'd(d)d*d+d,eeedd-d.d/d0d1d2dd3d4d5d6d7d#did$d8d9dd:d;d<d=d7d0d>d?dd@dAdBdCdDd0dEddFgZdGdH ZdIS )J	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/Z 987ce6fd72acfecc453281e066b87973ZL5Hd4hQVUpkr
   Z20210913uj   Ozmo i USO21, ep. 13: Novak Đoković – Danil Medvedev | Ključevi Poraza, Budućnost | SPORT KLUB TENISz$md5:467f330af1effedd2e290f10dc31bb8ez
Sport Klubz
@sportklubz"https://www.youtube.com/@sportklubZUChpzBje9Ro6CComXe3BgNawz8https://www.youtube.com/channel/UChpzBje9Ro6CComXe3BgNawTr   i  z4https://i.ytimg.com/vi/L5Hd4hQVUpk/maxresdefault.jpgzcount:9ZSportszcount:10i?apublicZnot_livevideo)r   r   upload_dater   descriptionuploaderZuploader_idZuploader_urlZchannel
channel_idZchannel_urlZchannel_is_verifiedZchannel_follower_countcomment_countZ
view_count
like_count	age_limitduration	thumbnailZchapters
categoriestags	timestampZplayable_in_embedZavailabilityZlive_status
media_typer   zOhttps://n1info.si/novice/svet/v-srbiji-samo-ta-konec-tedna-vec-kot-200-pozarov/Z2182656u2   V Srbiji samo ta konec tedna več kot 200 požarovihZ20250727zFhttps://n1info.si/media/images/2025/7/1753611048_Pozar.width-1200.webp)r   r   r   r.   r#   r+   Zskip_download)r   r   paramsz\https://nova.rs/vesti/drustvo/ako-vucic-izgubi-izbore-ja-cu-da-crknem-jugoslavija-je-gotova/Z2wmfee9eycp71uD   "Ako Vučić izgubi izbore, ja ću da crknem, Jugoslavija je gotova"Z20210924g  @"LSAZYouLotWhatDontStopZpu9wbxZserbia   zhttps://external-preview.redd.it/5nmmawSeGx60miQM3Iq-ueC9oyCLTLjjqX-qqY8uRsc.png?format=pjpg&auto=webp&s=2f973400b04d23f871b608b178e47fc01f9b8f1d)r   r   r   r#   r.   r%   Z
display_idr&   r'   r(   Zdislike_countr)   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)Z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#   r.   r+   zdhttps://n1info.rs/vesti/cuta-biti-u-kosovskoj-mitrovici-znaci-da-te-docekaju-eksplozivnim-napravama/Z1332368uO   Ćuta: Biti u Kosovskoj Mitrovici znači da te dočekaju eksplozivnim napravamaZ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/Z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.jpgigZ20250302)r   r   r   r+   r.   r#   zmhttps://hr.n1info.com/vijesti/pravobraniteljica-o-ubojstvu-u-zagrebu-radi-se-o-doista-nezapamcenoj-situaciji/)r   Zonly_matchingc                 C   s  |  |}| ||}| |p(| |}t| jd|d dpF| d|}td|}g }|r| j	d|dd d}|d u r| 
d| jd|d	d
d}|D ]R}	| |	|d }||||| d|| jd| d| d| d|dd
d qnRtd|}
|
D ]@}t|}	|d|	d|	d|t|	dthtf|dd qtd|}|D ]}t|}	|	dphd}tj|j}|dkr|| j|dd  nH|d!kr|| j|d"d  n(|d#krNd$|v rN|| j|d%d  qNd&||||d'S )(NZpublished_time)defaultzarticle:published_timez*\$bp\("(?:Brid|TargetVideo)_\d+",\s(.+)\);z
site:(\d+)zsite idzpartners/(\d+)Z
contentUrlT)r   zsite IDr"   ZthumbnailURLz%https://cdn-uc.brid.tv/live/partners/z/streaming//z.m3u8F)r   r   r.   r+   r   z(?m)(<video[^>]+>)Zurl_transparentzdata-urlr   )zdata-thumbnailzdata-default_thumbnailZN1InfoAsset)_typer   r   r   r+   r.   Zie_keyz(<iframe[^>]+>)src zwww.youtube.comZYoutube)Ziezwww.redditmedia.comZRedditzwww.facebook.comzplugins/videoZFacebookPluginsVideoZplaylist)r4   r   r   r.   entries)r   Z_download_webpageZ_og_search_titleZ_html_extract_titler   Z_og_search_propertyZ_html_search_metarefindallZ_html_search_regexZ_search_regexZ_parse_jsonappendr   r   getr   r   anyurllibparseurlparsehostnameZ
url_result)r   r   r   Zwebpager   r.   Zplugin_datar7   Zsite_idZ
video_dataZvideosr"   Zembedded_videosZembedded_videor@   r   r   r   r      sp    






zN1InfoIIE._real_extractN)r   r   r   ZIE_NAMEr   intr   r   r   r   r   r   r    %   s   "		gr    )r8   urllib.parser=   commonr   utilsr   r   r   Zutils.traversalr   r	   r    r   r   r   r   <module>   s   