
    VGh                     F    d dl mZ ddlmZmZmZmZmZmZ  G d de      Z	y)   )InfoExtractor   )int_or_noneparse_iso8601str_or_nonestrip_or_nonetry_geturljoinc                       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ededededd	ddd d!id"d#d$d%gZd& Zy')(StreetVoiceIEz>https?://(?:.+?\.)?streetvoice\.com/[^/]+/songs/(?P<id>[0-9]+)z.https://streetvoice.com/skippylu/songs/123688/ 0eb535970629a5195685355f3ed60bfdid123688extmp3titleu   流浪descriptionz$md5:8eb0bfcc9dcd8aa82bd6efca66e3fea6	thumbnailzre:^https?://.*\.jpgdurationi  upload_date20100923uploaderu   Crispy脆樂團uploader_id627810uploader_urlz&re:^https?://streetvoice.com/skippylu/	timestampi]L
view_count
like_countcomment_countrepost_counttracktrack_idalbum2010)urlmd5	info_dictz/http://tw.streetvoice.com/skippylu/songs/94440/T)r%   only_matchingc                    | j                  |      }d| d}| j                  ||ddi      d   }g }dD ]  \  }}| j                  ||z   dz   |d| d	d
d      xs i j                  d      }|s<d||dd}	|dk(  rd|	d<   | j                  d|dd       }
|
rt	        |
      }
|	j                  |
|
d       |j                  |	        j                  d      xs i }|j                  d      }fd}i d|d|d|dt        j                  d            d j                  d!      d"t        j                  d#            d$t        j                  d%            d&t        |d'       d(t        |j                  d            d)|rt        |d| d      nd d* |d+      d, |d-      d. |d/      d0 |d1      d2|d3|d4t        d5       S )6Nz$https://streetvoice.com/api/v4/song//fieldszalbum,comments_count,created_at,id,image,length,likes_count,name,nickname,plays_count,profile,share_count,synopsis,user,username)queryname))zhls/filehls)filehttp)zfile/originaloriginalzDownloading z format URL    F)datafatalr/   r   none)r   	format_idr%   vcodecr.   m3u8_nativeprotocolz\.mp3\.(\d+)kbitrate)default)abrtbruserusernamec                 >    t        j                  | dz               S )N_count)r   get)xsongs    e/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/streetvoice.py<lambda>z-StreetVoiceIE._real_extract.<locals>.<lambda>M   s    k$((1x<*@A r2   r   formatsr   r   synopsisr   imager   lengthr   
created_atr   c                     | d   d   S )Nprofilenickname rC   s    rE   rF   z-StreetVoiceIE._real_extract.<locals>.<lambda>W   s    )Z0H r2   r   r   r   playsr   likesr   commentsr    sharer!   r"   r#   c                     | d   d   S )Nr#   r-   rO   rP   s    rE   rF   z-StreetVoiceIE._real_extract.<locals>.<lambda>`   s    QwZ-? r2   )	_match_id_download_jsonrB   _search_regexintupdateappendr   r   r   r	   r   r
   )selfr%   song_idbase_urlr   rG   suffixr6   f_urlfr<   r>   r?   	get_countrD   s                 @rE   _real_extractzStreetVoiceIE._real_extract*   s   ..%9'!D""8W  Y=
"  V!g 	FI((6!C'yk5 ) ' - +-cc&k  & 	A E! -*$$%5uiQU$VC#h  NN1-	0 xx%288J'A	
'
w
 U
 =*)=>	

 '*
 DHHX$67
 txx'=>
 &HI
 ;txx~6
 XGC1XJa94
 )G,
 )G,
 Yz2
 Ig.
 U
  !
" WT#?@#
 	
r2   N)__name__
__module____qualname__
_VALID_URLrY   _TESTSrc   rO   r2   rE   r   r      s	   RJ?1
(
5
 X
 A	

 0
 
 :
 )
 8
 D
 
 #
 #
 S
 C
  X!
" #
$ V%
0 A/F87
r2   r   N)
commonr   utilsr   r   r   r   r	   r
   r   rO   r2   rE   <module>rk      s     ! U
M U
r2   