
    V|hu	                     r    S SK r S SKrSSKJr  SSKJrJr   " S S\5      r " S S	\5      r	 " S
 S\5      r
g)    N   )InfoExtractor   )classpropertyint_or_nonec                   \   ^  \ rS rSrSrSr\S 5       r\S 5       rU 4S jr	S r
S rS	rU =r$ )
MangomoloBaseIE   zh(?:https?:)?//(?:admin\.mangomolo\.com/analytics/index\.php/customers/embed/|player\.mangomolo\.com/v1/)Nc                 6    U R                    U R                   3$ N)_BASE_REGEX_SLUGclss    T/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/mangomolo.py
_VALID_URLMangomoloBaseIE._VALID_URL   s    //"399+..    c                 $    SU R                    S3/$ )Nz<iframe[^>]+src=(["\'])(?P<url>z.+?)\1)r   r   s    r   _EMBED_REGEXMangomoloBaseIE._EMBED_REGEX   s    23>>2B&IJJr   c           
   #      >#    [         TU ]  X5       H=  n0 UESU R                  U R                  US   SSS9U R                  SUS5      S.Ev   M?     g 7f)Nurl_transparenturlid)groupz^(?:https?://)?([^/]*)/.*zvideo uploader)_typer   uploader)super_extract_from_webpage_search_regexr   )selfr   webpageres	__class__s       r   r    %MangomoloBaseIE._extract_from_webpage   sg     70>C*((SZT(R ../KSRbc	  ?s   AAc                     U$ r    r"   page_ids     r   _get_real_idMangomoloBaseIE._get_real_id   s    r   c                    U R                  U R                  U5      5      nU R                  SR                  U R                  UR                  S5      S   5      U5      nU R                  U5      nU R                  (       a  SOSnU R                  SS/US5      nU R                  XbUS	/5      nUUUR                  S
5      [        UR                  S5      5      U R                  US.$ )Nz%https://player.mangomolo.com/v1/{}?{}?r   m3u8m3u8_nativez4(?:file|src)\s*:\s*"(https?://[^"]+?/playlist\.m3u8)z<a[^>]+href="(rtsp://[^"]+)"z
format urlsmiluseridduration)r   titleuploader_idr3   is_liveformats)r+   	_match_id_download_webpageformat_TYPEsplit_hidden_inputs_IS_LIVE_html_search_regex_extract_wowza_formatsgetr   )r"   r   r*   r#   hidden_inputsm3u8_entry_protocol
format_urlr7   s           r   _real_extractMangomoloBaseIE._real_extract    s    ##DNN3$78((3::4::syyQT~VWGXY[bd++G4(,f=,,G/ 	&

 --!4vh@ (,,X6#M$5$5j$AB}}
 	
r   r(   )__name__
__module____qualname____firstlineno__r   r   r   r   r   r    r+   rE   __static_attributes____classcell__)r%   s   @r   r	   r	      sI    }KE/ / K K
 
r   r	   c                   *    \ rS rSrSrS\-   rSrSrSrg)MangomoloVideoIE9   video
mangomolo:zvideo\?.*?\bid=(?P<id>\d+)Fr(   N)	rG   rH   rI   rJ   r;   IE_NAMEr   r>   rK   r(   r   r   rN   rN   9   s    EU"G)EHr   rN   c                   0    \ rS rSrSrS\-   rSrSrS rSr	g)	MangomoloLiveIEA   liverQ   zF(?:live|index)\?.*?\bchannelid=(?P<id>(?:[A-Za-z0-9+/=]|%2B|%2F|%3D)+)Tc                     [         R                  " [        R                  R	                  U5      5      R                  5       $ r   )base64	b64decodeurllibparseunquotedecoder)   s     r   r+   MangomoloLiveIE._get_real_idG   s+     4 4W =>EEGGr   r(   N)
rG   rH   rI   rJ   r;   rR   r   r>   r+   rK   r(   r   r   rT   rT   A   s!    EU"GUEHHr   rT   )rX   urllib.parserZ   commonr   utilsr   r   r	   rN   rT   r(   r   r   <module>rb      s8      ! ..
m .
b Ho Hr   