
    VGh                     P    d dl mZ ddlmZmZmZ  G d de      Z G d de      Zy)	   )InfoExtractor   )int_or_noneunescapeHTMLunified_strdatec                   8    e Zd ZdZdZddddddd	d
ddddZd Zy)	UstudioIEustudiozShttps?://(?:(?:www|v1)\.)?ustudio\.com/video/(?P<id>[^/]+)/(?P<display_id>[^/?#&]+)zFhttp://ustudio.com/video/Uxu2my9bgSph/san_francisco_golden_gate_bridge 58bbfca62125378742df01fc2abbdef6Uxu2my9bgSph san_francisco_golden_gate_bridgemp4z!San Francisco: Golden Gate Bridgez$md5:23925500697f2c6d4830e387ba51a9bezre:^https?://.*\.jpg$20111107zTony Farley)id
display_idexttitledescription	thumbnailupload_dateuploaderurlmd5	info_dictc           	      z  
 | j                  |      j                         \  }}| j                  d| d|      

fd} |d      }| j                  ||      }| j	                  |      }t        | j                  d|dd            }| j                  d	|d
d      }	|||| j                  |       |d      ||	|dS )Nzhttp://v1.ustudio.com/embed/z/ustudio/config.xmlc           
         j                  d|        D cg c]_  }|j                  d      rLt        |j                  d         t	        |j                  d            t	        |j                  d            da c}S c c}w )Nz./qualities/quality/r   widthheight)r   r   r   )findallgetr   attribr   )kinditemconfigs     a/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/ustudio.pyextractz(UstudioIE._real_extract.<locals>.extract"   s|    
 !..+?v)FG	\ 488TY? $DKK$67$TXXg%67%dhhx&89 \ \ \s   A$A?videoz1(?s)Uploaded by\s*.+?\s*on\s*<span>([^<]+)</span>zupload dateF)fatalzUploaded by\s*<a[^>]*>([^<]+)<r   image)r   r   r   r   
thumbnailsr   r   formats)_match_valid_urlgroups_download_xml_download_webpage_og_search_titler   _search_regex_og_search_description)selfr   video_idr   r'   r,   webpager   r   r   r%   s             @r&   _real_extractzUstudioIE._real_extract   s    #44S9@@B*##*8*4GH	\ '"((j9%%g.%d&8&8@]% '9 '1 2 %%-Zu & .
 $66w?!'*& 	
 		
    N__name__
__module____qualname__IE_NAME
_VALID_URL_TESTr7    r8   r&   r	   r	   	   s;    GgJW1 <8A1%%	
E#
r8   r	   c                   2    e Zd ZdZdZddddddd	d
dZd Zy)UstudioEmbedIEzustudio:embedzLhttps?://(?:(?:app|embed)\.)?ustudio\.com/embed/(?P<uid>[^/]+)/(?P<id>[^/]+)z6http://app.ustudio.com/embed/DeN7VdYRDKhP/Uw7G1kMCe65T 47c0be52a09b23a7f40de9469cec58f4Uw7G1kMCe65Tr   z#5 Things IT Should Know About Videoz$md5:93d32650884b500115e158c5677d25adDeN7VdYRDKhP)r   r   r   r   uploader_idr   c                    | j                  |      j                         \  }}| j                  d| d| d|      d   d   }|d   }g }|j                  di       j	                         D ]r  \  }}|D ]h  }	|	j                  d      }
|
st        |	j                  d	            }|j                  |r| d
| dn||
t        |	j                  d            |d       j t g }|j                  dg       D ])  }|j                  d      }|s|j                  d|i       + |||j                  d      t        |j                  d            ||j                  d      ||dS )Nzhttp://app.ustudio.com/embed//z/config.jsonvideos    name
transcodesr   r   -pr   )	format_idr   r   r   imagesr   durationkeywords)r   r   r   rQ   rF   tagsr+   r,   )r-   r.   _download_jsonr!   itemsr   append)r4   r   rF   r5   
video_datar   r,   r   	qualitiesqualityquality_urlr   r+   r*   	image_urls                  r&   r7   zUstudioEmbedIE._real_extractP   s    $ 5 5c : A A CX((+K=(<P  !#
 6"(nn\2>DDF 	NC$ 
%kk%0"$W[[%:;7=C5&!33&(W)=>$	  
	 
^^Hb1 	E		%(Iy 		 %>>-8#JNN:$>?&NN:.$	
 		
r8   Nr9   r@   r8   r&   rB   rB   A   s2    G`JG1 :A)

E'
r8   rB   N)commonr   utilsr   r   r   r	   rB   r@   r8   r&   <module>r^      s+    ! 5
 5
p6
] 6
r8   