
    i,                         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
JrJrJrJr   " S S\5      r " S	 S
\5      r " S S\5      rg)    N   )InfoExtractor   )Request)ExtractorErrorUserNotLive
js_to_jsontraverse_objupdate_url_queryurlencode_postdataurljoinc            	           \ rS rSrSrSrSrSSSSS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./rS  rS! r	S"r
g#)$FC2IE   zB(?:https?://video\.fc2\.com/(?:[^/]+/)*content/|fc2:)(?P<id>[^/]+)fc2z0http://video.fc2.com/en/content/20121103kUan1KHs a6ebe8ebe0396518689d963774a54eb720121103kUan1KHszBoxing again with Puffmp4zre:https?://.+\.jpe?g)idtitleext	thumbnailskip_downloadm3u8)urlmd5	info_dictparamsz.https://video.fc2.com/content/20121209FP73fxDx 066bdb9b3a56a97f49cbf0d0b8a75a1f20121209FP73fxDxz1Farewelling The Wiggles Live in Sydney Dec 8 2012zbSaying goodbye to the Wiggles at their Celebration Concert in Sydney, and what a concert that was!)r   r   r   r   descriptionr   r   r   z1http://video.fc2.com/en/content/20150125cEva0hDn/20150125cEva0hDn)r   r   zytdl@yt-dl.orgz(snip))usernamepasswordzrequires actual password)r   r   r   skipz2http://video.fc2.com/en/a/content/20130926eZpARwsFT)r   only_matchingc                     U R                  5       u  pUb  Uc  gUUSSS.n[        U5      n[        SU5      nU R                  US SSS9nS	U;  a  U R	                  S
5        g[        S5      nU R                  US SSS9  g)NFvideoz Login )emailr%   doneSubmitzAhttps://secure.id.fc2.com/index.php?mode=login&switch_language=enz
Logging inzUnable to log in)noteerrnotezmode=redirect&login=donez*unable to log in: bad username or passwordz+http://id.fc2.com/?mode=redirect&login=donezLogin redirectzLogin redirect failedT)_get_login_infor   r   _download_webpagereport_warning)selfr$   r%   login_form_strs
login_datarequestlogin_resultslogin_redirs           A/app/mltbenv/lib/python3.13/site-packages/yt_dlp/extractor/fc2.py_loginFC2IE._login<   s    !113x/  	
 (8
OQ[] ..w<Yk.l%]: LM KL$4>U 	 	W     c                     U R                  U5      nU R                  5         S nUR                  S5      (       d;  U R                  X5      nU R                  R                  5         U R                  5         Su  pEnUb3  U R                  SUSSS9nU R                  U5      nU R                  US S9nU R                  SU S	3US
S9n[        US5      nU(       d  [        S5      e[        SU5      nUUUSUR                  S5      S:X  a  SOSUUS.$ )Nfc2:)NNN)z*<h2\s+class="videoCnt_title">([^<]+?)</h2>z;\s+href="[^"]+"\s*title="([^"]+?)"\s*rel="nofollow">\s*<imgz9\s+href="[^"]+"\s*title="([^"]+?)"\s*rel="nofollow">\s*\1r   Ffatal)defaultz+https://video.fc2.com/api/v3/videoplaylist/z
?sh=1&fs=0zDownloading info pager-   )playlistnqzUnable to extract video URLzhttps://video.fc2.com/r   typer   m3u8_nativehttps)r   r   r   r   protocolr!   r   )	_match_idr9   
startswithr0   	cookiejarclear_session_cookies_html_search_regex_og_search_thumbnail_og_search_description_download_jsonr
   r   r   get)	r2   r   video_idwebpager   r   r!   vidplaylistvid_urls	            r8   _real_extractFC2IE._real_extractY   s7   >>#&~~f%%,,S;GNN002KKM(8%+++O u , &E 11':I55gt5LK))9(:NPX( * * {,>? !>??2G< )4)@A)E7&"
 	
r;    N)__name__
__module____qualname____firstlineno__
_VALID_URLIE_NAME_NETRC_MACHINE_TESTSr9   rU   __static_attributes__rW   r;   r8   r   r      s    VJGNA1$-1	
 V
 @1$H1
	 C$

 ) 
 + DE%FN:%
r;   r   c                   8    \ rS rSrSrSrSSSSSS	S
.S.rS rSrg)
FC2EmbedIE   z1https?://video\.fc2\.com/flv2\.swf\?(?P<query>.+)z	fc2:embedu'  http://video.fc2.com/flv2.swf?t=201404182936758512407645&i=20130316kwishtfitaknmcgd76kjd864hso93htfjcnaogz629mcgfs6rbfk0hsycma7shkf85937cbchfygd74&i=201403223kCqB3Ez&d=2625&sj=11&lang=ja&rel=1&from=11&cmt=1&tk=TlRBM09EQTNNekU9&tl=プリズン･ブレイク%20S1-01%20マイケル%20【吹替】 b8aae5334cb691bdb1193a88a6ab5d5a201403223kCqB3Ezflvu;   プリズン･ブレイク S1-01 マイケル 【吹替】zre:^https?://.*\.jpg$)r   r   r   r   r"   c           
         U R                  U5      n[        R                  R                  UR	                  S5      5      nUS   S   nUR                  SSU 3/5      S   nUR                  SS /5      S   nS nU(       a2  SR                  US	R                  US S
 US
S US   US   U45      5      nS[        R                  5       SU 3UUS.$ )Nqueryitlz
FC2 video r   sjz.http://video{}-thumbnail.fc2.com/up/pic/{}.jpg/      url_transparentr=   )_typeie_keyr   r   r   )
_match_valid_urlurllibparseparse_qsgrouprP   formatjoinr   rs   )r2   r   mobjrh   rQ   r   rl   r   s           r8   rU   FC2EmbedIE._real_extract   s    $$S)%%djj&9::b>		$:hZ!8 9:1=YYtdV$Q'	HOOCHHhrlHQqM8B<RTW_`acI 'lln($"
 	
r;   rW   N)	rX   rY   rZ   r[   r\   r]   _TESTrU   r`   rW   r;   r8   rb   rb      s2    EJG y1$R1	
	E
r;   rb   c                   <    \ rS rSrSrSrSSSSSSS	.S
S./rS rSrg)	FC2LiveIE   z#https?://live\.fc2\.com/(?P<id>\d+)zfc2:livezhttps://live.fc2.com/57892267/57892267u   どこまで・・・u   あつあげzre:https?://.+fc2.+)r   r   uploaderuploader_idr   
livestream)r   r   r&   c                 `   U R                  U5      nU R                  SU S3U5      nU R                  SSS5        U R                  SU[	        SSSUS.5      SS	9nU R                  S
US[	        USSUS   S   S   SSSSS.5      SS0S9n[        US[        145      (       a  SU;  a	  [        US9eU R                  SSUS   5        [        US   SUS   05      nS nU R                  [        USS0S 9US!S"9nU R                  S#5         UR                  5       n	U	(       d  M  U R                  XS%S&9n
U
(       a  [        U
[        5      (       d  MH  U
R!                  S'5      S(:X  a  OM_  UR#                  S)5         UR                  5       n	U	(       d  M  U R                  XS%S&9n
U
(       a  [        U
[        5      (       d  MH  U
R!                  S'5      S*:X  a)  U
R!                  S+5      S,:X  a  U R                  S-5        U
nO7U R                  S.R%                  U	S S/ ['        U	5      S/:  a  S0OS5      5        M  U(       d  [)        S15      e/ nUS2   R+                  5        H|  u  p[        U[,        5      (       d  M  U HZ  nUR!                  S5      S3:X  d  M  S4UR!                  S5      ;   d  M1  UR/                  U R1                  US   US5US$SUS6.S795        M\     M~     U H  nUR3                  S8US9.5        M     U R5                  S:US;S%S&9nU(       d0  U R7                  US<S%S&9nU(       a  [8        R:                  " S=SU5      nS nU(       a/  U R=                  S>US?S S@SA9nU(       a  [?        U5      (       a  Uu  nnU R=                  SBUSCS%S&9=(       d    S nU(       a3  [8        R:                  " SDSEU5      nU R                  [A        U5      U5      nUU=(       d    [        USF5      U R5                  SGUSHS%S&9=(       d    [        USI5      UU=(       d    [        US'5      U[        USJ5      S$SK.$ )LNzhttps://live.fc2.com/rm   zlive.fc2.comzjs-player_size1z&https://live.fc2.com/api/memberApi.php)channelprofileuserstreamidzRequesting member info)datar-   z-https://live.fc2.com/api/getControlServer.phpzDownloading ControlServer dataplay r   channel_dataversionz
2.1.0
 [1]pcbrowser_hls)
channel_idmodeorzchannel_versionclient_versionclient_type
client_appipv6zX-Requested-WithXMLHttpRequest)r-   r   headersstatuscontrol_token)rQ   l_ortknorz_rawr   Originzhttps://live.fc2.com)r   z(Fetching HLS playlist info via WebSocketrA   zSending HLS server requestTFr>   nameconnect_completez4{"name":"get_hls_information","arguments":{},"id":1}
_response_r   r   GoodbyezServer said: {}{}d   z...z/Unable to fetch HLS playlist info via WebSocket	argumentsr   master_playlistr   )r   Referer)r   m3u8_idliver   fc2_live)rG   ws)zog:titleztwitter:titlez
live titlez
html titlez
\s+-\s+.+$z^(.+?)\s*\[(.+?)\]$ztitle and uploader)r   r   )r@   rx   z2(?s)liveInfoView\s*:\s*({.+?}),\s*premiumStateViewz	user infoz\$\(.+?\)[^,]+,z"",r   )zog:descriptionztwitter:descriptionzlive descriptioninfothumb)r   r   r!   formatsr   r   r   is_live)!rH   r0   _set_cookierO   r   r
   intr   r   _request_webpager   write_debugrecv_parse_json
isinstancedictrP   sendry   lenr   itemslistextend_extract_m3u8_formatsupdate_html_search_meta_html_extract_titleresub_search_regexallr	   )r2   r   rQ   rR   
member_apicontrol_serverws_urlplaylist_datar   r   r   r   r   	playlistsplfmtr   r   matchlive_info_views                       r8   rU   FC2LiveIE._real_extract   s   >>#&((+@
!)LhW)93?((4hEW$	Y F
 . ) /
 ,,;XLl#&#-f#5n#Ei#P"/#+	% 	 ,-=> - @ C5(9::Vd?dx00N94MN!."7/>ZiKj9kl""76,<
 $E # G 	56779D##D%#@Dz$55xx#55  	GH779D##D%#@Dz$55xx</DHHTNa4G  + $077Tc
SQUYY\_Ebdef   !RSS,[9??AODi..66(#q(->"&&--ONN4#=#=5	84&<'*! $> $     B CJJ&   &&'Dg|ch&i,,Wl%,PE}b%8&&'=uFZdhpv&wEU"'x++,acjlw  @E+  F  N  JNVV$6~NN!--j.H(SN Cl>7C119+5 2 : b=I.Z`=a HL$H#%ng>
 	
r;   rW   N)	rX   rY   rZ   r[   r\   r]   r_   rU   r`   rW   r;   r8   r   r      s<    7JG 0,&%/
 
 
Ft
r;   r   )r   urllib.parseru   commonr   
networkingr   utilsr   r   r	   r
   r   r   r   r   rb   r   rW   r;   r8   <module>r      sJ    	  !    m
M m
`#
 #
LD
 D
r;   