
    VGh                     F    d dl Z ddlmZ ddlmZmZmZmZ  G d de      Zy)    N   )InfoExtractor   )extract_attributesint_or_nonemimetype2extparse_iso8601c            	       v    e Zd ZdZ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ddddgZed        Zd Zy)MedialaanIEa7  (?x)
                    https?://
                        (?:
                            (?:embed\.)?mychannels.video/embed/|
                            embed\.mychannels\.video/(?:s(?:dk|cript)/)?production/|
                            (?:www\.)?(?:
                                (?:
                                    7sur7|
                                    demorgen|
                                    hln|
                                    joe|
                                    qmusic
                                )\.be|
                                (?:
                                    [abe]d|
                                    bndestem|
                                    destentor|
                                    gelderlander|
                                    pzc|
                                    tubantia|
                                    volkskrant
                                )\.nl
                            )/video/(?:[^/]+/)*[^/?&#]+~p
                        )
                        (?P<id>\d+)
                    zahttps://www.bndestem.nl/video/de-terugkeer-van-ally-de-aap-en-wie-vertrekt-er-nog-bij-nac~p193993193993mp4z<De terugkeer van Ally de Aap en wie vertrekt er nog bij NAC?i`20210126   )idexttitle	timestampupload_datedurationskip_downloadT)url	info_dictparamszhttps://www.gelderlander.nl/video/kanalen/degelderlander~c320/series/snel-nieuws~s984/noodbevel-in-doetinchem-politie-stuurt-mensen-centrum-uit~p194093)r   only_matchingzJhttps://embed.mychannels.video/sdk/production/193993?options=TFTFF_defaultz7https://embed.mychannels.video/script/production/193993z0https://embed.mychannels.video/production/193993z%https://mychannels.video/embed/193993z+https://embed.mychannels.video/embed/193993c                     g }t        j                  d|      D ]3  }t        |      j                  d      }|s |j	                  d|z          5 |S )Nz-(<div[^>]+data-mychannels-type="video"[^>]*>)zdata-mychannels-idzhttps://mychannels.video/embed/)refindallr   getappend)clsr   webpageentrieselementmychannels_ids         c/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/medialaan.py_extract_embed_urlszMedialaanIE._extract_embed_urlsH   sW    zz"RT[\ 	RG.w7;;<PQM@=PQ	R     c                    | j                  |      }| j                  d|z   |ddi      d   d   }|d   }g }|j                  d      xs g D ]p  }|j                  d	      }|st        |j                  d
            }|dk(  r'|j	                  | j                  ||dddd             ]|j                  ||d       r ||||j                  d      t        |j                  d      d      t        |j                  d            xs d dS )Nz.https://embed.mychannels.video/sdk/production/optionsUUUU_default)queryproductionsr   r   sourcessrctypem3u8r   m3u8_nativehlsF)m3u8_idfatal)r   r   	posterUrlpublicationDate r   )r   r   formats	thumbnailr   r   )		_match_id_download_jsonr   r   extend_extract_m3u8_formatsr   r	   r   )	selfr   production_id
productionr   r8   sourcer.   r   s	            r%   _real_extractzMedialaanIE._real_extractQ   s5   s+((<}L)^!< ) >>KMMNP
 7#!~~i06B 	F**U#Cvzz&12Cf}t99}!  :  0 1   	   #4&z~~6G'H#N#JNN:$>?G4
 	
r'   N)__name__
__module____qualname__
_VALID_URL_TESTSclassmethodr&   rB    r'   r%   r   r      s    J6 sS#%
 T
 i \ I B 7 =9FB  
r'   r   )	r   commonr   utilsr   r   r   r	   r   rI   r'   r%   <module>rL      s#    	 ! c
- c
r'   