
    VGh                     J    d dl mZ ddlmZmZmZmZ ddlmZ  G d de      Z	y)   )InfoExtractor   )ExtractorErrorextract_attributesget_elements_html_by_classurl_or_none)traverse_objc            
       x    e Zd ZdZdZdZd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idgZdZd Z	d Z
y)GBNewsIEz(GB News clips, features and live streamsz=https?://(?:www\.)?gbnews\.(?:uk|com)/(?:\w+/)?(?P<id>[^#?]+)safariz+https://mm-v2.simplestream.com/ssmp/api.phpzPhttps://www.gbnews.com/news/bbc-claudine-gay-harvard-university-antisemitism-row52264136mp4z3re:https?://www\.gbnews\.\w+/.+\.(?:jpe?g|png|webp)z4bbc-claudine-gay-harvard-university-antisemitism-rowz>The post was criticised by former employers of the broadcasterzNBBC deletes post after furious backlash over headline downplaying antisemitism)idext	thumbnail
display_iddescriptiontitle)url	info_dictzWhttps://www.gbnews.com/royal/prince-harry-in-love-with-kate-meghan-markle-jealous-royal52328390z:prince-harry-in-love-with-kate-meghan-markle-jealous-royalzWIngrid Seward has published 17 books documenting the highs and lows of the Royal FamilyzORoyal author claims Prince Harry was 'in love' with Kate - Meghan was 'jealous'zhttps://www.gbnews.uk/watchlive1069	watchliveis_livezre:^GB News Live)r   r   r   r   live_statusr   skip_downloadm3u8)r   r   paramsNc                 &   | j                   si | _         |sd}|sd}||f}| j                   j                  |      }|r|S | j                  | j                  d d||d      }t	        |ddt
        hf      }|st        d      || j                   |<   |S )	NGB003
productionz&Downloading Simplestream JSON metadata)r   envqueryresponseapi_hostnamezNo API host found)_SS_ENDPOINTSget_download_json	_SSMP_URLr	   r   r   )selfdata_iddata_envkeyresult	json_datameta_urls          `/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/gbnews.py_get_ss_endpointzGBNewsIE._get_ss_endpoint3   s    !!!#DG#Hx##'',M''NND"JS ( 	
  	J+VW !455"*3    c                    | j                  |      j                  d      d   }| j                  ||      }d }t        d|      }|D ]'  }t	        |      }d|j                  d      xs dvs&|}) |st        dd	      | j                  |j                  d
      |j                  d            }|d   }	|j                  d      }
|
r|
dk(  rd}
| j                  | d|
 d|	 |	d|j                  d      | j                  d      }t        |d      r| j                  |	       |	|| j                  |d       | j                  |d       | j                  t        |ddt        hf      |	d      | j!                  |d       |
dk(  dS )N/r   simplestreamsidebarclass zCould not find video elementT)expectedzdata-idzdata-envz	data-uvidz	data-typevodshowz/api/z/stream/zDownloading stream JSONzdata-key)r.   platformr#   drm)defaultr%   streamr   live)r   r   r   r   formatsr   r   )	_match_id
rpartition_download_webpager   r   r(   r   r3   r)   	_PLATFORMr	   
report_drm_og_search_title_og_search_description_extract_m3u8_formatsr   _og_search_thumbnail)r+   r   r   webpage
video_dataelementshtml_tag
attributesendpoint_urluvid
video_typestream_datas               r2   _real_extractzGBNewsIE._real_extractL   s   ^^C(33C8;
((j9
-ngF  	(H+H5J!8!>B?'
	(  !?$OO,,Z^^I-F
WaHbc+&^^K0
Z50J))nE*XdV<+!~~j1 NN4 *  U+OOD! $**7D*A66w6M11,{H{mM5 367;UD227D2I!V+	
 		
r4   )__name__
__module____qualname__IE_DESC
_VALID_URLrG   r*   _TESTSr'   r3   rV    r4   r2   r   r      s    8GQJI=IaOP[e

 iOVtj

 1O%$(
 #F+)F@ M2%
r4   r   N)
commonr   utilsr   r   r   r   utils.traversalr	   r   r]   r4   r2   <module>ra      s%    !  +f
} f
r4   