
    V|hr
                     :    S SK r SSKJr  SSKJr   " S S\5      rg)    N   )InfoExtractor   )int_or_nonec                   B    \ rS rSrSrSSS0SS.SS	S
SSS.S./rS rSrg)	PyvideoIE   zEhttps?://(?:www\.)?pyvideo\.org/(?P<category>[^/]+)/(?P<id>[^/?#&.]+)zKhttp://pyvideo.org/pycon-us-2013/become-a-logging-expert-in-30-minutes.htmlidz%become-a-logging-expert-in-30-minutesr   )url	info_dictplaylist_countzPhttp://pyvideo.org/pygotham-2012/gloriajw-spotifywitherikbernhardsson182m4v.html 5fe1c7e0a8aa5570330784c847ff6d122542m4vz+Gloriajw-SpotifyWithErikBernhardsson182.m4v)r
   exttitle)r   md5r   c                    U R                  U5      nUR                  S5      nUR                  S5      n/ nU R                  SU SU S3USS9nU(       a  US    H  nUR                  S	5      nU(       d  M  UR                  S
5      S:X  a#  UR	                  U R                  US5      5        MU  UR	                  [        UR                  S5      =(       d    U5      UUS   UR                  S5      =(       d    UR                  S5      UR                  S5      [        UR                  S5      5      S.5        M     OU R                  X5      n	U R                  U	5      n
U R                  SU	S5      n[        R                  " SU5       Hh  nUR                  S	5      n[        R                  " SU5      (       a#  UR	                  U R                  US5      5        MS  UR	                  UUU
S.5        Mj     U R                  XT5      $ )Ncategoryr
   z6https://raw.githubusercontent.com/pyvideo/data/master/z/videos/z.jsonF)fatalvideosr   typeyoutubeYoutuber   descriptionsummarythumbnail_urlduration)r
   r   r   r   	thumbnailr   z(?s)Media URL:(.+?)</li>z
media urlsz%<a[^>]+href=(["\'])(?P<url>http.+?)\1z&https?://www\.youtube\.com/watch\?v=.*)r
   r   r   )_match_valid_urlgroup_download_jsongetappend
url_resultstrr   _download_webpage_og_search_title_search_regexrefinditermatchplaylist_result)selfr   mobjr   video_identriesdatavideo	video_urlwebpager   
media_urlsm	media_urls                 R/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/pyvideo.py_real_extractPyvideoIE._real_extract   s   $$S)::j)::d#""DXJhW_V``efE # # h!IIe,	9yy(I5ty)'LM"%dhhtn&@"A#,%)']+/88M+B+YdhhyFY)-/)B(3DHHZ4H(I(  ( ,,S;G))'2E+++WlDJ[[<jJGGEN	88EyQQNN4??9i#HINN&(!&$ J ##G66     N)__name__
__module____qualname____firstlineno__
_VALID_URL_TESTSr:   __static_attributes__r=   r<   r9   r   r      sJ    YJ ]9
  b1B
F +7r<   r   )r*   commonr   utilsr   r   r=   r<   r9   <module>rG      s    	 ! >7 >7r<   