
    V|h+                         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   " S S\5      r " S	 S
\5      r " S S\5      rg)    N   )InfoExtractor   )Request)ExtractorError
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           N/home/james-whalen/.local/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_idr8   
startswithr/   	cookiejarclear_session_cookies_html_search_regex_og_search_thumbnail_og_search_description_download_jsonr	   r   r   get)	r1   r   video_idwebpager   r   r    vidplaylistvid_urls	            r7   _real_extractFC2IE._real_extractX   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_TESTSr8   rT   __static_attributes__rV   r:   r7   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grouprO   formatjoinr   rr   )r1   r   mobjrg   rP   r   rk   r   s           r7   rT   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:   rV   N)	rW   rX   rY   rZ   r[   r\   _TESTrT   r_   rV   r:   r7   ra   ra      s2    EJG y1$R1	
	E
r:   ra   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 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  S.OS5      5        M  U(       d  [#        S/5      e/ nUS0   R%                  5        H|  u  p[        U[&        5      (       d  M  U HZ  nUR                  S15      S2:X  d  M  S3UR                  S5      ;   d  M1  UR)                  U R+                  US   US4US"SUS5.S695        M\     M~     U H  nUR-                  S7US8.5        M     U R/                  S9US:S#S$9nU(       d0  U R1                  US;S#S$9nU(       a  [2        R4                  " S<SU5      nS nU(       a/  U R7                  S=US>S S?S@9nU(       a  [9        U5      (       a  Uu  nnU R7                  SAUSBS#S$9=(       d    S nU(       a3  [2        R4                  " SCSDU5      nU R                  [;        U5      U5      nUU=(       d    [=        USE5      U R/                  SFUSGS#S$9=(       d    [=        USH5      UU=(       d    [=        US%5      U[=        USI5      S"SJ.$ )KNzhttps://live.fc2.com/rl   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l_ortknorz_rawr   control_tokenOriginzhttps://live.fc2.com)r   z(Fetching HLS playlist info via WebSocketr@   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	argumentsstatusr   master_playlistr   )r   Referer)r   m3u8_idliver   fc2_live)rF   ws)zog:titleztwitter:titlez
live titlez
html titlez
\s+-\s+.+$z^(.+?)\s*\[(.+?)\]$ztitle and uploader)r   r   )r?   rw   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)rG   r/   _set_cookierN   r   r
   _request_webpager   write_debugrecv_parse_json
isinstancedictrO   sendrx   lenr   itemslistextend_extract_m3u8_formatsupdate_html_search_meta_html_extract_titleresub_search_regexallr   r	   )r1   r   rP   rQ   
member_apicontrol_serverws_urlplaylist_datar   r   r   r   r   	playlistsplfmtr   r   matchlive_info_views                       r7   rT   FC2LiveIE._real_extract   sy   >>#&((+@
!)LhW)93?((4hEW$	Y F
 . ) /
 ,,;XLl#&#-f#5n#Ei#P"/#+	% 	 ,-=> - @ 	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:   rV   N)	rW   rX   rY   rZ   r[   r\   r^   rT   r_   rV   r:   r7   r~   r~      s<    7JG 0,&%/
 
 
Fq
r:   r~   )r   urllib.parsert   commonr   
networkingr   utilsr   r   r	   r
   r   r   r   ra   r~   rV   r:   r7   <module>r      sE    	  !   m
M m
`#
 #
LA
 A
r:   