
    Şi                     n    d dl mZ ddlmZmZmZmZmZmZm	Z	m
Z
mZmZmZ ddlmZ  G d de          ZdS )   )InfoExtractor   )ExtractorErrorint_or_none
js_to_jsonparse_filesizeparse_qsparse_resolutionstr_or_noneupdate_url_queryurl_basenameurlencode_postdataurljoin)traverse_objc                   |    e Zd ZdZdZddddddd	d
ddddddddddddddd
dddddddddgZd Zd Zd ZdS ) 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                 @    |                      d|d|t                    S )Nzwindow\.__data__\s*=data)transform_source)_search_jsonr   )selfwebpagevideo_ids      ZC:\Users\betacode\Desktop\descargarYoutube\venv\Lib\site-packages\yt_dlp/extractor/zoom.py_get_page_datazZoomIE._get_page_data>   s.      #WfhQ[ ! ] ] 	]    c                 J   |                      ||d| d          }	 |                     d|          }n# t          $ r |cY S w xY w|                     d          }|st          dd          |                    d	          d
k    }|                     |d|rdndz  z   |ddt          ||rdnddz            ||                    d          d                    }	|	                    d          st          |	d         d          |                      ||d| d          S )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_webpagezZoomIE._get_real_webpageB   s   ((h=^H=^=^=^(__	++OWEEDD 	 	 	NNN	 >>/22 	i Xcgi i i iXX.//9<
((.Z2O''RPP+-=DVj<FFfDE"((8,,X X E E )  
 ~~h'' 	L N!;dKKKK%%c8:^H:^:^:^%___s   5 AAc                    |                      |                              ddd          \  }}}i }t          |dt          hddfi          }|dk    r|                     |||d          }|                     ||          d         }|                     | d| |d	
          d         d         }	t          t          ||	          |          }d|d<   |                     |||d          }|                     ||          d         }
|
st          d          |
                    |           |                     | d|
 ||d          d         }i }dD ]:}|                    | d          r t          ||| d                   ddg||<   ;g }|                    d          r|                    d|d         t          t          |d                    t          t          |d                    ddt          t          t          |d                              d d!           |                    d"          rY|                    d#|d"         t          t          |d$                    t          t          |d%                    dddd&           |                    d'          }|rP|                    i t!          |                     d(t%          |          d)d *                    d+|d,dd-d.           |t          t          |d/                    t          |                    d0                    ||d1|id2S )3NrB   typer   	startTime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]   )rh   r   )ra   r   rb   rc   rd   r   rf   viewMp4WithshareUrlz_(\d+x\d+)\.mp4
resolution)defaultzScreen share with cameraview_with_sharer   )ra   r   rd   r   rf   )r6   topicr    Referer)r   r   r    	subtitlesr!   http_headers)_match_valid_urlgroupr   r	   rH   r*   rA   r   r   r   updater@   appendr   r   r   r
   _search_regexr   )r&   r   rB   rC   r(   rU   start_paramsr'   
meeting_idredirect_pathfile_idr#   ro   _typer!   view_with_share_urls                   r)   _real_extractzZoomIE._real_extractY   s   '+'<'<S'A'A'G'G
TZ\`'a'a$(H#C+
KQS7T)UVVw,,S(HgNNG,,Wh??LJ //KKzKK< 0 > >>FHHUWM #78]#C#C\RRC$*E.!((h&II%%gx88B 	> !<===\""""">>W>>PU- # / //79 	4 	 	Exx5&& "8TU----@AA % % $	% 
 88L!! 
	NN.L)$\$8N%O%OPP%l49O&P&PQQ##1+l4Qn>o>o2p2p#q#q	 	 	 	 	 88M"" 		NN4M*$\$8O%P%PQQ%l49P&Q&QRR$      #hh'<== 		NN "4#5#5&5H(I(I<ae $6 $g $g h h  :*.       d4E!F!FGG#DHHZ$8$899"8	
 	
 		
r+   N)	__name__
__module____qualname__IE_NAME
_VALID_URL_TESTSr*   rH   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] ] ]` ` `.O
 O
 O
 O
 O
r+   r   N)commonr   utilsr   r   r   r   r	   r
   r   r   r   r   r   utils.traversalr   r   r   r+   r)   <module>r      s    ! ! ! ! ! !                          + * * * * *V
 V
 V
 V
 V
] V
 V
 V
 V
 V
r+   