
    V|hN-                     n    S SK rSSKJr  SSKJrJrJrJrJ	r	J
r
JrJrJrJr  SSKJrJr   " S S\5      rg)	    N   )StreaksBaseIE   )
ExtractorErrorGeoRestrictedErrorint_or_nonejoin_nonemptymake_archive_idsmuggle_urlstr_or_nonestrip_or_nonetime_secondsupdate_url_query)requiretraverse_objc            	          \ rS rSrSrS/rSrS0 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..ES/.S0 SS_SS	_SS_SS_SS_SS0_SS_SS1_SS_S2/ _SS_SS_SS_S S3_S"S4_S5S)_S6S*_S,S-S7.ES8S9S:S;/000S<.S=S>S?.S@S>S?.SASBSCSD.SESF.SGS,SSD.SHSI.SJS>S?./rSKrSLSMSNSO.r	0 r
0 rSP rSVSR jrSS rST rSUrgQ)WTVerIE   zbhttps?://(?:www\.)?tver\.jp/(?:(?P<type>lp|corner|series|episodes?|feature)/)+(?P<id>[a-zA-Z0-9]+)JPFz#https://tver.jp/episodes/epc1hdugbkid
epc1hdugbkextmp4
display_idz(ref:baeebeac-a2a6-4dbf-9eb3-c40d59b40068titleuR   神回だけ見せます！ #2 壮烈！車大騎馬戦（木曜スペシャル）	alt_titleu\   神回だけ見せます！ #2 壮烈！車大騎馬戦（木曜スペシャル） 日テレdescriptionz$md5:2726f742d5e3886edeaf72fb6d740fefuploader_idztver-ntvchannelu	   日テレdurationgjt@	thumbnailzShttps://statics.tver.jp/images/content/thumbnail/episode/xlarge/epc1hdugbk.jpg?v=16seriesu   神回だけ見せます！episodeu6   #2 壮烈！車大騎馬戦（木曜スペシャル）episode_numberr   	timestampigupload_date20250110modified_timestampixgmodified_date20250114not_livei-ob20220502z6brightcovenew ref:baeebeac-a2a6-4dbf-9eb3-c40d59b40068
sru35hwdd2
ss2lcn4af6)live_statusrelease_timestamprelease_date_old_archive_ids	series_id	season_id)url	info_dict4394098882001gClg@tagsis0nb20220501r0   r1   )r3   r4   extractor_argstverbackend
brightcove)r5   r6   paramszhttps://tver.jp/corner/f0103888T)r5   only_matchingzhttps://tver.jp/lp/f0033031z!https://tver.jp/series/srtxft431v
srtxft431vu   名探偵コナン)r   r      )r5   r6   playlist_mincountz!https://tver.jp/series/sru35hwdd2   )r5   r6   playlist_countz!https://tver.jp/series/srkq2shp9dzFhttp://players.brightcove.net/%s/default_default/index.html?videoId=%swebhttps://tver.jphttps://tver.jp/)zx-tver-platform-typeOriginRefererc                     U R                  SS SSS9n[        USSSS.45      U l        U R                  S	S S
S5      U l        g )NzAhttps://platform-api.tver.jp/v2/api/platform_users/browser/createzCreating sessions   device_type=pc)dataresultplatform_uidplatform_token)rM   rN   z2https://player.tver.jp/player/streaks_info_v2.jsonzDownloading STREAKS API infoz#Unable to download STREAKS API info)_download_jsonr   _PLATFORM_QUERY_STREAKS_API_INFO)selfsession_infos     O/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/tver.py_real_initializeTVerIE._real_initializem   sh    **O$+< + >  ,L8*.F
 ;   "&!4!4@$*,Q"S    Nc           
      n    U R                  SU 3X#X@R                  0 U R                  EU=(       d    0 ES9$ )Nz)https://platform-api.tver.jp/service/api/)fatalheadersquery)rO   _HEADERSrP   )rR   pathvideo_idnoterY   r[   s         rT   _call_platform_apiTVerIE._call_platform_apiy   sL    ""7v> 7&&7;B7 #  	rW   c           
   #      #    U R                  SU 3USU R                  S9n[        USSS SS[        145       H=  nU R	                  S	U 3US
U S35      n[        USSS SS[        145       S h  vN   M?     g  N	7f)Nz5https://service-api.tver.jp/api/v1/callSeriesSeasons/zDownloading seasons info)rZ   rL   contentsc                     US   S:H  $ )Ntypeseason _vs     rT   <lambda>6TVerIE._yield_episode_ids_for_series.<locals>.<lambda>   s    !F)xBWrW   contentr   zv1/callSeasonEpisodes/zDownloading season z episodes infoc                     US   S:H  $ )Nre   r#   rg   rh   s     rT   rk   rl      s    1V9	3IrW   )rO   r\   r   strr`   )rR   r3   seasons_infor4   episodes_infos        rT   _yield_episode_ids_for_series$TVerIE._yield_episode_ids_for_series   s     **CI;O14== + J &x5WYbdhknjoprI 33(4iCVW`VaaoAprM#M*&I9VZ]`\a4c d d d	rds   A0A>2A<3
A>c                 L   U R                  U5      R                  SS5      u  p#U R                  SS/5      S   nUS;  a  [        SU 3SS	9eUS
:X  aQ  U R	                  SU 3US5      nU R                  U R                  U5      U[        USSSS[        145      [        S S9$ US:w  a2  U R                  XSS9nU R                  U R                  SUS5      5      nU R	                  SU 3USSSS0S9n[        US5      =(       d    0 n[        US[        14SS 9n	U R                  S!U S"3US#S$U	0S%S&0S'9n
[        UR!                  S5      5      n[        UR!                  S(5      5      n[#        XS)S*9=(       d    [        U
R!                  S5      5      n[        UR!                  S+5      5      n[        UR!                  S,5      5      nS- VVVs/ s H!  u  nnnU[%        S.U S/U S03S$U	05      UUS1.PM#     nnnnUUU[#        XUS)S*9UUS2.[        U
S3[        14S4S5[&        14S6[&        14S7[        14S8[        14S9.5      En[        U
S:S;[        1[(        45      nU(       a  UR+                  5       (       d  S<U 3n[        U
SS=[        145      nU(       a  UR-                  S<5      (       d  S<U 3nUS>:X  d  U(       dt  US>:w  a  U R/                  S?US@9  U(       d
  [        SASS	9e[        U
S:SB[        1[1        SCSS	9145      n0 UESD[3        U R4                  UU4-  SEU R6                  05      SFSG.E$ U
S   SH   n[8        R:                  R=                  [?        SISJ9[8        R@                  RB                  5      RD                  SK-  =(       d    SKn U RG                  UUSLS&U RH                  U   SM   SNU 3   SO.5      n0 UEUEUU(       a  [Q        SFU5      /SQ.E$ S SQ.E$ s  snnnf ! [J         a1  nU RM                  URN                  U R6                  SSP9  0 n S nAN_S nAff = f)RNr   re   r<   streaksr   )r=   ru   zInvalid backend value: T)expectedr"   zv2/callSeries/zDownloading series inforL   rm   r   c                     SU  3$ )Nzhttps://tver.jp/episodes/rg   )xs    rT   rk   &TVerIE._real_extract.<locals>.<lambda>   s    .Gs,KrW   )iegetterepisodeszResolving to new URL)r_   )z-canonical"\s*href="(https?://tver\.jp/[^"]+)"z$&link=(https?://tver\.jp/[^?&]+)[?&]z	url regexzv1/callEpisode/zDownloading episode infoFrequire_dataz<mylist,later[epefy106ur],good[epefy106ur],resume[epefy106ur])rY   r[   )rL   r#   rm   version5)defaultz(https://statics.tver.jp/content/episode/z.jsonzDownloading video inforj   rI   rG   )r[   rZ   seriesTitle )delimproductionProviderNamebroadcastDateLabel))smalli  i  )mediumi  ih  )largei  i  )xlargei   i  z9https://statics.tver.jp/images/content/thumbnail/episode//z.jpg)r   r5   widthheight)r   r"   r#   r   r   
thumbnailsr   
viewStatusstartAtnoseriesIDseasonID)r   r0   r$   r3   r4   video)
videoRefIDvideoIDzref:r   r=   z:No STREAKS ID found; falling back to Brightcove extraction)r^   z)Unable to extract brightcove reference ID	accountIDzbrightcove account IDurl_transparentgeo_countriesBrightcoveNew)_typer5   ie_key	projectID	   )hours   rF   api_keykey0)rH   rI   zX-Streaks-Api-Key)	countriesmetadata_available)r   r2   ))_match_valid_urlgroup_configuration_argr   r`   playlist_from_matchesrr   r   ro   r   _download_webpage	_match_id_search_regexr   rO   r   getr	   r   r   any	isdecimal
startswithreport_warningr   r   BRIGHTCOVE_URL_TEMPLATE_GEO_COUNTRIESdtdatetimefromtimestampr   timezoneutcmonth_extract_from_streaks_apirQ   r   raise_geo_restrictedorig_msgr
   )rR   r5   r^   
video_typer<   series_infowebpageepisode_infoepisode_contentr~   
video_infor#   r"   r   provideronair_labelqualityr   r   r   metadatabrightcove_id
streaks_id
account_id
project_idkey_idxstreaks_infoes                               rT   _real_extractTVerIE._real_extract   s*   #44S9??fM)))i[A!D33 #:7)!DtTT!11 
+X7PRK--228<h[8Y	7UXTY*Z["K . M M
 #,,SAW,XG~~d&8&8k'& 'H ..hZ((4NV[ ^d /  ':< B?A 	 [M0JTWX((6xjFRj.96H*I ) K
   3 3G <=_00?@&5 4:>>'23 	 223KLM!/"5"56J"KL+
+& 'OPWyXYZbYccgh'N$  + 	 
$ &u3O$
 : -u5&2I}%M#'+"7(3%0(3%0( 
" %Z';TWZV[]`1ab!8!8!:!:"=/2M!*y,.NO
j33F;;
|,J l"*,&##P[c $ e $%P[_``%jseg6MX\.]-^3` aJ*"00J3NN$d&9&9:< *   	*;7
++++Lq,A2;;??SYY\]]bab		99*j+-%)%;%;J%G	%RUYZaYbSc%dS L


 Ub-!P Q	
 	
 im	
 	
U
J " 	%%ajjD<O<Odh%iL	s   (O!-O( (
P#2'PP#)rP   rQ   )NTN)__name__
__module____qualname____firstlineno__
_VALID_URLr   _GEO_BYPASS_TESTSr   r\   rP   rQ   rU   r`   rr   r   __static_attributes__rg   rW   rT   r   r      s   vJVNK 5
,
5
 D
 i	

 w
 A
 :
 {
 
 n
 3
 O
 a
 
 :
  !*!
" Z#
$ &!+&!Y Z%%/
< 5
<
5
 i
 w	

 A
 ?
 {
 
 n
 B
 3
 O
 a
 
 :
   !
" J#
$ &%'
* $fy<..I%JK14 1 - 3)
   32
  3SLFZ g %#%H
 O
S	dw
rW   r   )r   r   ru   r   utilsr   r   r   r	   r
   r   r   r   r   r   utils.traversalr   r   r   rg   rW   rT   <module>r      s-     "   4p
] p
rW   