
    V|h51                     l    S SK r S SKrSSKJr  SSKJr  SSKJrJrJ	r	   " S S\5      r
 " S	 S
\
5      rg)    N   )InfoExtractor)	YoutubeIE   )ExtractorErrorint_or_nonestr_or_nonec                   v   \ rS rSrSr\ S3rSSSSSS	S
SS\\\SS.SS0S.SSSSS.SS0SS.SS0 SS_SS_SS_SS_S S!_S"S#_S$S%_S&S'_S(\_S)\_S*\_S+\_S,\_S-S._S/S%_S0\_S1S2_S3\S4S\S5SS6S7\S8S9S:.ESS0S;.S<S=SS>S?S@SAS>SBSC\\\SDSESFSG.SSSH.S.SISSJ./r	SKr
\R                  SL 5       rSM rSRSN jrSO rSP rSQrgK)SVVVVIDIE   z@https?://(?:www\.)?vvvvid\.it/(?:#!)?(?:show|anime|film|series)/z8(?P<show_id>\d+)/[^/]+/(?P<season_id>\d+)/(?P<id>[0-9]+)zrhttps://www.vvvvid.it/show/498/the-power-of-computing/518/505692/playstation-vr-cambiera-il-nostro-modo-di-giocare505692mp4u2   Playstation VR cambierà il nostro modo di giocare]   zThe Power of Computing5184747zPhttps://static.vvvvid.it/img/zoomin/28CA2409-E663-34F0-2B02E72356556EA3_500k.jpg)idexttitledurationseries	season_idepisode
episode_id
view_count
like_countrepost_count	thumbnailskip_downloadT)url	info_dictparamszNhttps://www.vvvvid.it/#!show/376/death-note-live-action/377/482493/episodio-01482493zEpisodio 01)r   r   r   z3Every video/rcs is not working even in real website)r   r    r!   skipz?https://www.vvvvid.it/show/404/one-punch-man/406/486683/trailer 33e0edfba720ad73a8782157fdebc648r   RzmFKUDOUgwr   r   Trailerupload_date20150906descriptionz$md5:a5e802558d35247fee285875328c0b80uploader_idz@EMOTIONLabelChanneluploaderzEMOTION Label Channelr   3115r   r   r   availability
categories	age_limitr   channelchannel_follower_count
channel_idzUCQ5URCSs1f5Cz9rh-cDGxNQz8https://www.youtube.com/channel/UCQ5URCSs1f5Cz9rh-cDGxNQ   not_live406zOne-Punch Manz,https://www.youtube.com/@EMOTIONLabelChannelz4https://i.ytimg.com/vi/RzmFKUDOUgw/maxresdefault.jpg)channel_urlcomment_countr   r   heatmaplive_statusplayable_in_embedr   r   tagsuploader_urlr   )r   md5r    r!   z_https://www.vvvvid.it/show/844/le-bizzarre-avventure-di-jojo-vento-aureo/938/527551/golden-wind527551zGolden Windi  z+Le bizzarre avventure di Jojo - Vento Aureo938r   9089zAhttps://static.vvvvid.it/img/thumbs/Dynit/Jojo/Jojo_S05Ep01-t.jpgzSeason 5   )r   r   r   r   r   r   r   episode_numberr   r   r   r   r   seasonseason_number)r   formatzQhttps://www.vvvvid.it/show/434/perche-dovrei-guardarlo-di-dario-moccia/437/489048r   only_matchingNc                 .    0 U R                  5       ESS0E$ )Nz
User-AgentzrMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.50 Safari/537.37)geo_verification_headersselfs    Q/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/vvvvid.py_headersVVVVIDIE._headerst   s+    
++-
  O
 	
    c                 P    U R                  SS U R                  S9S   S   U l        g )Nz https://www.vvvvid.it/user/login)headersdataconn_id)_download_jsonrM   _conn_idrJ   s    rL   _real_initializeVVVVIDIE._real_initialize{   s5    ++.$-- , ))/11:<rO   c                 0   SU R                   0nU(       a  UR                  U5        U R                  SU SU 3X0R                  XdS9nU(       d  U(       d  g UR	                  S5      S:X  a'  [        SR                  U R                  US   5      S	S
9eUS   $ )NrS   z&https://www.vvvvid.it/vvvvid/ondemand//)rQ   queryfatalresulterrorz{} said: {}messageT)expectedrR   )rU   updaterT   rM   getr   rE   IE_NAME)rK   show_idpathvideo_idr[   rZ   qresponses           rL   _download_infoVVVVIDIE._download_info   s    t}}
 HHUO&&4WIQtfEmm1 ' C E<<!W, !5!5hy1"3=AC CrO   c                 Z    UR                  S5      [        UR                  S5      5      S.$ )Nr   r   )r   r   )ra   r	   )rK   
video_datas     rL   _extract_common_video_info#VVVVIDIE._extract_common_video_info   s)    #4%jnnT&:;
 	
rO   c                   ^^ U R                  U5      R                  5       u  p#nU R                  USU 3USU0S9n[        U5      m[	        [        U4S jU5      5      nUS   n/ nS n	0 mU4S jn
UR                  S5      nS	nS
 GHv  nUR                  SU-   5      nU(       d  M!  U	" U5      nUS:X  a  [        R                  " SSU5      R                  SS5      nU R                  SUSU R                  US.S	S9=(       d    0 nUR                  S5      nU(       a  USU	" U5      -   -  nUR                  U R                  XSSS	S95        OUS:X  a!  UR                  U R                  X5      5        OUS:X  a,  TR                  S[         R"                  " 5       US.5        Sn  OZUS:X  a"  UR                  U R                  XSSS	S95        O%UR                  U R%                  S U S!3US"/S#95        U
" U5        GMy     U(       d  UTS$'   U
" UR                  S%5      5        TR                  U R'                  U5      5        TR                  UU[)        UR                  S&5      5      UR                  S'5      UU[)        UR                  S(5      5      [)        UR                  S)5      5      [)        UR                  S*5      5      S+.	5        T$ ),Nzseason/re   )rZ   c                 ,   > U R                  S5      T:H  $ )Nre   )ra   )r   vids    rL   <lambda>(VVVVIDIE._real_extract.<locals>.<lambda>   s    GKK
3s:rO   r   c                 "   SnS n/ nU  H#  nUR                  UR                  U5      5        M%     [        U5      n[        US-  S-
  SS5       H  nX4U-     X4S-   U-     -  nXcXE-  '   M     U" U5      nSnU H  nU[	        U5      -  nM     U$ )Nz@MNOPIJKL89+/4567UVWXQRSTEFGHABCDcdefYZabstuvopqr0123wxyzklmnghijc                    / nSnSn[        U 5      nU(       d  X$:  a  X   S-  nUS-  nSnSnX$:  aU  XPU   S-	  -  nUS-  nX$:  a>  XS-
     S-  S-  nX`U   S-	  -  nUS-  nX$:  a  XS-
     S-  S-  nXpU   -  nUS-  nOS	nOS	nOS	nUR                  U5        US:w  a  UR                  U5        US:w  a  UR                  U5        U(       d  X$:  a  M  U$ )
Nr   Fr   r            T)lenappend)mlobm_lennkjs           rL   f-VVVVIDIE._real_extract.<locals>.ds.<locals>.f   s   A19	AFAAAyqTQYQ9!"q5Q# 5A1NAFA y%&1uX]c$9 !qT	 !Q$( $A HHQKBwBw5 196 rO   r   r   ru    )rz   indexry   rangechr)hgr   cec_lenads           rL   ds"VVVVIDIE._real_extract.<locals>.ds   s    RA D A$  FE519q="b1%iL1!eu_#55 !) 2 !AASV  HrO   c                    > T(       dl  U (       ad  [         R                  " SU 5      nU(       aE  [        UR                  S5      5      TS'   UR                  S5      nU(       a  [        U5      TS'   g g g g g )Nz_(?:S(\d+))?Ep(\d+)r   rB   r   rD   )researchintgroup)r_urlmobjrD   infos      rL   metadata_from_url1VVVVIDIE._real_extract.<locals>.metadata_from_url   sd    Eyy!7?-0A-?D)*$(JJqMM$03M0B_- %  "4rO   
video_typeF)r   _sd
embed_infoz
video/kenczhttps?(://[^/]+)/z/z
https\1/i/z/manifest.f4mz/master.m3u8zhttps://www.vvvvid.it/kenckt)actionrS   r   )rZ   r[   r^   ?r   hls)m3u8_idr[   z	video/rcszvideo/youtubeurl_transparent)_typeie_keyr   Tz
video/dashz+http://sb.top-ix.org/videomg/_definst_/mp4:z/playlist.m3u8f4m)skip_protocolsformatsr   length
show_titleviewsvideo_likesvideo_shares)	r   r   r   r   r   r   r   r   r   )_match_valid_urlgroupsrh   r   nextfilterra   r   subreplacerT   rU   extend_extract_m3u8_formats_extract_akamai_formatsr`   r   r   _extract_wowza_formatsrl   r   )rK   r   rc   r   re   rg   rk   r   r   r   r   r   
is_youtubequality
embed_codekenckenc_messager   rp   s                    @@rL   _real_extractVVVVIDIE._real_extract   s   '+'<'<S'A'H'H'J$H&&wyk*Z2 ' 4 (m&:HF G
7#3	j 	C  ^^L1

"G#w(>?JJJ\)VV$:M:V^^_np~
**0("&#'==)C # + $ *
 (*   $xx	2#<(8"88Jt99%e  :  M N{*t;;JQR..'..0% 
 "
|+t99%e  :  M N t::A*^\^fx}w~  ;  @ Aj)E #H %DO*..56D33J?@#JNN8$<= nn\2"%jnnW&=>%jnn]&CD'
~(FG

 
	 rO   )rU   )TN)__name__
__module____qualname____firstlineno___VALID_URL_BASE
_VALID_URLr   strlist_TESTSrU   	functoolscached_propertyrM   rV   rh   rl   r   __static_attributes__ rO   rL   r   r      s1   YO$%%]^J DI.K k
 T
#, `"
 T
 F Q1
-
5
 Y
 :	

 A
 1
 /
 &
 #
 #
 C
 C
 $
 
 .
  %c!
" 4#
$ V  %!%%JO;
@ T
G&P q"C$ \ 
$ "
)2 c}aFD H
 
<
  
DrO   r   c                   X    \ rS rSrS\R
                   S3rSSSSS.S	S
.SSS./rS rSr	g)VVVVIDShowIEi  z(?P<base_url>z7(?P<id>\d+)(?:/(?P<show_title>[^/?&#]+))?)/?(?:[?#&]|$)z)https://www.vvvvid.it/show/156/psyco-pass156zPsycho-Passz$md5:94d572c0bd85894b193b8aebc9a3a806)r   r   r)   .   )r   r    playlist_countzhttps://www.vvvvid.it/show/156TrF   c                 z   U R                  U5      R                  5       u  p#nU R                  USU5      nU R                  USUSS9nU(       d  US-  n/ nU=(       d    /  GH&  nUR                  S5      =(       d    / n	UR                  S5      =(       d    UR                  S5      n
U	 H  nUR                  S	5      SL a  M  [	        UR                  S
5      5      n[	        UR                  S5      5      nU(       a  U(       d  M]  U R                  U5      nUR                  S[        R                  5       SR                  X,U/5      UR                  S5      UR                  S5      UU
S.5        UR                  U5        M     GM)     U R                  XsUR                  S5      UR                  S5      5      $ )Nzseasons/zinfo/F)r[   z/titleepisodesnamer   playabler   re   r   rY   r)   )r   r   r   r   r)   r   playlist_title)r   r   rh   ra   r	   rl   r`   r   r   joinrz   playlist_result)rK   r   base_urlrc   r   seasons	show_infoentriesrC   r   r   r   r   re   r   s                  rL   r   VVVVIDShowIE._real_extract,  s   (,(=(=c(B(I(I(K%:%%Z- ''Wj ( 7	  H}"}Fzz*-3H#ZZ/I9==3IN#;;z*e3'K(@A	&w{{:'>?!h66w?.&oo/88X($CD$[[1#*;;}#=!*&4  t$# $ %, ##immG4immM6RT 	TrO   r   N)
r   r   r   r   r   r   r   r   r   r   r   rO   rL   r   r     sM    !(":":!;;rsJ:"A

  0F$TrO   r   )r   r   commonr   youtuber   utilsr   r   r	   r   r   r   rO   rL   <module>r      s8     	 !  M} M`3T8 3TrO   