U
    Mf                     @   s`   d dl Z d dlZddlmZ ddlmZmZmZmZm	Z	m
Z
 G dd deZG dd	 d	eZdS )
    N   )InfoExtractor   )ExtractorErrorOnDemandPagedListint_or_noneparse_duration	qualitiestry_getc                   @   s   e Zd ZdZdddddddd	d
eeeddgddddddddgdddddddddddddd d!d"d#d$d%d&dd'd(d)d*d!d+d,ddd-d.d/dd0d1d2d3d4eeed5dd6gd7d8d9gddgZd:d; Zd<S )=VeohIEzchttps?://(?:www\.)?veoh\.com/(?:watch|videos|embed|iphone/#_Watch)/(?P<id>(?:v|e|yapi-)[\da-zA-Z]+)z+http://www.veoh.com/watch/v56314296nk7Zdmz3Z 620e68e6a3cff80086df3348426c9ca3Zv56314296nk7Zdmz3Zmp4zStraight Backs Are Strongerz$md5:203f976279939a6dc664d4001e13f5f4z:re:https://fcache\.veoh\.com/file/f/th56314296\.jpg(\?.*)?ZLUMOback.   r   Ztechnology_and_gamingZpostureZsensorbackZpainZwearableZtechZlumo)idexttitledescription	thumbnailuploaderduration
view_countaverage_ratingcomment_count	age_limit
categoriestags)urlmd5	info_dictz+http://www.veoh.com/embed/v56314296nk7Zdmz3T)r   Zonly_matchingzZhttp://www.veoh.com/watch/v27701988pbTc4wzN?h1=Chile+workers+cover+up+to+avoid+skin+damageZ 4a6ff84b87d536a6a71e6aa6c0ad07faZ27701988z+Chile workers cover up to avoid skin damagez$md5:2bd151625a60a32822873efc246ba20dzafp-news{   )r   r   r   r   r   r   zThis video has been deleted.)r   r   r   skipz+http://www.veoh.com/watch/v69525809F6Nc4frXZ 4fde7b9e33577bab2f2f8f260e30e979zEmbedded ooyala videoZ69525809z4Doctors Alter Plan For Preteen's Weight Loss Surgeryz$md5:f5a11c51f8fb51d2315bca0937526891znewsy-videos)r   r   r   r   r   )r   r   noter   r   z)http://www.veoh.com/watch/e152215AJxZktGSz-https://www.veoh.com/videos/v16374379WA437rMHZ cceb73f3909063d64f4b93d4defca1b3Zv16374379WA437rMHzPhantasmagoria 2, pt. 1-3z!Phantasmagoria: a Puzzle of Fleshz:re:https://fcache\.veoh\.com/file/f/th16374379\.jpg(\?.*)?Zdavidspackagei     ZgamingZpuzzleZofZfleshc                 C   sD  |  |}| d| |}|d }|d }d }tddg}g }|di  D ]2\}	}
|
s\qN|	dkrj|
}qN||	||	|
d qN|d	}|st|d
d }|r|gnd }|d}|||d||di dt|dpt|dt|d|t|dt|d|ddkr(dnd||r<|	dnd dS )Nz$https://www.veoh.com/watch/getVideo/videor   ZRegularZHQsrcZposter)Z	format_idZqualityr   ZcategoryPathc                 S   s   | d   dS )NcategoryZ	category_)stripZremoveprefix)x r'   9/tmp/pip-unpacked-wheel-zk9bgjdq/yt_dlp/extractor/veoh.py<lambda>o       z&VeohIE._real_extract.<locals>.<lambda>r   r   authorZnicknameZlengthBySeclengthZviewsZratingZnumOfCommentsZcontentRatingIdr   r!   r   z, )r   r   r   r   r   r   r   formatsr   r   r   r   r   )
	_match_id_download_jsonr	   getitemsappendr
   r   r   split)selfr   Zvideo_idmetadatar"   r   Zthumbnail_urlqr-   Zf_idZf_urlr   r$   r   r'   r'   r(   _real_extractV   sN    



zVeohIE._real_extractN)__name__
__module____qualname__
_VALID_URLint_TESTSr7   r'   r'   r'   r(   r      s   Dr   c                   @   sT   e Zd ZdZdZddddddd	d
ddddgZdZdd Zdd Zdd Z	dS )
VeohUserIEz1https?://(?:www\.)?veoh\.com/users/(?P<id>[\w-]+)z	veoh:userz'https://www.veoh.com/users/valentinazoeZvalentinazoezvalentinazoe (Uploads))r   r   K   )r   r   Zplaylist_mincountz&https://www.veoh.com/users/PiensaLibreZPiensaLibrezPiensaLibre (Uploads)r      c                 c   s   | j d|d|d  | jddt|| j|d dd d}|d	sVt|d
 |d D ]*}| d|d  t	|d |dV  q^d S )Nz+https://www.veoh.com/users/published/videoszDownloading videos page r   zapplication/json;charset=UTF-8)zx-csrf-tokenzcontent-typeZuserPage)usernameZ
maxResultspageZrequestName)r    headersdatasuccessmessageZvideoszhttps://www.veoh.com/watch/ZpermalinkIdr   )
r/   _TOKENjsondumps
_PAGE_SIZEencoder0   r   Z
url_resultr   )r4   r   rB   responser"   r'   r'   r(   _fetch_page   s*     

 zVeohUserIE._fetch_pagec                 C   s(   | j dd dd}| jd|ddd| _d S )Nzhttps://www.veoh.comzDownloading authorization token)r    z0csrfToken:\s*(["\'])(?P<token>[0-9a-zA-Z]{40})\1zrequest tokentoken)group)Z_download_webpageZ_search_regexrG   )r4   Zwebpager'   r'   r(   _real_initialize   s        zVeohUserIE._real_initializec                 C   s0   |  |}| tt| j|| j|| dS )Nz
 (Uploads))r.   Zplaylist_resultr   	functoolspartialrM   rJ   )r4   r   r   r'   r'   r(   r7      s    
 zVeohUserIE._real_extractN)
r8   r9   r:   r;   ZIE_NAMEr=   rJ   rM   rP   r7   r'   r'   r'   r(   r>      s&   	r>   )rQ   rH   commonr   utilsr   r   r   r   r	   r
   r   r>   r'   r'   r'   r(   <module>   s
    
u