Ë
    š„j�  ã                   ó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j¼t“HK@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Ú930103681233985536gþÔxé¦ª­@)r   r   r   r   r   r   zìhttps://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_matchingz�https://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=4hswgAz„https://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.comz†Session 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    úR/var/www/html/GAP/venv/lib/python3.12/site-packages/yt_dlp/extractor/sharepoint.pyú<lambda>z,SharePointIE._real_extract.<locals>.<lambda>n   s   € ÐZ[Ð^fÑZf€ ó    Ú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Ñ5°c¸:ÓF‰ˆ�Ü�<‰<× Ñ  §¡Ó*×3Ñ3Ð7RÒRØ×%Ñ%ð]Øeið &ô kð ×&Ñ&Ð'8¸'À?ÐT^Ó_ˆ
Ø˜mÑ,ˆä—\‘\×*Ñ*¨:°oÑ+FÓGˆ
ÜŸ™×0Ñ0°×1DÑ1DÜ—‘×%Ñ%¨¯©Ð(9¸Ð&;Ð=OÓPÜ—,‘,×(Ñ(ð *Ü—,‘,×'Ñ'¨
×(8Ñ(8Ó9ð*à" 7Ñ+Ø"Øò	*ð
 ð )ó ð 2Eó 2ó ˆð ×+Ñ+Ø˜H¨V¸HÀfÐ;MÐUZð ,ó \ˆà,ò 	FˆHØ�N‰N˜4×5Ñ5Ø ¨%¸Ø Ð*°%Àð 6ó Eõ Fð	Fô
 % Z°-Ä+ÀÐ1OÓPÐPˆ9ÐPØ�N‰NØ Ü$ Z§^¡^°KÓ%@Ò%ZÀJÇNÁNÐSYÓDZÓ[ØØ%Ü'¨
¯©°vÓ(>Ó?Ø$.§N¡N°9Ó$=ÀÑ$E™&È4ñô ð ØØ—^‘^ GÓ,ÒM°
·±¸}Ó0MØ$Ø%Ÿ>™>¨*Ó5Ü$ ZØ*¬T¯Z©Z¨L¸'À:ÑPfÐOgð2ió jä$ Z§^¡^°NÓ%CÓDñ	
ð 		
rG   N)Ú__name__Ú
__module__Ú__qualname__Ú_BASE_URL_REÚ
_VALID_URLÚ_TESTSrh   rC   rG   rE   r   r   	   sá   „ Ø7€Làˆ>ÐPÐQØˆ>ÐWÐXð€Jð
 QØ1à6ØJØØØØ3ØAñ
ñð DØ1à6ØJØØ)Ø Ø3ñ
ñð ~à6Ø[ØØØØ3ØAñ
ð )ñð mØñð _Øñð BØñð VØñðY/€Fób0
rG   r   )r]   Úurllib.parserJ   Úcommonr   Úutilsr   r   r   Úutils.traversalr	   r   rC   rG   rE   ú<module>rs      s%   ðÛ Û å !ß ;Ñ ;Ý *ôg
�=õ g
rG   