
    V|h                     p    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   " S S\5      r " S S	\5      rg)
    N   )InfoExtractor   )	ExtractorError
clean_htmlfloat_or_noneget_element_by_attributeget_element_by_classint_or_none
js_to_jsontraverse_objurl_or_nonec            
           \ rS rSrSr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./rS rSrg)AmazonStoreIE   zghttps?://(?:www\.)?amazon\.(?:[a-z]{2,3})(?:\.[a-z]{2})?/(?:[^/]+/)?(?:dp|gp/product)/(?P<id>[^/&#$?]+)z'https://www.amazon.co.uk/dp/B098XNCHLD/
B098XNCHLD)idtitler   	info_dictA1F83G8C2ARO7Pmp4zmcdodo usb c cable 100W 5are:^https?://.*\.jpg$"   )r   extr   	thumbnaildurationzUnable to extract data)urlr   playlist_mincountplaylistexpected_warningszShttps://www.amazon.in/Sony-WH-1000XM4-Cancelling-Headphones-Bluetooth/dp/B0863TXGM3
B0863TXGM3   )r   r   r   r    z%https://www.amazon.com/dp/B0845NXCXF/
B0845NXCXF)r   r   zplaylist-mincountr    z^https://www.amazon.es/Samsung-Smartphone-s-AMOLED-Quad-c%C3%A1mara-espa%C3%B1ola/dp/B08WX337PQ
B08WX337PQc                    U R                  U5      nU R                  5        H,  nU R                  X5      n U R                  SUSU[        S9nM.     WR                  S5      =(       d    /  Vs/ s H  owR                  S5      (       d  M  UR                  S5      (       d  M2  US   US   UR                  S5      UR                  S	5      =(       d    UR                  S
5      UR                  S5      [        UR                  S5      5      [        UR                  S5      5      S.PM     nnU R                  XUR                  S5      S9$ ! [
         a  nXcl         S nAGMB  S nAff = fs  snf )Nz%var\s?obj\s?=\s?jQuery\.parseJSON\(\'data)transform_sourcevideosisVideor   marketPlaceIDr   thumbUrlthumbdurationSecondsvideoHeight
videoWidth)r   r   r   r   r   heightwidth)playlist_idplaylist_title)
	_match_idRetryManager_download_webpage_search_jsonr   r   errorgetr   playlist_result)	selfr   r2   retrywebpage	data_jsonevideoentriess	            Q/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/amazon.py_real_extractAmazonStoreIE._real_extract?   s_   nnS)&&(E,,S>G  --<gv{%/ . 1	 )" "h/525e 6e))I:N
 TYS\S\]bSc
(<YYw':.D%))G2D		"34!%))M":; <!89
 6 	 e ##GU^UbUbcjUk#ll "   es*   E.E,E,#B	E,
E)E$$E) N)	__name__
__module____qualname____firstlineno__
_VALID_URLstr_TESTSrC   __static_attributes__rE       rB   r   r      s    {J 9
 &55
  77!$ e
 67 7
 67 p
 67C)FVmrN   r   c                   v    \ 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./rS rSrg)AmazonReviewsIEW   z^https?://(?:www\.)?amazon\.(?:[a-z]{2,3})(?:\.[a-z]{2})?/gp/customer-reviews/(?P<id>[^/&#$?]+)zQhttps://www.amazon.com/gp/customer-reviews/R10VE9VUSY19L3/ref=cm_cr_arp_d_rvw_ttlR10VE9VUSY19L3r   zGet squad #Suspiciousz$md5:7012695052f440a1e064e402d87e0afbzKimberly Cronkrightg      ?r   )r   r   r   descriptionuploaderaverage_ratingr   $Review body was not found in webpage)r   r   r    z`https://www.amazon.com/gp/customer-reviews/R10VE9VUSY19L3/ref=cm_cr_arp_d_rvw_ttl?language=es_USz8https://www.amazon.in/gp/customer-reviews/RV1CO8JN5VGXV/RV1CO8JN5VGXVzNot sure about its durabilityz$md5:1a252c106357f0a3109ebf37d2e87494zShoaib Gulzarg       @c                 `   U R                  U5      nU R                  5        H9  nU R                  X5      n[        SSU5      nU(       a  M*  [	        SSS9Ul        M;     / 0 pvU R                  SWSS S9n[        U5      (       a$  U R                  XS	S
S9u  pUR                  U	5        U R                  SUSS S9n
[        U
5      (       a  UR                  U
S	SS.5        U(       d  U R                  SSS9  U[        [        SSW5      5      =(       d    U R                  U5      [        [        [        R                   " SU5      S5      5      [        [#        SU5      5      [%        [        [        SSU5      =(       d    S5      R'                  S5      S   5      U R                  SUSS S9UUS.$ )Nz	data-hookzreview-bodyrV   T)expectedzdata-video-url="([^"]+)"zm3u8 url)defaultr   F)fatalz4<input[^>]+\bvalue="([^"]+)"[^>]+\bclass="video-url"zmp4 urlzhttp-mp4)r   r   	format_idz'No video found for this customer reviewzreview-titlez<<span(?:\s+class="cr-original-review-content")?>(.+?)</span>za-profile-namezreview-star-rating  r   zdata-thumbnail-url="([^"]+)"r   )r   r   rS   rT   rU   r   formats	subtitles)r4   r5   r6   r	   r   r8   _search_regexr   #_extract_m3u8_formats_and_subtitlesextendappendraise_no_formatsr   _html_extract_titler   refindallr
   r   	partition)r;   r   video_idr<   r=   review_bodyr`   ra   manifest_urlfmts	video_urls              rB   rC   AmazonReviewsIE._real_extract   s   >>#&&&(E,,S;G2;wWK;,-S^bc	 )  ))'j$ * P|$$"FFU G <ODNN4 &&C[R[ei ' k	y!!NN '  !!"KVZ![  !9+~W^!_` ;11':%l2::OQ\4^_a'c d"#78H'#RS+J7O178< 8B?A-CCL9S>RS-U V++/kSW , Y"
 	
rN   rE   N)rF   rG   rH   rI   rJ   rL   rC   rM   rE   rN   rB   rP   rP   W   s    rJb",A-!1
 EE r",A-!1
 EE J!4A'!1
 EE1$FL+
rN   rP   )rh   commonr   utilsr   r   r   r	   r
   r   r   r   r   r   rP   rE   rN   rB   <module>rs      s9    	 !
 
 
CmM CmLS
m S
rN   