
    V|h                     Z    S SK Jr  SSKJr  SSKJrJrJrJrJ	r	  SSK
Jr   " S S\5      rg)	   )InfoExtractor   )	HTTPError)ExtractorError
clean_htmlint_or_nonestr_or_noneurl_or_none)traverse_objc                       \ rS rSrSr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.SSSSSSS	/S .S!S"/S#.S$S%S&S'S(S)S*S+S
S,S-/S..
S./rS/ rS0 rS1rg2)3SkebIE   z=https?://skeb\.jp/@(?P<uploader_id>[^/?#]+)/works/(?P<id>\d+)z"https://skeb.jp/@riiru_wm/works/10466853mp4z10-1z$md5:1ec50901efc3437cfbfe3790468d532di9  videozre:https?://.+u   姫ノ森りぃる@ひとづまriiru_wm)	idexttitledescriptiondurationgenres	thumbnailuploaderuploader_id)url	info_dictz%https://skeb.jp/@furukawa_nob/works/3489408mp3z3-1z$md5:6de1f8f876426a6ac321c123848176a8b   voicezcount:11u%   古川ノブ@宮城の動画勢Vtuberfurukawa_nob)
r   r   r   r   r   r   tagsr   r   r   z*https://skeb.jp/@Rizu_panda_cube/works/626626z$md5:834557b39ca56960c5f77dd6ddabe775u   りづ100億%Rizu_panda_cubezcount:57)r   r   r   r   r#   r   r   zSkipping unsupported extension)r   r   playlist_countexpected_warningsz'https://skeb.jp/@Yossshy_Music/works/13wav5566495z13-1z$md5:1026b8b9ae38c67c2d995970ec196550YossshyYossshy_MusiciP  zcount:59music)
r   r   r   r   r   r   r   r   r#   r   c                 6    U R                  SU SU 3USSS.S9$ )Nzhttps://skeb.jp/api/users/z/works/zapplication/jsonzBearer null)AcceptAuthorization)headers)_download_json)selfr   work_ids      O/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/skeb.py	_call_apiSkebIE._call_apiF   s8    ""(WWIF,!.Z #  	    c                    U R                  U5      R                  SS5      u  p# U R                  X#5      nSU0[        US[        1S	 14S
[        1[         ["        4S[$        1[         [&        [         4SS[$        1[         [&        [         4SS[$        14S.5      En/ n	[)        [        USS 45      S5       H  u  p[        USS[$        145      nUS;  a  U R+                  SU S35        M6  U	R-                  UU SU
 3[/        UR1                  S5      5      (       a  SSUS   S./0OS US;   a  SOS S .UE[        US[2        14S![.        14S"[.        14S#.5      E[        USS$[4        14S%[4        14S&[4        14S'[4        14S(.45      E5        M     U R6                  " X40 UD6$ ! [         a  n[	        UR
                  [        5      (       a  UR
                  R                  S:w  a  e UR
                  R                  R                  5       R                  5       nU R                  SUS5      nU R                  SSU5        U R                  X#5      n S nAGN$S nAff = f))Nr   r   i  z2document\.cookie\s*=\s*["\']request_key=([^;"\']+)zrequest keyzskeb.jprequest_keynsfwc                     U (       a  S$ S $ )N    )xs    r4   <lambda>&SkebIE._real_extract.<locals>.<lambda>]   s    q9Jd9Jr7   )source_bodybodygenretag_list.creatorname)	age_limitr   r   r#   r   previewsc                     [        US   5      $ )Nr   )r
   )_vs     r4   r?   r@   f   s    T_`abg`hTir7   r   information	extension)r   r   r(   z Skipping unsupported extension ""-vtt_urljavtt)r   r   )r   r(   none)r   r   	subtitlesvcodec
poster_urlr   )r   r   r   r   
frame_rateheightwidth)r   fpsrX   rY   )_match_valid_urlgroupr5   r   
isinstancecauser   statusresponsereaddecode_search_regex_set_cookier   boolr   filteranystrall	enumeratereport_warningappendr
   getr	   r   playlist_result)r2   r   r   r3   worksewebpagevalueinfoentriesidxpreviewr   s                r4   _real_extractSkebIE._real_extractM   s   #44S9??tT		9NN;8E ;	
5$tf/J.KL 7*vsS"SE63?#S3%fE&6# 	
 %l5:Gi:j&kmnoLCwcU(KLC//##&Fse1$MNNN#9AcU+ !Y!788	 $&y1 
 ?C$'>$9&t  w+/".!>!K=1)   w!+k] ;(;-8'+7%}5	9 ) !  p< ##G===g  	9aggy11QWW^^s5Jgg&&++-446G&&EwP]_EYu=NN;8E	9s   F' '
I1B#IIr=   N)	__name__
__module____qualname____firstlineno__
_VALID_URL_TESTSr5   rw   __static_attributes__r=   r7   r4   r   r      s    QJ3Ai*9%

 7Ai*?)
 <A',i
 >? 9A!**i
O5Fn7>r7   r   N)commonr   networking.exceptionsr   utilsr   r   r   r	   r
   utils.traversalr   r   r=   r7   r4   <module>r      s(    ! -  +w>] w>r7   