
    V|h                     F    S SK Jr  SSKJrJrJrJrJrJr   " S S\5      r	g)   )InfoExtractor   )int_or_none
remove_endstr_or_nonetry_getunified_timestampurl_or_nonec                   v    \ rS rSrSrSSSSSSS	S
SS.S.SSSSSSSSSSS.	S.SSSSSSSSSSSS .
S./rS! rS"rg#)$GoProIE   z2https?://(www\.)?gopro\.com/v/(?P<id>[A-Za-z0-9]+)z!https://gopro.com/v/ZNVvED8QDzR5VZNVvED8QDzR5VzMy GoPro Adventure - 9/19/21zre:https?://.+mp4itGa20210919fireydive30018i )idtitle	thumbnailext	timestampupload_dateuploader_idduration)url	info_dictz!https://gopro.com/v/KRm6Vgp2peg4eKRm6Vgp2peg4eu/   じゃがいも カリカリ オーブン焼きif_20201206z$dc9bcb8b-47d2-47c6-afbc-4c48f9a3769ei  zThe Sky Machine)	r   r   r   r   r   r   r   r   trackz!https://gopro.com/v/kVrK9wlJvBMwnkVrK9wlJvBMwnDARKNESSi7P_20200708u   闇夜乃皇帝i zBattery (Live)	Metallica)
r   r   r   r   r   r   r   r   r   artistc                    U R                  U5      nU R                  X5      nU R                  SUSU5      nUS   S   nU R                  SR	                  US   5      U5      n/ n[        US 5      =(       d    /  H  n[        UR                  S5      5      n	U	(       d  M&  UR                  U	[        UR                  S	5      5      [        UR                  S
5      5      [        UR                  S5      5      [        UR                  S5      5      [        UR                  S5      5      S.5        M     [        [        US 5      =(       d7    U R                  SS/U5      =(       d    [        U R                  SUSSS9S5      5      n
U
(       a  U
R                  SS5      n
UU
U[        U R                  SS/U5      5      [        [        US 5      5      [        [        US 5      5      [        UR                  S5      5      [        UR                  S5      5      =(       d    S [        UR                  S5      5      =(       d    S S .	$ )!Nzwindow\.__reflectData\s*=metadatacollectionMedia    z'https://api.gopro.com/media/{}/downloadr   c                     U S   S   $ )N	_embedded
variations xs    P/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/gopro.py<lambda>'GoProIE._real_extract.<locals>.<lambda>D   s    ;1M    r   qualitylabeltypewidthheight)r   	format_idformat_noter   r5   r6   c                     U S   S   $ )N
collectionr   r+   r,   s    r.   r/   r0   R   s    ,(@r1   zog:titleztwitter:titlez<title[^>]*>([^<]+)</title>r   F)fatalz | GoPro
 zog:imageztwitter:imagec                     U S   S   $ )Nr:   
created_atr+   r,   s    r.   r/   r0   `   s    AlOL,Ir1   c                     U S   S   $ )Naccountnicknamer+   r,   s    r.   r/   r0   b   s    AiL,Dr1   source_durationmusic_track_artistmusic_track_name)	r   r   formatsr   r   r   r   r#   r   )	_match_id_download_webpage_search_json_download_jsonformatr   r
   getappendr   r   _html_search_metar   _html_search_regexreplacer	   )selfr   video_idwebpager%   
video_info
media_datarF   fmt
format_urlr   s              r.   _real_extractGoProIE._real_extract8   s6   >>#&((7$$(':xI /03
((5<<Z=MNPXZ
 :'MNTRTTC$SWWU^4JNN!();<*3777+;<"3776?3$SWWW%56%cggh&78 	 U H@A \%%z?&CWM\$11. 2 OPZ\]
 MM$,E $&&
O'DgNP*"IJL&"DEG#013!346 >9= 124 <7;
 	
r1   r+   N)__name__
__module____qualname____firstlineno__
_VALID_URL_TESTSrX   __static_attributes__r+   r1   r.   r   r      s    FJ 3!3*#%+	
 3!F*#%A&

 3!*#%,%!
3'FR1
r1   r   N)
commonr   utilsr   r   r   r   r	   r
   r   r+   r1   r.   <module>rc      s     ! ]
m ]
r1   