U
    gE                     @   sl   d dl Z d dlZddlmZ ddlmZ ddlmZ ddlm	Z	m
Z
mZ G dd	 d	eZG d
d deZdS )    N   )AnvatoIE)AWSIE)InfoExtractor   )smuggle_urlurlencode_postdata
xpath_textc                	   @   s\   e Zd ZdZdZddddddd	d
dddie gddgZddiZdZ	dZ
dZdd ZdS )ScrippsNetworksWatchIEzscrippsnetworks:watchar  (?x)
                    https?://
                        watch\.
                        (?P<site>geniuskitchen)\.com/
                        (?:
                            player\.[A-Z0-9]+\.html\#|
                            show/(?:[^/]+/){2}|
                            player/
                        )
                        (?P<id>\d+)
                    zIhttp://watch.geniuskitchen.com/player/3787617/Ample-Hills-Ice-Cream-Bike/Z4194875mp4zAmple Hills Ice Cream BikezJCourtney Rada churns up a signature GK Now ice cream with The Scoopmaster.ZANVZ20171011iPY)idexttitledescriptionuploaderupload_date	timestampZskip_downloadTz404 Not Found)url	info_dictparamsadd_ieskipZgeniuskitchenZgeniusZ(E7wSQmq0qK6xPrF13WmzKiHo4BQ7tip4pQcSXVl1zweb.api.video.snidigital.comzaws-sdk-js/2.80.0 callbackc           	         s  |  |}|dd\}}td| j di }| jd| j d||dd|t|	 d	| j
d
dd }| jd|tdddd|d|| j
ddd  fdd}| d| j|  d| |d|d|dd|d d d }| jtd | d!d"git |d#S )$Nsiter   Z
IdentityIdz%:7655847c-0ae7-4d9b-80d6-56c062927eb3zhttps://cognito-identity.z.amazonaws.com/z*/*zapplication/x-amz-json-1.1z(AWSCognitoIdentityService.GetOpenIdToken)AcceptContent-TypeRefererzX-Amz-Content-Sha256zX-Amz-TargetX-Amz-User-Agent)dataheadersTokenzhttps://sts.amazonaws.com/ZAssumeRoleWithWebIdentityz8arn:aws:iam::710330595350:role/Cognito_WebAPIUnauth_Rolezweb-identityz
2011-06-15)ActionZRoleArnZRoleSessionNameVersionZWebIdentityTokenz0application/x-www-form-urlencoded; charset=utf-8)r   r   r   c                    s   t  d|  ddS )Nz..//{https://sts.amazonaws.com/doc/2011-06-15/}T)fatal)r	   )keysts D/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/scrippsnetworks.pygetV   s
     z1ScrippsNetworksWatchIE._real_extract.<locals>.getz/1/web/brands/z/episodes/scrid/ZAccessKeyIdZSecretAccessKeyZSessionToken)uriZ
access_keyZ
secret_keyZsession_tokenresultsr   ZmcpIdzLanvato:anvato_scripps_app_web_prod_0837996dbe373629133857ae9eb72e740424d80a:Zgeo_countriesZUS)video_id)_match_valid_urlgroupjsondumpsZ_AWS_REGIONencodeZ_download_jsonhashlibsha256	hexdigest_AWS_USER_AGENTZ_download_xmlr   Z_aws_execute_api
_SNI_TABLE
url_resultr   r   ie_key)	selfr   ZmobjZsite_idr+   Zaws_identity_id_jsontokenr(   Zmcp_idr&   r$   r'   _real_extract6   st    
 

 
   z$ScrippsNetworksWatchIE._real_extractN)__name__
__module____qualname__ZIE_NAME
_VALID_URLr   r7   _TESTSr5   Z_AWS_API_KEYZ_AWS_PROXY_HOSTr4   r:   r&   r&   r&   r'   r
      s0   
  r
   c                   @   s   e Zd ZdZdddddddd	d
ddddddgdddgdgddddddddddddddddgZddddddd Zd!Zd"d# Zd$S )%ScrippsNetworksIEzhttps?://(?:www\.)?(?P<site>cookingchanneltv|discovery|(?:diy|food)network|hgtv|travelchannel)\.com/videos/[0-9a-z-]+-(?P<id>\d+)zDhttps://www.cookingchanneltv.com/videos/the-best-of-the-best-0260338Z0260338r   zThe Best of the Bestz9Catch a new episode of MasterChef Canada Tuedsay at 9/8c.irWZ20161005z	SCNI-SCNDzcount:10zCooking ChannelgQ=@g        z<Untitled Chapter 1>)
start_timeZend_timer   z_https://images.dds.discovery.com/up/tp/Scripps_-_Food_Category_Prod/122/987/0260338_630x355.jpg)r   r   r   r   r   r   r   tagsZcreatordurationZchaptersZ	thumbnailThePlatformzNo HLS formats found)r   r   r   Zexpected_warningszChttps://www.diynetwork.com/videos/diy-barnwood-tablet-stand-0265790T)r   Zonly_matchingzIhttps://www.foodnetwork.com/videos/chocolate-strawberry-cake-roll-7524591z9https://www.hgtv.com/videos/cookie-decorating-101-0301929zAhttps://www.travelchannel.com/videos/two-climates-one-bag-5302184zVhttps://www.discovery.com/videos/guardians-of-the-glades-cooking-with-tom-cobb-5578368l   16	" l   [/B l   4	" l   8	" )ZcookingchanneltvZ	discoveryZ
diynetworkZfoodnetworkZhgtvZtravelchannelz?https://link.theplatform.com/s/ip77QC/media/guid/%d/%s?mbr=truec                 C   s:   |  | \}}| t| j| j| |f ddid|S )NZforce_smil_urlTrD   )r,   groupsr6   r   	_TP_TEMPL_ACCOUNT_MAP)r8   r   r   Zguidr&   r&   r'   r:      s     zScrippsNetworksIE._real_extractN)r;   r<   r=   r>   r?   rG   rF   r:   r&   r&   r&   r'   r@   i   sV   #r@   )r1   r.   Zanvator   Zawsr   commonr   utilsr   r   r	   r
   r@   r&   r&   r&   r'   <module>   s   [