
    VGh
                     f    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
 ddlmZmZ  G d de      Zy)	    N   )InfoExtractor   )ExtractorError
clean_htmlextract_attributesjoin_nonemptyparse_durationunified_timestamp)find_elementtraverse_objc            	       8    e Zd ZdZdddddddd	d
dgZd Zd Zy)LearningOnScreenIEzFhttps?://learningonscreen\.ac\.uk/ondemand/index\.php/prog/(?P<id>\w+)zNhttps://learningonscreen.ac.uk/ondemand/index.php/prog/005D81B2?bcast=22757013005D81B2mp4zPlanet Earthg      @g   yZA20061126zjhttps://stream.learningonscreen.ac.uk/trilt-cover-images/005D81B2-Planet-Earth-2006-11-26T190000Z-BBC4.jpg)idexttitleduration	timestampupload_date	thumbnail)url	info_dictc                 j    | j                  d      j                  d      s| j                  d       y y )Nhttps://learningonscreen.ac.uk/zPHPSESSID-BOB-LIVEsession_cookies)method)_get_cookiesgetraise_login_required)selfs    j/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/learningonscreen.py_real_initializez#LearningOnScreenIE._real_initialize   s5      !BCGGH\]%%->%? ^    c           
         | j                  |      }| j                  ||      }t        |t        dd      ht        d      ht        hft        d      ht        j                  t        j                  d      hd	t        hft        d
      ht        ht        hfdf      }|j                  dd       xs& t        |t        dd      ht        hdt        hf      }| j                  d||ddddd      }|st        d      t        |      d	kD  rk|j                  dd       }t!        |d	      D ]4  \  }}	|	j#                  |       t%        ||      |	d<   t%        ||      |	d<   6 | j'                  ||||      S i |d   |||dS )Nzprogramme-detailsT)r   htmlh2)tagzbroadcast-date)clsz([^<]+)r   zprog-running-time)r   r   r   r   zadd-to-existing-playlistzdata-record-titlez%https://stream.learningonscreen.ac.ukhlsdashzhttps://learningonscreen.ac.ukr   )OriginReferer)m3u8_idmpd_id_headerszNo video foundr   )startr   )r   r   )r   r   )	_match_id_download_webpager   r   r   	functoolspartialrematchr   r
   popr   _parse_html5_media_entriesr   len	enumerateupdater	   playlist_result)
r#   r   video_idwebpagedetailsr   entriesr   idxentrys
             r$   _real_extractz LearningOnScreenIE._real_extract#   s   >>#&((h7w0t<='D12ZLA!&678&&rxx<=qCTBUW "&9:;j\NK[]@)  GT* Fl77dCD "5
|EE /F 113WhPU^d @Mno 2 q  !122w<!{{:t4H'q9 ;
UW%+Hc:d!.uc!:g; ''58'TT
aj

 	
 	
r&   N)__name__
__module____qualname__
_VALID_URL_TESTSr%   rF    r&   r$   r   r      s>    ZJ_#%% F
 F@%
r&   r   )r6   r8   commonr   utilsr   r   r   r	   r
   r   utils.traversalr   r   r   rL   r&   r$   <module>rP      s)     	 !  98
 8
r&   