
    V|h?                         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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 " S S\5      rg)    N   )InfoExtractor   )HEADRequest)ExtractorErrorbase_url
clean_htmlextract_attributesget_element_html_by_classget_element_html_by_idint_or_none
js_to_jsonmimetype2extsanitize_urltraverse_objtry_callurl_basenameurljoinc                      \ rS rSrSrSr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_0 SS_S S!_S"S#_S$S#_S%S&_S'S&_S(S)_S*S)_S+S,_S-S,_S.S/_S0S1_S2S1_S3S1_S4S5_S6S5_S7S8_ES8S9S9S:S;.ErS< rS= rS> r	S? r
S@rgA)B	RCSBaseIE   z7[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}z[\w-]+-\d{10}zvideoamica-vh.akamaihdamicazmedia2-amica-it.akamaizedzcorrierevam-vh.akamaihdcorrierezmedia2vam-corriere-it.akamaizedzcormezzogiorno-vh.akamaihdcorrieredelmezzogiornoz+media2vam-mezzogiorno-corriere-it.akamaizedzcorveneto-vh.akamaihdcorrieredelvenetoz&media2vam-veneto-corriere-it.akamaizedzcorbologna-vh.akamaihdcorrieredibolognaz'media2vam-bologna-corriere-it.akamaizedzcorfiorentino-vh.akamaihdcorrierefiorentinoz*media2vam-fiorentino-corriere-it.akamaizedzcorinnovazione-vh.akamaihdcorriereinnovazionez%media2-gazzanet-gazzetta-it.akamaizedgazzanetzvideogazzanet-vh.akamaihdzvideogazzaworld-vh.akamaihd
gazzaworldzgazzettavam-vh.akamaihdgazzettazmedia2vam-gazzetta-it.akamaizedzvideoiodonna-vh.akamaihdiodonnazmedia2-leitv-it.akamaizedleitvzvideoleitv-vh.akamaihdzvideoliving-vh.akamaihdlivingz#media2-living-corriere-it.akamaizedzmedia2-oggi-it.akamaizedoggizvideooggi-vh.akamaihdzmedia2-quimamme-it.akamaizedquimammezquimamme-vh.akamaihdzvideorunning-vh.akamaihdrunningz"media2-style-corriere-it.akamaizedstylezstyle-vh.akamaihdzvideostyle-vh.akamaihdz media2-stylepiccoli-it.akamaizedstylepiccolizstylepiccoli-vh.akamaihdzdoveviaggi-vh.akamaihdviaggi
vivimilanoyoureporter)zmedia2-doveviaggi-it.akamaizedz'media2-vivimilano-corriere-it.akamaizedzvivimilano-vh.akamaihdzmedia2-youreporter-it.akamaizedc              #   L  #    [        USSS 45       GH  nUS   nS H  u  pEUR                  XE5      nM     [        US   5      nUS:X  aV  SU;   aP  [        R                  " S	U5      nU(       a2  S
U R
                  UR                  S5          UR                  S5       3n[        US5      (       d  US:X  a  SU;   a  UR                  SS5      nUS:X  a  SU;   a  UR                  SS5      nUS:X  a  UR                  SS5      nUUUR                  S5      S.v   GM     g 7f)NmediaProfile	mediaFilec                 $    UR                  S5      $ )NmimeType)get)_vs     N/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/rcs.py<lambda>*RCSBaseIE._get_video_src.<locals>.<lambda>H   s    !%%
:K    value))z#media2vam.corriere.it.edgesuite.net#media2vam-corriere-it.akamaized.net)z"media.youreporter.it.edgesuite.netz"media-youreporter-it.akamaized.net)z%corrierepmd.corriere.it.edgesuite.netz%corrierepmd-corriere-it.akamaized.net)z=media2vam-corriere-it.akamaized.net/fcs.quotidiani/vr/videos/zvideo.corriere.it/vr360/videos/)zhttp://zhttps://r1   m3u8z-vh.akamaihdz5(?:https?:)?//(?P<host>[\w\.\-]+)\.net/i(?P<path>.+)$zhttps://vod.rcsobjects.it/hls/hostpath)r.   geoblockingzfcs.quotidiani_!zvod.rcsobjectszvod-it.rcsobjectsvodz.csmilz.urlsetmp3r:   zvod.rcsobjects.it/corrierebitrate)typeurlrA   )r   replacer   research_MIGRATION_MAPgroupr2   )selfvideosourcerC   srtype_matchess           r5   _get_video_srcRCSBaseIE._get_video_srcF   s8    "5-K+M NF/C kk!' !
!34E>S#8))$\^ab:4;N;Nw}}]cOd;e:fgngtgtu{g|f}~CE#BCCVO(:c(Akk"24GH5C<kk(I6~kk"GIef !::i0 5Ns   D"D$c              #     ^#    U H  nUS   S:X  a  M  [         R                  " SSUS   5      nXCS   :X  a  M3  UR                  5       mTS	 [        U4S j5      nU R	                  [        U5      USS	U 3S
9nU(       d  M|  TR                  UUS[        UR                  R                  SS 5      5      S.5        Tv   M     g 7f)Nvcodecnonez%(https?://[^/]+)/hls/([^?#]+?\.mp4).+z\g<1>/\g<2>rC   manifest_urlc                  .   > T S   R                  SS5      $ )N	format_idzhls-zhttps-)rD   )http_fs   r5   r6   0RCSBaseIE._create_http_formats.<locals>.<lambda>q   s    )<)D)DVX)Vr8   FzCheck filesize for )fatalnotehttpszContent-Length)rW   rC   protocolfilesize_approx)
rE   subcopyr   _request_webpager   updater   headersr2   )rI   m3u8_formatsvideo_idfhttp_urlrW   urlhrX   s          @r5   _create_http_formatsRCSBaseIE._create_http_formatsg   s     A{f$vvFXYZ_X`aHU8#VVXF~& !VWI((X)>PU0CI;.O ) QDMM&##.t||/?/?@PRV/W#X	  L+ s   CCc           	   #      #    U Ho  nUS   S:X  a;  U R                  US   USSSS9nU S h  vN   U R                  XB5       S h  vN   MG  US   S:X  d  MR  S	SSS
UR                  S5      US   S.v   Mq     g  NL N57f)NrB   r;   rC   mp4hlsF)m3u8_idrZ   r@   	https-mp3rT   rA   )rW   extacodecrS   abrrC   )_extract_m3u8_formatsri   r2   )rI   sourcesre   rK   rd   s        r5   _create_formatsRCSBaseIE._create_formats   s     Ff~'#995M8UE  :  P'''44\LLL5(!, #$!::i0!%=   (Ls'   *A=A9A=A;A=#A=;A=c                 8   U R                  U5      R                  SS5      u  p#Su  pE[        R                  " U R                  U5      (       d&  [        R                  " U R
                  U5      (       a	  SU SU 3nOU R                  X5      n[        SU5      =(       d    [        SU5      nU(       as  U R                  [        U5      R                  S5      USS	9=(       d    0 nUR                  S
5      (       a  US
    S3nX7R                  S5      =(       d    Up4SU SU 3nOMU R                  SXcSS S9nU(       a4  U R                  [        USS9U5      nX5R                  S5      =(       d    Up4U(       de  U R                  X5      nU R                  SUSUS S[         S9nU(       d4  ["        R%                  U5      n	U	(       a  SU	["        R'                  5       S.$ U(       d  [)        S5      eUUUR                  S5      [+        UR                  S5      5      =(       d3    [+        UR                  S5      5      =(       d    U R-                  SW5      UR                  S5      =(       d    U[/        U R1                  U R3                  U5      U5      5      S.$ )Ncdnid)NNzhttps://video.z/video-json/divVideoPlayerzdata-configF)rZ   	newspaperz.ituuidz(?x)url\s*=\s*(["'])
                    (?P<url>
                        (?:https?:)?//video\.rcs\.it
                        /fragment-includes/video-includes/[^"']+?\.json
                    )\1;rC   )rH   defaultr\   schemez##start-video##z
video dataz##end-video##)r}   end_patterntransform_sourceurl_transparent)_typerC   ie_keyz Video data not found in the pagetitledescriptionhtmlDescriptionprovider)ry   
display_idr   r   uploaderformats)_match_valid_urlrH   rE   match_UUID_RE
_RCS_ID_RE_download_webpager   r   _parse_jsonr
   r2   _search_regex_download_jsonr   _search_jsonr   RCSEmbedsIE_extract_urlr   r   r	   _html_search_metalistru   rP   )
rI   rC   rx   re   r   
video_datawebpagedata_configjson_urlembs
             r5   _real_extractRCSBaseIE._real_extract   s   --c288E!+
88DMM8,,(0S0S"3%|H:>C,,S;G01A7K  DOhiy  |C  PDK"..&{377FE / + 1.0  ??;//(56c:C'/1H1THH&se<zB--
 UD . B !%!4!4\(SZ5[]e!fJ+3^^D5I5UX,,S;G**!7L(D+j + JJ !..w7!2""-"4"4"6   !CDD $^^G,&z~~m'DE N)*..9J*KLN#55mWM"z29cD001D1DZ1PRZ[\	
 		
r8    N)__name__
__module____qualname____firstlineno__r   r   rG   rP   ri   ru   r   __static_attributes__r   r8   r5   r   r      s    JH!J' ''#W' 	":' 	*:	'
 	%&>' 	67O' 	 !4' 	12E' 	!"5' 	23F' 	$%9' 	56J' 	%&;' 	0' 	$Z'  	&|!'" 	":#'$ 	*:%'& 	#I''( 	$W)'* 	!'+', 	"8-'. 	.x/'0 	#F1'2 	 3'4 	'
5'6 	
7'8 	#I9': 	-g;'< 	W='> 	!'?'@ 	+NA'B 	#NC'D 	!(E'F +33?".+8M'NRB0";
r8   r   c                      ^  \ rS rSrSrS/rSSSSSS	S
S.S.SSS.SSS./rSSSSSS
S.S./r\S 5       r	\
U 4S j5       rSrU =r$ )r      a?  (?x)
                    https?://(?P<vid>video)\.
                    (?P<cdn>
                    (?:
                        rcs|
                        (?:corriere\w+\.)?corriere|
                        (?:gazzanet\.)?gazzetta
                    )\.it)
                    /video-embed/(?P<id>[^/=&\?]+?)(?:$|\?)a  (?x)
            (?:
                data-frame-src=|
                <iframe[^\n]+src=
            )
            (["'])
                (?P<url>(?:https?:)?//video\.
                    (?:
                        rcs|
                        (?:corriere\w+\.)?corriere|
                        (?:gazzanet\.)?gazzetta
                    )
                \.it/video-embed/.+?)
            \1z3https://video.rcs.it/video-embed/iodonna-0001585037 0faca97df525032bb9847f690bc3720cziodonna-0001585037rl   z6Sky Arte racconta Madonna nella serie "Artist to icon"z$md5:65b09633df9ffee57f48b39e34c9e067rcs.itry   rp   r   r   r   rC   md5	info_dictzGhttps://video.gazzanet.gazzetta.it/video-embed/gazzanet-mo05-0000260789TrC   only_matchingzJhttps://video.gazzetta.it/video-embed/49612410-00ca-11eb-bcd8-30d4253e0140zhttps://www.iodonna.it/video-iodonna/personaggi-video/monica-bellucci-piu-del-lavoro-oggi-per-me-sono-importanti-lamicizia-e-la-famiglia/ziodonna-0002033648uZ   Monica Bellucci: «Più del lavoro, oggi per me sono importanti l'amicizia e la famiglia»z$md5:daea6d9837351e56b1ab615c06bebac1)rC   r   c                 R    [        U SS9n [        [        U 5      [        U 5      5      $ )Nr\   r~   )r   r   r   r   )rC   s    r5   _sanitize_urlRCSEmbedsIE._sanitize_url  s$    3w/x}l3&788r8   c                 J   > [        U R                  [        TU ]  X5      5      $ )N)mapr   super_extract_embed_urls)clsrC   r   	__class__s      r5   r   RCSEmbedsIE._extract_embed_urls  s     3$$eg&A#&OPPr8   r   )r   r   r   r   
_VALID_URL_EMBED_REGEX_TESTS_WEBPAGE_TESTSstaticmethodr   classmethodr   r   __classcell__)r   s   @r5   r   r      s    ?J L E1&MA 

 Y \F$ [&rA 
	 	N 9 9 Q Qr8   r   c                       \ 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%./rS&rg')(RCSIEi  a  (?x)https?://(?P<vid>video|viaggi)\.
                    (?P<cdn>
                    (?:
                        corrieredelmezzogiorno\.
                        |corrieredelveneto\.
                        |corrieredibologna\.
                        |corrierefiorentino\.
                    )?corriere\.it
                    |(?:gazzanet\.)?gazzetta\.it)
                    /(?!video-embed/)[^?#]+?/(?P<id>[^/\?]+)(?=\?|/$|$)zhttps://video.corriere.it/sport/formula-1/vettel-guida-ferrari-sf90-mugello-suo-fianco-c-elecrerc-bendato-video-esilarante/b727632a-f9d0-11ea-91b0-38d50a849abb 14946840dec46ecfddf66ba4eea7d2b2z$b727632a-f9d0-11ea-91b0-38d50a849abbrl   uf   Vettel guida la Ferrari SF90 al Mugello e al suo fianco c'è Leclerc (bendato): il video è esilarantez$md5:3915ce5ebb3d2571deb69a5eb85ac9b5zCorriere Tvr   r   zhhttps://viaggi.corriere.it/video/norvegia-il-nuovo-ponte-spettacolare-sopra-la-cascata-di-voringsfossen/ f22a92d9e666e80f2fffbf2825359c81z$5b7cd134-e2c1-11ea-89b3-b56dd0df2aa2zFnorvegia-il-nuovo-ponte-spettacolare-sopra-la-cascata-di-voringsfossenuK   La nuova spettacolare attrazione in Norvegia: il ponte sopra Vøringsfossenz$md5:18b35a291f6746c0c8dacd16e5f5f4f8zDOVE Viaggiry   r   rp   r   r   r   zhttps://video.corriere.it/cronaca/audio-telefonata-il-papa-becciu-santita-lettera-che-mi-ha-inviato-condanna/b94c0d20-70c2-11ed-9572-e4b947a0ebd2 aaffb08d02f2ce4292a4654694c78150z$b94c0d20-70c2-11ed-9572-e4b947a0ebd2r@   ui   L'audio della telefonata tra il Papa e Becciu: «Santità, la lettera che mi ha inviato è una condanna»z$md5:c0ddb61bd94a8d4e0d4bb9cda50a689bro   )rW   rp   )ry   rp   r   r   r   r   zIhttps://viaggi.corriere.it/video/milano-varallo-sesia-sul-treno-a-vapore/ 2dfdce7af249654ad27eeba03fe1e08dz$d8f6c8d0-f7d7-11e8-bfca-f74cf4634191z'milano-varallo-sesia-sul-treno-a-vaporez'Milano-Varallo Sesia sul treno a vaporez$md5:6348f47aac230397fe341a74f7678d53zhhttps://video.corriere.it/video-360/metro-copenaghen-tutta-italiana/a248a7f0-e2db-11e9-9830-af2de6b1f945Tr   r   Nr   r   r   r   r   r   r   r   r8   r5   r   r     s    	KJ q18~A%
	 z18bbA%
	 c18 BA%&1%@A
	 [18C>A%
	 z_2Fr8   r   c                   d    \ 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./rSrg)RCSVariousIEiL  z(?x)https?://www\.
                    (?P<cdn>
                        leitv\.it|
                        youreporter\.it|
                        amica\.it
                    )/(?:[^/]+/)?(?P<id>[^/]+?)(?:$|\?|/)z,https://www.leitv.it/benessere/mal-di-testa/ 3b7a683d105a7313ec7513b014443631zleitv-0000125151zmal-di-testarl   zDCervicalgia e mal di testa, il video con i suggerimenti dell'espertoz$md5:ae21418f34cee0b8d02a487f55bcabb5zleitv.itr   r   z6https://www.youreporter.it/fiume-sesia-3-ottobre-2020/ 3989b6d603482611a2abd2f32b79f739zyoureporter-0000332574zfiume-sesia-3-ottobre-2020zFiume Sesia 3 ottobre 2020z$md5:0070eef1cc884d13c970a4125063de55zyoureporter.itzghttps://www.amica.it/video-post/saint-omer-al-cinema-il-film-leone-dargento-che-ribalta-gli-stereotipi/ 187cce524dfd0343c95646c047375fc4zamica-0001225365zFsaint-omer-al-cinema-il-film-leone-dargento-che-ribalta-gli-stereotipizJ"Saint Omer": al cinema il film Leone d'argento che ribalta gli stereotipiz$md5:b1c8869c2dcfd6073a2a311ba0008aa8r   r   Nr   r   r8   r5   r   r   L  s~    =J >1$(\A"
 H1*61A(
 y1$bbA 
-!Fr8   r   )rE   commonr   
networkingr   utilsr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r8   r5   <module>r      sY    	 ! $   $t
 t
n;Q) ;Q|=I =@(9 (r8   