
    VGh                     >    d dl mZ d dlmZ ddlmZ  G d de      Zy)   )InfoExtractor)	YoutubeIE   )traverse_objc                   \   e Zd ZdZddi 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edddd gd!dd"edd#d$d%ed&d'd(d)d*d+d,d-d.d/d0d+d1d-d2i dd3ddddd4ed!d5d6d7dd8dd9gdd:dd;dd<dd5d
d=d"ededg ddd>d#d?dd=ed@dAdidBdCddDdEddDdFddDgZdG ZyH)I	HolodexIEz(?x)https?://(?:www\.|staging\.)?holodex\.net/(?:
            api/v2/playlist/(?P<playlist>\d+)|
            watch/(?P<id>[\w-]{11})(?:\?(?:[^#]+&)?playlist=(?P<playlist2>\d+))?
        )z%https://holodex.net/watch/9kQ2GtvDV3s be5ffce2f0feae8ba4c01553abc0f175extmp4id9kQ2GtvDV3stitleuV   【おちゃめ機能】ホロライブが吹っ切れた【24人で歌ってみた】
channel_idUCJFZiqLMntJufDCHc6bQixgplayable_in_embedTtagszcount:43	age_limit    live_statusnot_livedescriptionz$md5:040e866c09dc4ab899b36479f4b7c7a2channel_urlz8https://www.youtube.com/channel/UCJFZiqLMntJufDCHc6bQixgupload_date20200406uploader_urlz7http://www.youtube.com/channel/UCJFZiqLMntJufDCHc6bQixg
view_countchannelu'   hololive ホロライブ - VTuber Group
categoriesMusicuploaderchannel_follower_countpublicz:https://i.ytimg.com/vi_webp/9kQ2GtvDV3s/maxresdefault.webpi  )uploader_idavailability	thumbnailduration
like_count)urlmd5	info_dictz'https://holodex.net/api/v2/playlist/239239zRSongs/Videos that made fall into the rabbit hole (from my google activity history))r   r      )r(   r*   playlist_countz9https://holodex.net/watch/_m2mQyaofjI?foo=bar&playlist=6969u!   拿著金斧頭的藍髮大姊姊   z1https://holodex.net/watch/_m2mQyaofjI?playlist=69_m2mQyaofjIr'   u   Ernst / エンストr&      z7http://www.youtube.com/channel/UCqSX4PPZY0cyetqKVY_wRVAEntertainmentu0   【星街すいせい】星街向你獻上晚安20210705z$md5:8b8ffb157bae77f2d109021a0b577d4aUCqSX4PPZY0cyetqKVY_wRVAz8https://www.youtube.com/channel/UCqSX4PPZY0cyetqKVY_wRVAz:https://i.ytimg.com/vi_webp/_m2mQyaofjI/maxresdefault.webp)r   r$   r%   r   r#   comment_count
noplaylist)r(   r*   paramsz/https://staging.holodex.net/api/v2/playlist/125)r(   only_matchingz9https://staging.holodex.net/watch/rJJTJA_T_b0?playlist=25z-https://staging.holodex.net/watch/s1ifBeukThgc                 >   | j                  |      j                  ddd      \  }}}|xs |}| j                  ||      s| j                  d| t              S | j                  d| |      }| j                  t        |d      ||j                  d      t              S )	Nr   playlist	playlist2z https://www.youtube.com/watch?v=z$https://holodex.net/api/v2/playlist/)videos.r   name)ie)	_match_valid_urlgroup_yes_playlist
url_resultr   _download_jsonplaylist_from_matchesr   get)selfr(   video_idplaylist_idpl_id2datas         a/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/holodex.py_real_extractzHolodexIE._real_extract[   s    (,(=(=c(B(H(Hz[f(g%+v!+V!!+x8??%EhZ#PR[\\""%I+#WYde))45{DHHVDTYb * d 	d    N)__name__
__module____qualname__
_VALID_URLint_TESTSrL    rM   rK   r   r      su   J
 71
5
-
 m
 4	

  
 J
 
 :
 A
 U
 :
 U
 #
 @
 7)
  A!
" %c#
$ 6$U-
8 9i
  K8
  C
-
5
  
 #	

 .
 
 U
 ?+
 G
 :
 A
 -
 4
 %c
 #
  B!
" :#
$ V$U5 /
2  &7: A K ?WNF`	drM   r   N)commonr   youtuber   utilsr   r   rT   rM   rK   <module>rX      s    !   ^d ^drM   