U
    g*                     @   sd   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
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remove_startstrip_or_nonec                   @   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   sJ  |  |}| d| |}|d }|d }d }tddg}g }|di  D ]2\}	}
|
s\qN|	dkrj|
}qN||	||	|
d qN|d	}|stt|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||rB|
dnd dS )Nz$https://www.veoh.com/watch/getVideo/videor   ZRegularZHQsrcZposter)Z	format_idZqualityr   ZcategoryPathcategoryZ	category_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   r   split)selfr   Zvideo_idmetadatar#   r   Zthumbnail_urlqr(   Zf_idZf_urlr   r%   r    r2   9/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/veoh.py_real_extractW   sN    



zVeohIE._real_extractN)__name__
__module____qualname__
_VALID_URLint_TESTSr4   r2   r2   r2   r3   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encoder+   r   Z
url_resultr   )r/   r   r?   responser#   r2   r2   r3   _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_regexrD   )r/   Zwebpager2   r2   r3   _real_initialize   s        zVeohUserIE._real_initializec                 C   s0   |  |}| tt| j|| j|| dS )Nz
 (Uploads))r)   Zplaylist_resultr   	functoolspartialrJ   rG   )r/   r   r   r2   r2   r3   r4      s    
 zVeohUserIE._real_extractN)
r5   r6   r7   r8   ZIE_NAMEr:   rG   rJ   rM   r4   r2   r2   r2   r3   r;      s&   	r;   )rN   rE   commonr   utilsr   r   r   r   r	   r
   r   r   r;   r2   r2   r2   r3   <module>   s
   $u