
    Ği2R                     r    d dl Z d dlZd dlZ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  G d de          ZdS )    N   )InfoExtractor   )	ExtractorErrorint_or_noneparse_qssmuggle_urltraverse_objunified_timestampupdate_url_queryurl_or_none
xpath_textc                      e Zd ZdZdddddddd	d
dd	ddidddddddddddd	ddidddddddddddd 	ddidd!d"d#dd$dd%d&d'd(d)d*	ddid+d,d-dd.dd/d0dd1d2d3	ddidd4d5dd6dd1d7dd8d9d3	ddidd:d;dd<dd=d>dd?d@d3	ddiddAdBddCddDdEdd/dFd3	ddiddGdHddIdJddKddLdMdN	ddiddOdPdQdRdSdTdUddRdVddWddXdYdN	idTdZdd[dPdVdd\idTd]dd^d_dVdd\igddid`dadbdcdddSdTdeddddfddgddgdhdN	idTdiddjdPdfdd\igddid`dkdlddmdndodpdqdrdsddiddtduddvdwdddxdKdFd	ddiddydzd{d|dzd{d}dzd{gZd~d-dd.dd/d0dd1d2d3	ddidgZed             Zd Zd Z	ddZ
d ZdS )SlidesLiveIEzDhttps?://slideslive\.com/(?:embed/(?:presentation/)?)?(?P<id>[0-9]+)z0https://slideslive.com/38902413/gcc-ia16-backend38902413mp4zGCC IA16 backendi\E2e20231020zre:^https?://.*\.jpgzcount:42zcount:41if  )	idexttitle	timestampupload_date	thumbnail
thumbnailschaptersdurationskip_downloadm3u8)url	info_dictparamszhttps://slideslive.com/3893578538935785zGOffline Reinforcement Learning: From Algorithms to Practical Challengesiz2ezre:^https?://.*\.(?:jpg|png)z	count:640z	count:639ih&  )	r   r   r   r   r   r   r   r   r   z^https://slideslive.com/38973182/how-should-a-machine-learning-researcher-think-about-ai-ethics38973182z?How Should a Machine Learning Researcher Think About AI Ethics?i92ezcount:3zcount:2i  )	r   r   r   r   r   r   r   r   r   z`https://slideslive.com/38897546/special-metaprednaska-petra-ludwiga-hodnoty-pro-lepsi-spolecnost 8a79b5e3d700837f40bd2afca3c8fa0138897546uK   SPECIÁL: Meta-přednáška Petra Ludwiga - Hodnoty pro lepší společnost20231029ie>ez	count:169z	count:168i  )	r   r   r   r   r   r   r   r   r   )r   md5r    r!   z2https://slideslive.com/embed/presentation/3892585038925850z=Towards a Deep Network Architecture for Structured Smoothnesszcount:8iek2ezcount:7iF  )	r   r   r   r   r   r   r   r   r   z https://slideslive.com/38979920/38979920z&MoReL: Multi-omics Relational Learningi2ezcount:6   zhttps://slideslive.com/3895407438954074z.Decentralized Attribution of Generative Modelszcount:16iu2ezcount:15i2  z https://slideslive.com/38979570/38979570z?Efficient Active Search for Combinatorial Optimization Problemszcount:9i2ei'  zfhttps://slideslive.com/embed/presentation/38979880?embed_parent_url=https%3A%2F%2Fedit.videoken.com%2F38979880z+The Representation Power of Neural Networksi2ezcount:22zcount:21i&  )	r   r   r   r   r   r   r   r   r   zihttps://slideslive.com/embed/presentation/38979682?embed_container_origin=https%3A%2F%2Fedit.videoken.com   z38979682-playlistz2LoRA: Low-Rank Adaptation of Large Language Models)r   r   r    38979682i/2ezcount:30zcount:31i  z38979682-021z>LoRA: Low-Rank Adaptation of Large Language Models - Slide 021)r   r   r   r   r   r   z38979682-024z>LoRA: Low-Rank Adaptation of Large Language Models - Slide 024   )r   playlist_countr    playlistr!   z https://slideslive.com/38979481/r   z38979481-playlistz:How to Train Your MAML to Excel in Few-Shot Classification38979481i̿2ezcount:43i;  z38979481-013zFHow to Train Your MAML to Excel in Few-Shot Classification - Slide 013z&https://slideslive.com/embed/38932460/38932460z;Active Learning for Hierarchical Multi-Label Classificationi  zre:https?://.+/.+\.(?:jpg|png)zcount:20i/e20240219)r   r   r   r   r   r   r   r   zhttps://slideslive.com/3898399438983994z'Zero-Shot AutoML with Pretrained Modelsi2ezcount:23zUhttps://slideslive.com/38903721/magic-a-scientific-resurrection-of-an-esoteric-legendT)r   only_matchingz>https://slideslive.com/38922070/learning-transferable-skills-1zZhttps://slideslive.com/38921896/retrospectives-a-venue-for-selfreflection-in-ml-research-3z3https://iclr.cc/virtual_2020/poster_Hklr204Fvr.htmlc              #      K   t          j        d|          D ]J}t          j                            |          }|j         d|j         }t          d| ||d          V  Kd S )NzF(?s)new\s+SlidesLiveEmbed\s*\([^)]+\bpresentationId:\s*["\'](\d+)["\']z://*https://slideslive.com/embed/presentation/embed_parent_urlembed_container_origin)refindallurllibparseurlparseschemenetlocr   )clsr   webpageembed_id
url_parsedorigins         `C:\Users\betacode\Desktop\descargarYoutube\venv\Lib\site-packages\yt_dlp/extractor/slideslive.py_extract_embed_urlsz SlidesLiveIE._extract_embed_urls<  s       
#lnuvv 	 	H..s33J")AAj.?AAF"GXGG(+.4J J     	 	    c                 \    |                      d| ||t          |ddd                    S )Nr9   RefererOriginr:   )headersquery)_download_webpage_handler
   )selfvideo_idrO   s      rI   _download_embed_webpage_handlez+SlidesLiveIE._download_embed_webpage_handleH  sM    ,,CCCX<$-*2: : $ $ -   	rK   c                 R   i }ddddddddd	d
d
}|                                 D ]V}|                    d          s|                    d          \  }}}|                    |dd                    }|sQ|||<   WdD ])}||v r#|                     ||         d d          pg ||<   *|S )Nr   r   r   playlist_typeservice_name
service_idvideo_servers	subtitlesslides_json_urlslides_xml_url)
zPRESENTATION-TITLEzPRESENTATION-UPDATED-ATzPRESENTATION-THUMBNAILzPLAYLIST-TYPEzVOD-VIDEO-SERVICE-NAMEzVOD-VIDEO-IDzVOD-VIDEO-SERVERSzVOD-SUBTITLESzVOD-SLIDES-JSON-URLzVOD-SLIDES-XML-URLz#EXT-SL-:   )rY   rZ   F)fatal)
splitlines
startswith	partitionget_parse_json)	rR   	m3u8_data	m3u8_dictlookuplinetag_valuekeys	            rI   _extract_custom_m3u8_infoz&SlidesLiveIE._extract_custom_m3u8_infoP  s    	 #*'2&1,&4(!0(#4"2
 
 ((** 	# 	#D??:..  NN3//MCE**SW%%C "IcNN 2 	[ 	[Ci!%!1!1)C.$e!1!T!T!ZXZ	#rK   Fc                    g d }}|                      d| d| d|dddd          }|r;|s$|                     |d	         d
         |d          }|                    |           |                     d| d| d|dd          }|r8|s!|s|                     d| d| d|d          }|                    |           ||fS )Nhttps:///z/master.m3u8r   hlsFT)m3u8_idr_   liver   r   z%Extracting duration from HLS manifest)notez/master.mpddash)mpd_idr_   z&Extracting duration from DASH manifest)_extract_m3u8_formats_extract_m3u8_vod_durationextend_extract_mpd_formats_extract_mpd_vod_duration)	rR   cdn_hostnamepathrS   skip_durationformatsr   hls_formatsdash_formatss	            rI   _extract_formats_and_durationz*SlidesLiveIE._extract_formats_and_durationp  sB   008|88d888eU%d 1 D D  	(  c::N5)8:a ; c cNN;'''007|77d777&X] 1 _ _ 	) CM C99?|??d???A : C C NN<(((  rK   c                 R
                           |                               t          t          |          ddd                    \  }}|j        }d|v rVt          t          |          dd          }|st          d	d
                               d| dd| d          \  }}                     d|d                               d ddi          }                     |          }|d         	                                }	|	dv sJ |d         }
d}i g c}|
                    d          r                     |d         ddd          pi d}t          d          }|rd}d| d}t          t          d t          !          d"          D ]^\  }}|                    |t          |d#          t          |d$|%          t          |
                    d&          d'(          f           _s|
                    d)          r                     |d)         dd*d+          t#          t$          j        j        j                  rnd,}t                              d-                    D ]I\  }}|                    |t/          |d.d/          dt          t/          |d0d&                    f           Jg g }}t1          |
                    d1                    r|                    d2|d1         d3           |D ]E\  }}}}|r |                    |d4|||fz  d3           |                    d5|d4|d6           Fi }t          |d7t          !          D ]h}t1          |
                    d8                    }|s'|                    |
                    d9          pd:g                               |d;d<           i|
                    d=          p                     d=|d>%          t7          |
                    d?                    |
                    d@          dAk    |||dB|	dCk    r|
dC<   n|	dDk    r?                     |dE         dF         |
          \  }}                    ||dG           nJ                    dH|
|	                                dI           |	dJk    rt?          dK|
 dL|i          dC<   t          dM            sS   fdN}                       |             dOd=                   S )PN)r;   )r<   r   )rM   rN   )rO   domain_not_allowed)zallowed_domains[].Fget_allz9This is an embed-only presentation. Try passing --refererT)expectedro   rp   zdata-player-token="([^"]+)"zplayer tokenhttps://slideslive.com/player/zDownloading player infoplayer_token)rt   rP   rW   )r   yodavimeoyoutuberX   z5https://slides.slideslive.com/%s/slides/original/%s%sr[   zDownloading slides JSON)r_   rt   errnotez.png)slide_qualitiesr   z.jpgz8https://cdn.slideslive.com/data/presentations/%s/slides/z/%s%sslides.)expected_typer   )imagename)r   extname)defaulttime  scaler\   zDownloading slides XMLzFailed to download slides infoz@https://cdn.slideslive.com/data/presentations/%s/slides/big/%s%sz./slidez./slideNamer   z	./timeSecr   cover)r   r   03dzSlide )r   
start_time)rZ   .
webvtt_urllanguageenvtt)r   r   r    r   rV   vod)r   r   r   is_liver   r   rZ   r   r   rY   r   )r   r   url_transparent)_typer   ie_key
display_idr   zhttps://player.vimeo.com/video/referer)r   .videor   c            
   3     K   V  	                     d ddd                              ddd          pi } t          t          
d	          d
          D ]\  }}t          |d          dk    rt          |d          }t          | |ddfd          }|r|sD	                    ||d          \  }}|sc d|dd          d|dd         t          t          |d          d          |dV  d S )Nr   z/slides_video_service_dataF,)r   videoszDownloading video slides infoz$Failed to download video slides info)r_   rP   rt   r   r   r   )r   servicer   )r   r   rY   .r   T)r~   -r   r   z	 - Slide r   )r   duration_msr   r   )r   r   r   r   r   )_download_jsonjoin	enumerater
   r   r   )service_dataslide_idslide
video_pathr|   r   rj   infor   rR   r   rS   video_slidess          rI   entriesz+SlidesLiveIE._real_extract.<locals>.entries  s     JJJ..UUUU$0!hh|44. . 8Ag / i i o
 mo  $-\&/-R-RTU#V#V  %';<<FF)%AA
+L;6?D F  F  F# : !?? *hd @ L L
 %66666 $WFFFFF!%k!2 +L@X,Y,Yae f f f&      rK   z	-playlist)!	_match_idrT   r
   r   r   r   _search_regex_download_webpagerm   lowerrc   r   r   dictappendr   _download_xml
isinstancexmletreeElementTreeElementr>   r   r   
setdefault_html_search_metar   r   update
capitalizer	   playlist_result)!rR   r   rE   urlhredirect_urldomainrj   player_dataplayer_inforW   rX   slide_url_templateslides_infoslide_ext_defaultslide_qualityr   r   r   r   
slide_path	slide_extr   rZ   subr   r   r   r   r   r   r   rS   r   s!   `                           @@@@@rI   _real_extractzSlidesLiveIE._real_extract  s   >>#&&;;l8C==38;: ;: ; ; < < < x<//!(<"8"8:T^cdddF `$OZ^` ` ` `<<X/f///-V--P P<  JGQ
 ))*H'Sabb,,7X77*><2P - R R 44[AA">288::BBBBB .
T "??,-- 	A((-.. ) ? ? EBD  !'(1GHHM u$*!%t`m%t%t%t"#,\&/ae-f-f-fhi#j#j A A%""l52CDD (<FWXXX		& 1 1>>>$@ A A A A
  		N+//*:;; 		N'',-xu-7W ( Y YF &#)"7"?@@ N%g"'0	1J1J'K'K N NOHe&& *UM6"J"JF#Juk6$J$JKK(M N N N N  "2*{{3344 	PW[5MNNOOO;F 		 		7Hj)Z !!%++-:y0QQ# #    OO0(000(     
 	-?tTTT 	 	C$SWW\%:%:;;J   !4!4!<bAAHH!J J      __W--e1G1GQXbd1G1e1e*;??;+G+GHH"775@$ "
 
 5  $DKKV## $ B BO,Q/X!G !GGXKK$"     
 KK*!&1133&	     w&&)BjBB$& &U $F,JKK 	K	 	 	 	 	 	 	 	 	 	< ##GGII(/E/E/EtG}UUUrK   N)F)__name__
__module____qualname__
_VALID_URL_TESTS_WEBPAGE_TESTSclassmethodrJ   rT   rm   r   r    rK   rI   r   r      s       XJ B'#%0$"

 

 V
 & 1^%#8%#

 

 V
 & pV%0##!

 

 V
 & r1b0%#%#

 

 V
 ( DT0##%!

 

 V
 & 2=8##%!

 

 V
 & 1E0$#%"

 

 V
 & 2V8##%!

 

 V
 & xB#8$%"

 

 V
 & {%I
 

  M'<()&
 

 $Y') 	
 $Y') 	
+@ V
O* *X 2%Q
 

  U'<()&
 

 $a') 	
. V
=! !F 8R:"#%	
 	
 V
 $ 1>#%8$"

 

 V
 & g  P  l ]RFl ET0##%!

 

 V
  N& 	 	 [	    @! ! ! !.QV QV QV QV QVrK   r   )r=   urllib.parser?   xml.etree.ElementTreer   commonr   utilsr   r   r   r	   r
   r   r   r   r   r   r   rK   rI   <module>r      s    				         ! ! ! ! ! !
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
EV EV EV EV EV= EV EV EV EV EVrK   