
    V|h                     V    S SK Jr  SSKJrJrJrJrJrJrJ	r	J
r
JrJr   " S S\5      rg)   )InfoExtractor   )
ExtractorErrorint_or_none
js_to_jsonparse_filesizeparse_resolutionstr_or_nonetraverse_objurl_basenameurlencode_postdataurljoinc                       \ rS 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./rS rS rS r	S r
g!)"ZoomIE   zoomz_(?P<base_url>https?://(?:[^.]+\.)?zoom\.us/)rec(?:ording)?/(?P<type>play|share)/(?P<id>[\w.-]+)zhttps://economist.zoom.us/rec/play/dUk_CNBETmZ5VA2BwEl-jjakPpJ3M1pcfVYAPRsoIbEByGsLjUZtaa4yCATQuOL3der8BlTwxQePl_j0.EImBkXzTIaPvdZO5 ab445e8c911fddc4f9adc842c2c5d434zadUk_CNBETmZ5VA2BwEl-jjakPpJ3M1pcfVYAPRsoIbEByGsLjUZtaa4yCATQuOL3der8BlTwxQePl_j0.EImBkXzTIaPvdZO5mp4z1China's "two sessions" and the new five-year plan)idexttitlez1Recording requires email authentication to access)urlmd5	info_dictskipzhttps://ffgolf.zoom.us/rec/play/qhEhXbrxq1Zoucx8CMtHzq1Z_2YZRPVCqWK_K-2FkEGRsSLDeOX8Tu4P6jtjZcRry8QhIbvKZdtr4UNo.QcPn2debFskI9whJ 2c4b1c4e5213ebf9db293e88d9385beezaqhEhXbrxq1Zoucx8CMtHzq1Z_2YZRPVCqWK_K-2FkEGRsSLDeOX8Tu4P6jtjZcRry8QhIbvKZdtr4UNo.QcPn2debFskI9whJu1   Prépa AF2023 - Séance 5 du 11 avril - R20/VM/GO)r   r   r   zshttps://us02web.zoom.us/rec/share/hkUk5Zxcga0nkyNGhVCRfzkA2gX_mzgS3LpTxEEWJz9Y_QpIQ4mZFOUx7KZRZDQA.9LGQBdqmDAYgiZ_8 90fdc7cfcaee5d52d1c817fc03c43c9bzQhkUk5Zxcga0nkyNGhVCRfzkA2gX_mzgS3LpTxEEWJz9Y_QpIQ4mZFOUx7KZRZDQA.9LGQBdqmDAYgiZ_8z*Timea Andrea Lelik's Personal Meeting RoomzThis recording has expiredzyhttps://cityofdetroit.zoom.us/rec/share/VjE-5kW3xmgbEYqR5KzRgZ1OFZvtMtiXk5HyRJo5kK4m5PYE6RF4rF_oiiO_9qaM.UTAg1MI7JSnF3ZjX bdc7867a5934c151957fb81321b3c024zQVjE-5kW3xmgbEYqR5KzRgZ1OFZvtMtiXk5HyRJo5kK4m5PYE6RF4rF_oiiO_9qaM.UTAg1MI7JSnF3ZjXz3February 2022 Detroit Revenue Estimating Conferencei  z
mincount:3)r   r   r   durationformatsc                 0    U R                  SUSU[        S9$ )Nzwindow\.__data__\s*=data)transform_source)_search_jsonr   )selfwebpagevideo_ids      O/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/zoom.py_get_page_dataZoomIE._get_page_data<   s(      #WfhQ[ ! ] 	]    c                    U R                  XSU S3S9n U R                  SU5      nU R                  S5      nU(       d
  [        SSS9eUR	                  S	5      S
:H  nU R                  USU(       a  SOS-  -   USS[        Xh(       a  SOSS-      UUR	                  S5      S.5      S9n	U	R	                  S5      (       d  [        U	S   SS9eU R                  XSU S3S9$ ! [         a    Us $ f = f)NzDownloading z webpagenotepassword_formvideopasswordzFThis video is protected by a passcode, use the --video-password optionT)expecteduseWhichPasswdmeetingzrec/validate%s_passwd_meet zValidating passcodezWrong passcodemeetfileIdaction)r   passwdr9   )r"   statuserrorMessagezRe-downloading )_download_webpage_form_hidden_inputsr   	get_paramget_download_jsonr   )
r%   r   base_urlr'   url_typer&   formpassword
is_meeting
validations
             r(   _get_real_webpageZoomIE._get_real_webpage@   s,   ((|H:U]=^(_	++OWED >>/2 Xcgi iXX./9<
((.Z'RPP+-=DVjFfDE"((8,X E ) 
 ~~h'' N!;dKK%%cOH:U]:^%__#  	N	s   C! !C0/C0c                    U R                  U5      R                  SSS5      u  p#n0 nUS:X  aS  U R                  XUS5      nU R                  Xd5      S   nU R	                  U SU 3USS9S	   S
   n[        X(5      nSUS'   U R                  XUS5      nU R                  Xd5      S   n	U	(       d  [        S5      eU R	                  U SU	 3XESS9S	   n
0 nS H5  nU
R                  U S35      (       d  M  [        X*U S3   5      SS./X'   M7     / nU
R                  S5      (       a_  UR                  SU
S   [        [        U
S5      5      [        [        U
S5      5      SS[        [        [        U
S5      5      5      SS.5        U
R                  S 5      (       aB  UR                  S!U
S    [        [        U
S"5      5      [        [        U
S#5      5      SSS$S%.5        U
R                  S&5      nU(       a=  UR                  0 [        U R                  S'[        U5      S(S S)95      ES*US+SS,S-.E5        U[        [        U
S.5      5      [        U
R                  S/5      5      UUS0U0S1.$ )2NrB   typer   share	meetingIdz"nws/recording/1.0/play/share-info/zDownloading share info JSONr-   resultredirectUrltruecontinueModeplayfileIdzUnable to extract file IDznws/recording/1.0/play/info/zDownloading play info JSON)queryr.   )
transcriptccchapterUrlvtt)r   r   
viewMp4UrlzCamera stream)viewResolvtions    )r[   r   viewr   )	recordingfileSizeInMBr\   )format_noter   widthheight	format_idr   filesize_approx
preferenceshareMp4UrlzScreen share stream)shareResolvtionsr\   )rg   r   )r`   r   ra   rb   rc   r   re   viewMp4WithshareUrlz_(\d+x\d+)\.mp4
resolution)defaultzScreen share with cameraview_with_sharer   )r`   r   rc   r   re   )r6   topicr   Referer)r   r   r   	subtitlesr    http_headers)_match_valid_urlgrouprH   r)   rA   r   r   r@   appendr   r   r   r
   r	   _search_regexr   )r%   r   rB   rC   r'   rT   r&   
meeting_idredirect_pathfile_idr"   ro   _typer    view_with_share_urls                  r(   _real_extractZoomIE._real_extractW   s   '+'<'<S'A'G'G
TZ\`'a$Hw,,SHgNG,,W?LJ //*>zlK< 0 >>FHHUWM (2C$*E.!((&I%%g8B !<==""j4WI>- # //79 	4Exx5'&&"8UG3--@A % $	  5 88L!!NN.L)$\$8N%OP%l49O&PQ##1+l4Qn>o2p#q	 	 88M""NN4M*$\$8O%PQ%l49P&QR$   #hh'<=NN "4#5#5&5H(I<ae $6 $g h  :*.   d4E!FG#DHHZ$89"8	
 		
r+    N)__name__
__module____qualname____firstlineno__IE_NAME
_VALID_URL_TESTSr)   rH   rz   __static_attributes__r|   r+   r(   r   r      s    GsJ V1uI

 D	 S1uH
		 E1eB

 -
 K1eJ#
	9'FR]`.M
r+   r   N)commonr   utilsr   r   r   r   r	   r
   r   r   r   r   r   r|   r+   r(   <module>r      s%    !  T
] T
r+   