
    VGh4                     d    d dl Z ddlmZ ddlmZmZmZmZmZm	Z	  G d de      Z
 G d d	e      Zy)
    N   )InfoExtractor   )
clean_htmlint_or_noneparse_codecsparse_duration
str_to_intunified_timestampc                   0    e Zd ZdZdddddddd	d
gZd Zy)GabTVIEz;https?://tv\.gab\.com/channel/[^/]+/view/(?P<id>[a-z0-9-]+)zbhttps://tv.gab.com/channel/wurzelroot/view/why-was-america-in-afghanistan-61217eacea5665de450d048861217eacea5665de450d0488mp4zIWHY WAS AMERICA IN AFGHANISTAN - AMERICA FIRST AGAINST AMERICAN OLIGARCHY
Wurzelroot608fb0a85738fd1974984f7dz1https://tv.gab.com/image/61217eacea5665de450d0488)idexttitleuploaderuploader_id	thumbnail)url	info_dictc                    | j                  |      j                  d      d   }| j                  ||      }| j                  d|d      }| j                  d|d      }| j                  d|d      }| j                  d	|d
      }t	        | j                  | j                  d      |dd            xs d }t        j                  d| d|      }	g }
|	D ]o  }d| d| d| |dddd}d|v r)t        |j                  dd            |d<   d|d<   d|d<   nt        |j                  dd            |d<   |
j                  |       q |||
|||d| d S )!N-z(data-channel-id=\"(?P<channel_id>[^\"]+)
channel_idz*data-channel-name=\"(?P<channel_id>[^\"]+)channel_namez+data-episode-title=\"(?P<channel_id>[^\"]+)r   z&data-view-key=\"(?P<channel_id>[^\"]+)view_keydescriptioncontent)groupz<a\ data-episode-id=\"z,\"\ data-resolution=\"(?P<resolution>[^\"]+)zhttps://tv.gab.com/media/z	?viewKey=z&r=h264aacr   )r   	format_idvcodecacodecr   zaudio- abr   heightiqualitypzhttps://tv.gab.com/image/)r   r   formatsr    r   r   r   )	_match_idsplit_download_webpage_search_regexr   _html_search_regex_meta_regexrefindallr
   replaceappend)selfr   video_idwebpager   r   r   r   r    available_resolutionsr.   
resolutionfrmts                ]/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/gab.py_real_extractzGabTVIE._real_extract   s   >>#&,,S1"5((h7''(SU\^jk
))*WY`bpq""#QSZ\cd%%&OQXZde ##D$4$4]$CWmcl#mo wrv 	 "

%hZ/[\^e!g / 	!J28*IhZsS]R^_' D :%(););Hb)IJU!$X"%Y!+J,>,>sB,G!HXNN4 	!" &$%4XJ?
 	
    N__name__
__module____qualname__
_VALID_URL_TESTSr@    rA   r?   r   r      s2    OJs,`$5L

 
F%
rA   r   c                   P    e 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gZd Zy)GabIEz3https?://(?:www\.)?gab\.com/[^/]+/posts/(?P<id>\d+)z7https://gab.com/SomeBitchIKnow/posts/107163961867310434 8ca34fb00f1e1033b5c5988d79ec531dz107163961867310434-0r   zL on Gab946600SomeBitchIKnowz$md5:204055fafd5e1a519f5d6db953567ca3iwa20211025)r   r   r   r   r   r    	timestampupload_date)r   md5r   z7https://gab.com/TheLonelyProud/posts/107045884469287653 f9cefcfdff6418e392611a828d47839dz107045884469287653-0zJody Sadowski on Gab1390705i[a20211004TheLonelyProud)r   r   r   r   rO   rP   r   c                    | j                  |      }| j                  d| |      }g }t        |d         D ]  \  }}|j                  d      dvr|d   }t	        |j                  d            j                  d      t        |j                  d      xs d	j                  d
      d         |j                  d      d}|j                  d      |j                  d      xs i f|j                  d      |j                  d      xs i ffD 	cg c]H  \  }}	|rA||	j                  d      |	j                  d      t        |	j                  d      d      d|J }
}}	|j                  d      xs i }|j                  | d| |d   d    dt        |j                  d            |
t        |j                  d            |j                  d      xs t        |j                  d            |j                  d       |j                  d!      |j                  d"      |j                  d#      |j                  d$      |j                  d      d%       ! t        |      d&kD  r| j                  ||      S |d   S c c}	}w )'Nz https://gab.com/api/v1/statuses/media_attachmentstype)videogifvmetaaudio_encoder'   audio_bitrater(    r   fps)r'   asrr_   r   original
source_mp4playablewidthr+   bitratei  )scale)r   rd   r+   tbraccountr   display_namez on Gab
created_atr!   durationlengthfavourites_countreplies_countreblogs_countusernamer   )r   r   rO   r.   r    rk   
like_countcomment_countrepost_countr   r   uploader_urlr   )r/   _download_json	enumerategetr   r   r0   r8   r   r   r	   lenplaylist_result)r9   r   post_id	json_dataentriesidxmediametadataformat_metadatafr.   authors               r?   r@   zGabIE._real_extracta   sp   ..%''*J7)(TV]^	#I.A$BC !	JCyy (99V}H&x||N'CDHHR"HLL$A$GR#N#Ns#STU#VW||E*O $ii.Z0H0NBO#ii5x||J7O7USUVX` #q[^ w%%/"155#34@	
 " `G ` ]]9-3FNN 	3%(%i0@AI.y}}\/JK"))--	*BC$LL4^x||T\G]8^'mm,>?!*!? )o >"JJz2%zz$/ &

5 1 )!	F w<!''99qz9`s   AI>NrB   rH   rA   r?   rJ   rJ   D   sc    GJH1(#(A#%	
 I1(+$#%(
F6+rA   rJ   )r5   commonr   utilsr   r   r   r	   r
   r   r   rJ   rH   rA   r?   <module>r      s0    	 ! 3
m 3
lHM HrA   