
    V|h                     P    S SK Jr  SSKJrJrJr   " S S\5      r " S S\5      rg)	   )InfoExtractor   )int_or_noneunescapeHTMLunified_strdatec                   @    \ rS rSrSrSrSSSSSS	S
SSSS.S.rS rSrg)	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           	      l  ^
 U R                  U5      R                  5       u  p#U R                  SU S3U5      m
U
4S jnU" S5      nU R                  X5      nU R	                  U5      n[        U R                  SUSSS95      nU R                  S	US
SS9n	UUUU R                  U5      U" S5      UU	US.$ )Nzhttp://v1.ustudio.com/embed/z/ustudio/config.xmlc           
        > TR                  SU  35       Vs/ s Hf  oR                  S5      (       d  M  [        UR                  S   5      [	        UR                  S5      5      [	        UR                  S5      5      S.PMh     sn$ s  snf )Nz./qualities/quality/r   widthheight)r   r   r    )findallgetr   attribr   )kinditemconfigs     R/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/ustudio.pyextract(UstudioIE._real_extract.<locals>.extract"   s    
 !..+?v)FG	\ H$88TY?	#DKK$67$TXXg%67%dhhx&89 H	\ \ \s   BAB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_extractUstudioIE._real_extract   s    #44S9@@B##*8*4GH	\ '"((9%%g.%d&8&8@]% '9 '1 2 %%-Zu & .
 $66w?!'*& 	
 		
     N	__name__
__module____qualname____firstlineno__IE_NAME
_VALID_URL_TESTr9   __static_attributes__r<   r;   r'   r	   r	   	   s;    GgJW1 <8A1%%	
E#
r;   r	   c                   :    \ rS rSrSrSrSSSSSS	S
S.S.rS rSrg)UstudioEmbedIEA   z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                    U R                  U5      R                  5       u  p#U R                  SU SU S3U5      S   S   nUS   n/ nUR                  S0 5      R	                  5        H  u  pxU Ht  n	U	R                  S5      n
U
(       d  M  [        U	R                  S	5      5      nUR                  U(       a  U S
U S3OUU
[        U	R                  S5      5      US.5        Mv     M     / nUR                  S/ 5       H0  nUR                  S5      nU(       d  M  UR                  SU05        M2     UUUR                  S5      [        UR                  S5      5      UUR                  S5      UU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   rW   rL   tagsr-   r.   )r/   r0   _download_jsonr"   itemsr   append)r6   r   rL   r7   
video_datar   r.   r   	qualitiesqualityquality_urlr    r-   r,   	image_urls                  r'   r9   UstudioEmbedIE._real_extractP   s~    $ 5 5c : A A C((+K=(<P  !#
 6"(nn\2>DDFNC$%kk%0"$W[[%:;7=C5&!33&(W)=>$	   % G 
^^Hb1E		%(Iy 	 2 %>>-8#JNN:$>?&NN:.$	
 		
r;   r<   Nr=   r<   r;   r'   rG   rG   A   s2    G`JG1 :A)

E'
r;   rG   N)commonr   utilsr   r   r   r	   rG   r<   r;   r'   <module>re      s+    ! 5
 5
p6
] 6
r;   