
    VGh                     V    d dl Z d dlZddlmZ ddlmZmZmZ ddl	m
Z
  G d de      Zy)	    N   )InfoExtractor   )determine_extint_or_noneurl_or_none)traverse_objc                       e Zd ZdZe de dg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ddddddddddddgZd  Zy!)"SharePointIEz!https?://[\w-]+\.sharepoint\.com/z5:v:/[a-z]/(?:[^/?#]+/)*(?P<id>[^/?#]{46})/?(?:$|[?#])z>(?!:v:)(?:[^/?#]+/)*stream\.aspx\?(?:[^#]+&)?id=(?P<id>[^&#]+)zhttps://lut-my.sharepoint.com/:v:/g/personal/juha_eerola_student_lab_fi/EUrAmrktb4ZMhUcY9J2PqMEBD_9x_l0DyYWVgAvp-TTOMw?e=ZpQOOw 2950821d0d4937a0a76373782093b435"01EQRS7EKKYCNLSLLPQZGIKRYY6SOY7KGBz.EUrAmrktb4ZMhUcY9J2PqMEBD_9x_l0DyYWVgAvp-TTOMwmp4CmvpJSTgjtHK@zre:https://.+/thumbnailz$8dcec565-a956-4b91-95e5-bacfb8bc015f)id
display_idexttitleduration	thumbnailuploader_id)urlmd5	info_dictzrhttps://greaternyace.sharepoint.com/:v:/s/acementornydrive/ETski5eAfNVEoPRZUAyy1wEBpLgVFYWso5bjbZjfBLlPUg?e=PQUfVb c496a01644223273bff12e93e501afd1"01QI4AVTZ3ESFZPAD42VCKB5CZKAGLFVYB.ETski5eAfNVEoPRZUAyy1wEBpLgVFYWso5bjbZjfBLlPUg930103681233985536gx馪@)r   r   r   r   r   r   zhttps://lut-my.sharepoint.com/personal/juha_eerola_student_lab_fi/_layouts/15/stream.aspx?id=%2Fpersonal%2Fjuha_eerola_student_lab_fi%2FDocuments%2FM-DL%2FCmvpJST.mp4&ga=1&referrer=StreamWebApp.Web&referrerScenario=AddressBarCopied.viewz?/personal/juha_eerola_student_lab_fi/Documents/M-DL/CmvpJST.mp4zSession cookies needed)r   r   skipz[https://izoobasisschool.sharepoint.com/:v:/g/Eaqleq8COVBIvIPvod0U27oBypC6aWOkk8ptuDpmJ6arHwT)r   only_matchingzhttps://uskudaredutr-my.sharepoint.com/:v:/g/personal/songul_turkaydin_uskudar_edu_tr/EbTf-VRUIbtGuIN73tx1MuwBCHBOmNcWNqSLw61Fd2_o0g?e=n5Vkofzphttps://epam-my.sharepoint.com/:v:/p/dzmitry_tamashevich/Ec4ZOs-rATZHjFYZWVxjczEB649FCoYFKDV_x3RxZiWAGA?e=4hswgAzhttps://microsoft.sharepoint.com/:v:/t/MicrosoftSPARKRecordings-MSFTInternal/EWCyeqByVWBAt8wDvNZdV-UB0BvU5YVbKm0UHgdrUlI6dg?e=QbPck6c                 h   t         j                  j                  | j                  |            }| j	                  ||      \  }}t         j                  j                  |j                        j                  dk(  r| j                  dd        | j                  d|d|      }|d   }t         j                  j                  |d         }t         j                  j                  |j                  t         j                  j                  |j                   dd	      t         j                  j                  i t         j                  j                  |j                         |d
   dddd                  }| j#                  ||dddid      }	dD ]+  }
|	j%                  | j'                  ||d|
d|
idd             - t)        |dt*        hf      x}rp|	j-                  |t/        |j1                  d      xs |j1                  d            ddt3        |j1                  d            |j1                  d      du rd nd d!       ||	|j1                  d"      xs |j1                  d#      ||j1                  d$      t)        |d%t4        j6                  hd&d'd( hf      t+        |j1                  d)            d*S )+Nzlogin.microsoftonline.comzSession cookies are required for this URL and can be passed with the --cookies option. The --cookies-from-browser option will not work)methodzg_fileInfo\s*=zplayer configVroomItemIdz.transformUrl/z../videomanifestz.ctagAccessindex)cTagactionpartT)doseq)pathquerydashformatF)mpd_idr+   fatal)hlsz	hls-vnextr   )m3u8_idr+   r/   qualitydownloadUrl	extensionnamer   sourcesizeisAudionone)r   r   r3   	format_idfilesizevcodecr   displayNameauthorIdMediaServiceFastMetadatamediar   c                     | dz  S )Ni  )xs    d/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/sharepoint.py<lambda>z,SharePointIE._real_extract.<locals>.<lambda>n   s    Z[^fZf     thumbnailUrl)r   formatsr   r   r   r   r   )urllibparseunquote	_match_id_download_webpage_handleurlparser   hostnameraise_login_required_search_json
urlunparse_replaceurljoinr*   	urlencodeparse_qsr+   _extract_mpd_formatsextend_extract_m3u8_formatsr	   r   appendr   getr   jsonloads)selfr   r   webpageurlh
video_datavideo_id
parsed_urlbase_media_urlrI   hls_type	video_urls               rE   _real_extractzSharePointIE._real_extract@   s   \\))$..*=>
55c:F<<  *337RR%%]ei & k &&'8'?T^_
m,\\**:o+FG
001D1D%%(9&;=OP,,(( *,,''
(8(89*"7+"	*
  )  2E 2  ++HVHf;MUZ , \, 	FHNN455%*% 6 E F	F
 %Z-+1OPP9PNN $Z^^K%@%ZJNNSYDZ[%'
v(>?$.NN9$=$E&4  ^^G,M
}0M$%>>*5$Z*TZZL':PfOg2i j$Z^^N%CD	
 		
rG   N)__name__
__module____qualname___BASE_URL_RE
_VALID_URL_TESTSrh   rC   rG   rE   r   r   	   s    7L>PQ>WXJ
 Q16J3A
 D16J) 3
 ~6[3A
 ) m _ B VY/Fb0
rG   r   )r]   urllib.parserJ   commonr   utilsr   r   r   utils.traversalr	   r   rC   rG   rE   <module>rs      s%      ! ; ; *g
= g
rG   