
    yf                     l    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e      Z G d d	e      Zy)
    N   )InfoExtractor   )ExtractorErrorOnDemandPagedListint_or_noneparse_duration	qualitiestry_getc                       e Zd ZdZdddddddd	d
eeeddg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)dd*d+d,d-d.eeed/dd0gg d1ddgZd2 Zy3)4VeohIEzchttps?://(?:www\.)?veoh\.com/(?:watch|videos|embed|iphone/#_Watch)/(?P<id>(?:v|e|yapi-)[\da-zA-Z]+)z+http://www.veoh.com/watch/v56314296nk7Zdmz3 620e68e6a3cff80086df3348426c9ca3v56314296nk7Zdmz3mp4zStraight Backs Are Strongerz$md5:203f976279939a6dc664d4001e13f5f4z:re:https://fcache\.veoh\.com/file/f/th56314296\.jpg(\?.*)?LUMOback.   r   technology_and_gaming)posturer   sensorbackpainwearabletech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(   only_matchingzZhttp://www.veoh.com/watch/v27701988pbTc4wzN?h1=Chile+workers+cover+up+to+avoid+skin+damage 4a6ff84b87d536a6a71e6aa6c0ad07fa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/v69525809F6Nc4frX 4fde7b9e33577bab2f2f8f260e30e979zEmbedded ooyala video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/v16374379WA437rMH cceb73f3909063d64f4b93d4defca1b3v16374379WA437rMHzPhantasmagoria 2, pt. 1-3z!Phantasmagoria: a Puzzle of Fleshz:re:https://fcache\.veoh\.com/file/f/th16374379\.jpg(\?.*)?davidspackagei     gaming)puzzleoffleshc                 Z   | j                  |      }| j                  d|z   |      }|d   }|d   }d }t        ddg      }g }|j                  di       j	                         D ]+  \  }	}
|
s	|	dk(  r|
}|j                  |	 ||	      |
d       - |j                  d	      }|st        |d
       }|r|gnd }|j                  d      }|||j                  d      ||j                  di       j                  d      t        |j                  d            xs t        |j                  d            t        |j                  d            |t        |j                  d            t        |j                  d            |j                  d      dk(  rdnd||r|j                  d      dS d dS )Nz$https://www.veoh.com/watch/getVideo/videor   RegularHQsrcposter)	format_idqualityr(   categoryPathc                 F    | d   j                         j                  d      S )Ncategory	category_)stripremoveprefix)xs    7/usr/lib/python3/dist-packages/yt_dlp/extractor/veoh.py<lambda>z&VeohIE._real_extract.<locals>.<lambda>o   s    *0C0C0E0R0RS^0_     r'   r   authornicknamelengthBySeclengthviewsratingnumOfCommentscontentRatingIdr   r6   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(   video_idmetadatar<   r   thumbnail_urlqrU   f_idf_urlr&   rE   r'   s                 rJ   _real_extractzVeohIE._real_extractV   s   >>#&&&2X= !gy$'( 99UB/557 
	KD%x %!% w   
	 \\.1
u&_`H'/(TJyy   99]3&		(B/33J?#EIIm$<=dPUPYPYZbPcAd%eii&89)%))H*=>(?)CD$yy):;q@a$(,DJJt$
 	
 37
 	
rL   N)__name__
__module____qualname__
_VALID_URLint_TESTSrc    rL   rJ   r   r      s    wJ =1%2AY"! 23`
& = l1BA"
 / =1'LA&
 / ; ?1%0>Y'! 2H=-
aBFH+
rL   r   c                   N    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 Zd Zd Z	y)
VeohUserIEz1https?://(?:www\.)?veoh\.com/users/(?P<id>[\w-]+)z	veoh:userz'https://www.veoh.com/users/valentinazoevalentinazoezvalentinazoe (Uploads))r   r   K   )r(   r*   playlist_mincountz&https://www.veoh.com/users/PiensaLibrePiensaLibrezPiensaLibre (Uploads)r      c              #   |  K   | j                  d|d|dz    | j                  ddt        j                  || j                  |dz   dd      j                  d      	      }|j                  d
      st        |d         |d   D ]4  }| j                  d|d    t        |d   |j                  d             6 y w)Nz+https://www.veoh.com/users/published/videoszDownloading videos page r   zapplication/json;charset=UTF-8)zx-csrf-tokenzcontent-typeuserPage)username
maxResultspagerequestNamezutf-8)r2   headersdatasuccessmessagevideoszhttps://www.veoh.com/watch/permalinkIdr   )
rW   _TOKENjsondumps
_PAGE_SIZEencoderX   r   
url_resultr   )r\   r    rv   responser<   s        rJ   _fetch_pagezVeohUserIE._fetch_page   s     &&98+D1H:6 $ @ $"ooq)	 
 vg '   ||I& )!455h' 	LE//$?m@T?U"VX^"'"6		'8JL L	Ls   B:B<c                 `    | j                  dd d      }| j                  d|dd      | _        y )Nzhttps://www.veoh.comzDownloading authorization token)r2   z0csrfToken:\s*(["\'])(?P<token>[0-9a-zA-Z]{40})\1zrequest tokentoken)group)_download_webpage_search_regexr~   )r\   webpages     rJ   _real_initializezVeohUserIE._real_initialize   sA    (("D/P ) R((?7 ) ,rL   c                     | j                  |      }| j                  t        t        j                  | j
                  |      | j                        || d      S )Nz
 (Uploads))rV   playlist_resultr   	functoolspartialr   r   )r\   r(   r    s      rJ   rc   zVeohUserIE._real_extract   sV    >>#&##$5d..9OO%&8*J(?A 	ArL   N)
rd   re   rf   rg   IE_NAMEri   r   r   r   rc   rj   rL   rJ   rl   rl      s_    EJG =$1 "$	
 <#0 "#	
F$ JL*,ArL   rl   )r   r   commonr   utilsr   r   r   r	   r
   r   r   rl   rj   rL   rJ   <module>r      s5      ! r
] r
j8A 8ArL   