
    yf(                     t    d dl mZ ddlmZ  G d de      Z G d de      Z G d d	e      Z G d
 de      Zy)   )MTVServicesInfoExtractor   )update_url_queryc                        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! Z fd"Z	 x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.htm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title cb8a2afeafb7ae154aca5a64815ec9d6z$85ee8177-d6ce-48f8-9eee-a65364f8a6df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_dict 839a04f49900a1fcbf517020d94e0737z$2e2a9960-8fd4-411d-868b-28eb1beb7faez>SpongeBob SquarePants: "A Place for Pets/Lockdown for Love" S2 f1145699f199770e2919ee8646955d46z$dc91c304-6876-40f7-84a6-7aece7baa9d0z>SpongeBob SquarePants: "A Place for Pets/Lockdown for Love" S3 d463116875aee2585ee58de3b12caebdz$5d929486-cf4c-42a1-889a-6e0d183a101az>SpongeBob SquarePants: "A Place for Pets/Lockdown for Love" S4)urlr   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                     d|dS )Nnick_arc_player_prime)feedmgid )selfuris     7/usr/lib/python3/dist-packages/yt_dlp/extractor/nick.py_get_feed_queryzNickIE._get_feed_queryE   s    +
 	
    c                     | j                  |      j                         \  }}}|j                  d      rt        |   |      S | j                  d|z  |d|i      }| j                  |d   |d   z         S )Nepisodesz"http://%s/data/video.endLevel.jsonurlKey)queryplayerr   )_match_valid_urlgroups
startswithsuper_real_extract_download_json_get_videos_info)r   r   domain
video_type
display_id
video_data	__class__s         r   r*   zNickIE._real_extractK   s    )-)>)>s)C)J)J)L&
J  ,7(--((069* ) 

 $$Z%9Jt<L%LMMr    )__name__
__module____qualname__IE_NAME
_VALID_URL	_FEED_URL_GEO_COUNTRIES_TESTSr   r*   __classcell__)r1   s   @r   r   r      s    G RJDIVN}A9
 :@ ] $a		 :@ ] $a		 :@ ] $a		 :@ ] $a		?)
0b x8A2	
 "	a9Fv
	N 	Nr    r   c                   F    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
 Zy)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   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                    | j                  |      j                         \  }}| j                  ||      }| j                  d|d      }| j	                  |      }| j                  d||ddd|i      }| j                  |d         }|d	k(  r:|j                  d
      r|dd  }ddd|   }	||	|	d}
|dk(  rd|
d<   t        d|
      }| j                  ||      S )Nz!data-(?:contenturi|mgid)="([^"]+)r   z6http://media.mtvnservices.com/pmt/e1/access/index.htmledge)r   
configtypeReferer)r$   headersfeedWithQueryParamsNonezwww.   zmundonick.com.brzbr.nickelodeonjunior.tv)zmundonick.uolnickjr)r   imageEparcEpznickjr.com.brc4b16088epz;http://feeds.mtvnservices.com/od/feed/intl-mrss-player-feed)
r&   r'   _download_webpage_search_regex_id_from_urir+   _remove_template_parameterr(   r   _get_videos_info_from_url)r   r   r-   r/   webpager   video_idconfiginfo_urlcontent_domainr$   s              r   r*   zNickBrIE._real_extracts   s$   !2237>>@
((j9  0'6C$$S)$$D$ 3 %  226:O3PQv  (!33 N
 )'E
 ((d'MuVH--hAAr    Nr2   r3   r4   r5   r6   r9   r*   r   r    r   r<   r<   W   sa    GJ Z a Y s tF"Br    r<   c                   p    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Zy)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                 |    | j                  |      }| j                  d|d||      }| j                  |d         S )Nz;http://media.mtvnservices.com/pmt/e1/access/index.html?uri=z&configtype=edge&ref=rD   )rN   r+   rO   )r   r   r   rR   rS   s        r   _get_feed_urlzNickDeIE._get_feed_url   sF    $$S)$$fiknoqy{..v6K/LMMr    )N)r2   r3   r4   r5   r6   r9   rZ   r   r    r   rX   rX      s    G NJz 5 | l x s W R ^ @7F@Nr    rX   c            
       ^    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 Zy)NickRuIE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                     | j                  |      }| j                  ||      }| j                  ||      }| j                  d|z        S )Nz&http://media.mtvnservices.com/embed/%s)	_match_idrL   _extract_mgid
url_result)r   r   rR   rQ   r   s        r   r*   zNickRuIE._real_extract   sI    >>#&((h7!!'3/G$NOOr    NrV   r   r    r   r\   r\      s    GrJ J W B W o e R a+F4Pr    r\   N)mtvr   utilsr   r   r<   rX   r\   r   r    r   <module>rd      sL    ) $ON% ONd;B' ;B|'N' 'NT!P' !Pr    