
    VGh                     p    d dl Z ddlmZ ddlmZmZmZmZmZm	Z	m
Z
mZmZ  G d de      Z G d d	e      Zy)
    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            
       ~    e Zd ZdZddedddddd	d
ddigdgdddedddgdddedddgdddedddgdgZd Zy)AmazonStoreIEzghttps?://(?: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                    | j                  |      }| j                         D ]/  }| j                  ||      }	 | j                  d|d|t              }1 j                  d      xs g D cg c]  }|j                  d      r|j                  d      r|d   |d   |j                  d      |j                  d	      xs |j                  d
      |j                  d      t        |j                  d            t        |j                  d            d }}| j                  |||j                  d            S # t
        $ r}||_        Y d }~-d }~ww xY wc c}w )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   r1   retrywebpage	data_jsonevideoentriess	            `/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/amazon.py_real_extractzAmazonStoreIE._real_extract?   sY   nnS)&&( 	 E,,S+>G  --<gv{%/ . 1		 " "h/52e %))I:NSXS\S\]bSc (<YYw':.D%))G2D		"34!%))M":; <!89
 e e ##GU^UbUbcjUk#ll "   es   D9+B)E9	EEEN)__name__
__module____qualname__
_VALID_URLstr_TESTSrB        rA   r   r      s    {J 9
 &55
  77!$ e
 67 7
 67 p
 67C)FVmrJ   r   c                   n    e Zd ZdZdddddddd	d
dgddddddddd	d
dgddddddddd	d
dgdgZd Zy)AmazonReviewsIEz^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                 H   | j                  |      }| j                         D ]6  }| j                  ||      }t        dd|      }|r%t	        dd      |_        8 g i }}| j                  ddd       }t        |      r)| j                  ||d	d
      \  }	}|j                  |	       | j                  d|dd       }
t        |
      r|j                  |
d	dd       |s| j                  dd       |t        t        dd            xs | j                  |      t        t        t        j                   d|      d            t        t#        d|            t%        t        t        dd|      xs d      j'                  d      d         | j                  d|dd       ||dS )Nz	data-hookzreview-bodyrQ   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   rN   rO   rP   r   formats	subtitles)r3   r4   r5   r	   r   r7   _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[   r\   manifest_urlfmts	video_urls              rA   rB   zAmazonReviewsIE._real_extract   s   >>#&&&( 	dE,,S(;G2;wWK,-S^bc		d  ))'j$ * P|$"FFh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"
 	
rJ   N)rC   rD   rE   rF   rH   rB   rI   rJ   rA   rL   rL   W   s    rJb",A-!1
 EE r",A-!1
 EE J!4A'!1
 EE1$FL+
rJ   rL   )rc   commonr   utilsr   r   r   r	   r
   r   r   r   r   r   rL   rI   rJ   rA   <module>rm      s9    	 !
 
 
CmM CmLS
m S
rJ   