
    VGhH                     J    d dl Z ddlmZ ddlmZmZmZmZmZ  G d de      Z	y)    N   )InfoExtractor   )int_or_noneparse_duration
remove_endxpath_element
xpath_textc                   `    e 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gZd Zd Zd Zy)DigitallySpeakingIEz\https?://(?:s?evt\.dispeak|events\.digitallyspeaking)\.com/(?:[^/]+/)+xml/(?P<id>[^.]+)\.xmlz7http://evt.dispeak.com/ubm/gdc/sf16/xml/840376_BQRC.xml a8efb6c31ed06ca8739294960b2dbabd840376_BQRCmp4z/Tenacious Design and The Interface of 'Destiny')idexttitle)urlmd5	info_dictzLhttp://events.digitallyspeaking.com/gdc/sf11/xml/12396_1299111843500GMPX.xmlT)r   only_matchingzEhttp://sevt.dispeak.com/ubm/gdc/eur10/xml/11256_1282118587281VNIT.xmlzQhttps://sevt.dispeak.com/ubm/gdc/online12/xml/201210-822101_1349794556671DDDD.xmlz201210-822101_1349794556671DDDDflvz)Pre-launch - Preparing to Take the Plunge)r   r   z\http://events.digitallyspeaking.com/gdc/project25/xml/p25-miyamoto1999_1282467389849HSVB.xmlc           	         g }d }t        |dd       }|'t        j                  d|      }|j                  d      }|t        |dd       }|rd| d}|d}|j	                  d	      }|sy |D ]  }t        |d
d      }	t        j                  d|	      j                  d      }
||
z   }t        |d      }t        |      }t        | j                  d|
dd             }|j                  ||||d        |S )Nz
./mp4video)defaultz(?P<root>https?://.*?/).*roothttpHostzhttp:///z#http://s3-2u.digitallyspeaking.com/z./MBRVideos/MBRVideo
streamNameTfatalzmp4\:(?P<path>.*)pathbitratez-(\d+)\.mp4vbr)	format_idr   tbrr"   )r
   rematchgroupfindallr   _search_regexappend)selfmetadatavideo_formats
video_root	mp4_videomobj	http_hostformatsa_formatstream_name
video_pathr   r!   r$   r"   s                  a/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/dispeak.py
_parse_mp4zDigitallySpeakingIE._parse_mp4/   s/   
xtD	 888)DDF+J"8ZFI&yk3
 ?J""#9: 	H$X|4HK"6DJJ6RJz)C 95Gg&Cd00
E4 1 A BC  $	" 	     c                 l   g }t        |dd      }|j                  d      }|D ]F  }|j                  d| dt        |j	                  d      d      d	d
d|j	                  d      d       H dD ]B  \  }}}t        |d| d      }	|	s|j                  d| dt        |	d      d	| d||d       D |S )Nz./akamaiHostTr   z./audios/audiozrtmp://z/ondemand?ovpfv=1.1r   z.flvr   noner   code)r   	play_pathr   vcodecqualityr#   ))slideslides)speakerrB   z./Videoz video)r   r<   r   format_noter>   r#   )r
   r(   r*   r   get)
r+   r,   r2   
akamai_urlaudiosaudio	video_keyr#   
preferencer5   s
             r6   
_parse_flvzDigitallySpeakingIE._parse_flvS   s    .E
!!"23 	ENN ,?@'		%(8&A "YYv. 	1E 	,Iy*#H9+U.CDJNN ,?@'
F;"+F3%& 	 r8   c           	      
   | j                  |      }| j                  ||      }t        |d      }| j                  |      }|| j	                  |      }||t        |dd      t        t        |d            t        |d      dS )Nr,   r   Tr   endTimerB   )r   r2   r   durationcreator)	_match_id_download_xmlr	   r7   rL   r
   r   )r+   r   video_idxml_descriptionr,   r-   s         r6   _real_extractz!DigitallySpeakingIE._real_extracto   s    >>#&,,S(; *=1  OOH5M $'>&z(I'FG!(I6
 	
r8   N)__name__
__module____qualname__
_VALID_URL_TESTSr7   rL   rU    r8   r6   r   r      s}    pJ I1H
		 ^ W c3@
 n3F>"H8
r8   r   )
r%   commonr   utilsr   r   r   r	   r
   r   r[   r8   r6   <module>r^      s#    	 ! r
- r
r8   