U
    Mf(                     @   s\   d dl mZ ddlmZ G dd deZG dd deZG dd	 d	eZG d
d deZdS )   )MTVServicesInfoExtractor   )update_url_queryc                       s   e Zd ZdZdZdZdgZddddd	d
ddddddddddddddddddddddddddgddddddddd gZd!d" Z fd#d$Z	  Z
S )%NickIEznick.comz}https?://(?P<domain>(?:www\.)?nick(?:jr)?\.com)/(?:[^/]+/)?(?P<type>videos/clip|[^/]+/videos|episodes/[^/]+)/(?P<id>[^/?#.]+)z2http://udat.mtvnservices.com/service1/dispatch.htmZUSzlhttps://www.nick.com/episodes/sq47rw/spongebob-squarepants-a-place-for-pets-lockdown-for-love-season-13-ep-1z$md5:0650a9eb88955609d5c1d1c79292e234z"A Place for Pets/Lockdown for Love)descriptiontitleZ cb8a2afeafb7ae154aca5a64815ec9d6z$85ee8177-d6ce-48f8-9eee-a65364f8a6dfZmp4z>SpongeBob SquarePants: "A Place for Pets/Lockdown for Love" S1zA Place for Pets/Lockdown for Love: When customers bring pets into the Krusty Krab, Mr. Krabs realizes pets are more profitable than owners. Plankton ruins another date with Karen, so she puts the Chum Bucket on lockdown until he proves his affection.)idextr   r   )md5	info_dictZ 839a04f49900a1fcbf517020d94e0737z$2e2a9960-8fd4-411d-868b-28eb1beb7faez>SpongeBob SquarePants: "A Place for Pets/Lockdown for Love" S2Z f1145699f199770e2919ee8646955d46z$dc91c304-6876-40f7-84a6-7aece7baa9d0z>SpongeBob SquarePants: "A Place for Pets/Lockdown for Love" S3Z d463116875aee2585ee58de3b12caebdz$5d929486-cf4c-42a1-889a-6e0d183a101az>SpongeBob SquarePants: "A Place for Pets/Lockdown for Love" S4)urlr   Zplaylistzfhttp://www.nickjr.com/blues-clues-and-you/videos/blues-clues-and-you-original-209-imagination-station/z$31631529-2fc5-430b-b2ef-6a74b4609abdz$md5:9d65a66df38e02254852794b2809d1cfzBlue's Imagination Station)r   r	   r   r   zNot accessible?)r   r   skipc                 C   s
   d|dS )NZnick_arc_player_prime)feedmgid )selfurir   r   9/tmp/pip-unpacked-wheel-zk9bgjdq/yt_dlp/extractor/nick.py_get_feed_queryE   s    zNickIE._get_feed_queryc                    s\   |  | \}}}|dr*t |S | jd| d|d|id}| |d |d  S )NZepisodeszhttp://z/data/video.endLevel.jsonZurlKey)queryZplayerr   )_match_valid_urlgroups
startswithsuper_real_extract_download_jsonZ_get_videos_info)r   r   domainZ
video_type
display_idZ
video_data	__class__r   r   r   K   s    

 zNickIE._real_extract)__name__
__module____qualname__IE_NAME
_VALID_URLZ	_FEED_URLZ_GEO_COUNTRIES_TESTSr   r   __classcell__r   r   r   r   r      sb   1;r   c                   @   sH   e Zd ZdZdZddddddddddddd	ddgZd
d ZdS )NickBrIEznickelodeon:bra  (?x)
                    https?://
                        (?:
                            (?P<domain>(?:www\.)?nickjr|mundonick\.uol)\.com\.br|
                            (?:www\.)?nickjr\.[a-z]{2}|
                            (?:www\.)?nickelodeonjunior\.fr
                        )
                        /(?:programas/)?[^/]+/videos/(?:episodios/)?(?P<id>[^/?\#.]+)
                    zHhttp://www.nickjr.com.br/patrulha-canina/videos/210-labirinto-de-pipoca/Tr   Zonly_matchingzOhttp://mundonick.uol.com.br/programas/the-loud-house/videos/muitas-irmas/7ljo9jzGhttp://www.nickjr.nl/paw-patrol/videos/311-ge-wol-dig-om-terug-te-zijn/zahttp://www.nickjr.de/blaze-und-die-monster-maschinen/videos/f6caaf8f-e4e8-4cc1-b489-9380d6dcd059/zbhttp://www.nickelodeonjunior.fr/paw-patrol-la-pat-patrouille/videos/episode-401-entier-paw-patrol/c                 C   s   |  | \}}| ||}| d|d}| |}| jd||ddd|id}| |d }|d	kr|d
r~|dd  }ddd| }	||	|	d}
|dkrd|
d< td|
}| 	||S )Nz!data-(?:contenturi|mgid)="([^"]+)r   z6http://media.mtvnservices.com/pmt/e1/access/index.htmlZedge)r   Z
configtypeZReferer)r   headersfeedWithQueryParamsNonezwww.   zmundonick.com.brzbr.nickelodeonjunior.tv)zmundonick.uolZnickjr)r   ZimageEpZarcEpznickjr.com.brZc4b16088epz;http://feeds.mtvnservices.com/od/feed/intl-mrss-player-feed)
r   r   _download_webpageZ_search_regex_id_from_urir   _remove_template_parameterr   r   Z_get_videos_info_from_url)r   r   r   r   webpager   video_idconfigZinfo_urlZcontent_domainr   r   r   r   r   s   sL      
 
 zNickBrIE._real_extractNr    r!   r"   r#   r$   r%   r   r   r   r   r   r'   W   s&   
r'   c                   @   sr   e Zd 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ddddddddg
ZdddZdS )NickDeIEznick.dezyhttps?://(?:www\.)?(?P<host>nick\.(?:de|com\.pl|ch)|nickelodeon\.(?:nl|be|at|dk|no|se))/[^/]+/(?:[^/]+/)*(?P<id>[^/?#&]+)zihttp://www.nick.de/playlist/3773-top-videos/videos/episode/17306-zu-wasser-und-zu-land-rauchende-erdnusseTr(   z#http://www.nick.de/shows/342-icarlyzjhttp://www.nickelodeon.nl/shows/474-spongebob/videos/17403-een-kijkje-in-de-keuken-met-sandy-van-binnenuitzZhttp://www.nickelodeon.at/playlist/3773-top-videos/videos/episode/77993-das-letzte-gefechtzfhttp://www.nick.com.pl/seriale/474-spongebob-kanciastoporty/wideo/17412-teatr-to-jest-to-rodeo-oszolomzahttp://www.nickelodeon.no/program/2626-bulderhuset/videoer/90947-femteklasse-veronica-vs-vanzillazEhttp://www.nickelodeon.dk/serier/2626-hojs-hus/videoer/761-tissepausez@http://www.nickelodeon.se/serier/2626-lugn-i-stormen/videos/998-zLhttp://www.nick.ch/shows/2304-adventure-time-abenteuerzeit-mit-finn-und-jakeznhttp://www.nickelodeon.be/afspeellijst/4530-top-videos/videos/episode/73917-inval-broodschapper-lariekoek-arieNc                 C   s0   |  |}| d| d| |}| |d S )Nz;http://media.mtvnservices.com/pmt/e1/access/index.html?uri=z&configtype=edge&ref=r*   )r/   r   r0   )r   r   r   r2   r3   r   r   r   _get_feed_url   s    
 zNickDeIE._get_feed_url)N)r    r!   r"   r#   r$   r%   r6   r   r   r   r   r5      sD    r5   c                
   @   s`   e Zd 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ddgZdd ZdS )NickRuIEZnickelodeonruz^https?://(?:www\.)nickelodeon\.(?:ru|fr|es|pt|ro|hu|com\.tr)/[^/]+/(?:[^/]+/)*(?P<id>[^/?#&]+)zxhttp://www.nickelodeon.ru/shows/henrydanger/videos/episodes/3-sezon-15-seriya-licenziya-na-polyot/pmomfb#playlist/7airc6Tr(   zEhttp://www.nickelodeon.ru/videos/smotri-na-nickelodeon-v-iyule/g9hvh7zphttp://www.nickelodeon.fr/programmes/bob-l-eponge/videos/le-marathon-de-booh-kini-bottom-mardi-31-octobre/nfn7z0zEhttp://www.nickelodeon.es/videos/nickelodeon-consejos-tortitas/f7w7xyz]http://www.nickelodeon.pt/series/spongebob-squarepants/videos/a-bolha-de-tinta-gigante/xutq1bzShttp://www.nickelodeon.ro/emisiuni/shimmer-si-shine/video/nahal-din-bomboane/uw5u2kzhttp://www.nickelodeon.hu/musorok/spongyabob-kockanadrag/videok/episodes/buborekfujas-az-elszakadt-nadrag/q57iob#playlist/k6te4yzOhttp://www.nickelodeon.com.tr/programlar/sunger-bob/videolar/kayip-yatak/mgqbjyc                 C   s2   |  |}| ||}| ||}| d| S )Nz$http://media.mtvnservices.com/embed/)Z	_match_idr.   Z_extract_mgidZ
url_result)r   r   r2   r1   r   r   r   r   r      s    
zNickRuIE._real_extractNr4   r   r   r   r   r7      s8   r7   N)Zmtvr   utilsr   r   r'   r5   r7   r   r   r   r   <module>   s
   R>*