
    VGh\                     N    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
y)    N   )InfoExtractor   )ExtractorErrorfloat_or_noneformat_fieldint_or_nonestr_or_nonetraverse_objc                       e Zd ZdZdddddddd	d
ddeeedddddddddddddddeeedddddddd dd!d"d#d$d%d&eeed'ddd(d)d*d+d)d*gZd, Zy-).	MedalTVIEzBhttps?://(?:www\.)?medal\.tv/games/[^/?#&]+/clips/(?P<id>[^/?#&]+)z3https://medal.tv/games/valorant/clips/jTBFnLKdLy15K 03e4911fdcf7fce563090705c2e79267jTBFnLKdLy15Kmp4zMornu's clutch Acieliqb2022050419335460zhttps://medal.tv/users/19335460   )idexttitledescriptionuploader	timestampupload_dateuploader_iduploader_urlcomment_count
view_count
like_countduration)urlmd5	info_dictz7https://medal.tv/games/cod-cold-war/clips/2mA60jWAGQCBH fc7a3e4552ae8993c1c4006db46be4472mA60jWAGQCBHz	Quad ColdzMedal,https://medal.tv/desktop/MowgliSBiR\_2020102010619174zRhttps://cdn.medal.tv/10619174/thumbnail-34934644-720p.jpg?t=1080p&c=202042&missingzhttps://medal.tv/users/10619174   )r   r   r   r   r   r   r   r   	thumbnailr   r   r    r!   r"   z7https://medal.tv/games/cod-cold-war/clips/2um24TWdty0NA b6dc76b78195fff0b4f8bf4a33ec21482um24TWdty0NAzu tk me i tk u biggerMimicci8_202011175156321zQhttps://cdn.medal.tv/5156321/thumbnail-36787208-360p.jpg?t=1080p&c=202046&missingzhttps://medal.tv/users/5156321	   z3https://medal.tv/games/valorant/clips/37rMeFpryCC-9T)r#   only_matchingz3https://medal.tv/games/valorant/clips/2WRj40tpY_EU9c                    | j                  |      }| j                  ||ddi      }| j                  d|d|dd      }t        |d	d
      }|st	        d|      |d   }t        |j                  d            }t        |j                  d            }|r|r||z  ndd-fd	}	g }
g }|j                         D ]  \  }}|rt        |t              st        j                  d|      }|s2|j                  d      }t        |j                  d            }|dk(  r |	|
||xs ||rd nd       w|dk(  s} |	|||d        |j                  d      }|
s3|r1|dk(  r| j                  dd|       n| j                  d| d |       t        |d!d
      xs i }t        |j                  d"            }t        |d d#      }|||
||j                  d$      |j                  d%      t!        |j                  d&      d'      ||t        |j                  d(            t        |j                  d)            t        |j                  d*            t        |j                  d+            d,S ).Nmobilebypasstrue)queryz%<script[^>]*>[^<]*\bhydrationData\s*=z	next dataz	</script>F)end_patternfatal)clips.)get_allz!Could not find video information.)video_idcontentTitlesourceWidthsourceHeightgqq?c                 l    |xs d|z  }||vry | j                  d|||dt        |z        d|i       y )Nz%dpr#   widthheight)appendround)	containeritem_urlrB   id_keyitem_idaspect_ratios        a/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/medaltv.pyadd_itemz)MedalTVIE._real_extract.<locals>.add_iteme   sM    /Gh&x|f45&	     z"(contentUrl|thumbnail)(?:(\d+)p)?$r   r   
contentUrlsource)rH   r,   r   errori  zThat clip does not exist.T)expectedr<   zAn unknown error occurred (z).)profiles.userIdzhttps://medal.tv/users/%scontentDescriptiondisplayNamecreatedi  videoLengthSecondsviewslikescomments)r   r   formats
thumbnailsr   r   r   r   r   r"   r    r!   r   )	format_idN)	_match_id_download_webpage_search_jsonr   r   r	   getitems
isinstancestrrematchgroupraise_no_formatsr
   r   r   )selfr#   r<   webpagehydration_dataclipr   source_widthsource_heightrK   rZ   r[   kvmobjprefixrB   rO   author	author_id
author_urlrI   s                        @rJ   _real_extractzMedalTVIE._real_extractP   s   >>#&((h~v>V(W**4g{% + I NNEJ 3hH H ^$"488M#:;#DHH^$<=7C|m3[a		 
JJL 	6DAq*Q,88A1EDZZ]F A/F%Q 7-$*D: ;&Q5	6 !5|%%/!H & 6 %%1%;% & ' n.?OUSU

8 45	!)T3NO
 $88$89

=1&txx	':DA$&#DHH-A$BC%dhhw&78%dhhw&78(*)=>
 	
rL   N)__name__
__module____qualname__
_VALID_URLint_TESTSru    rL   rJ   r   r      s    VJD1!%#%%= 
& I1! <"#%%m= 
( I1!,< #%$l< 
( E Ew>F@P
rL   r   )rd   commonr   utilsr   r   r   r	   r
   r   r   r|   rL   rJ   <module>r      s#    	 ! R
 R
rL   