U
    g&E                     @   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
mZmZmZmZ dd Zdd	 ZG d
d deZG dd deZdS )    N   )InfoExtractor   )
ExtractorErrorint_or_none
js_to_jsonmerge_dictsparse_durationtraverse_objtry_callurl_or_noneurljoinvariadicc                 C   s<   t | | ddddddddd	d
ddddddd S )NSIJABEKMHOPCX/+=)u   Ѕu   Іu   Јu   Аu   Вu   Еu   Кu   Мu   Нu   Оu   Рu   Сu   Х,.~)base64	b64decode	translate	maketransdecode)text r(   9/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/txxx.pydecode_base64   s$    r*   c                    s    fddt |D S )Nc                    sF   g | ]>\}   d rtd t d  t fdd|dqS )Z	video_urlhttps://c                      s   t  d d dS )Nformatr   _)r   lstripr(   videor(   r)   <lambda>+       z(get_formats.<locals>.<listcomp>.<lambda>)urlZ	format_idZquality)getr   r*   r   ).0indexhostr/   r)   
<listcomp>)   s    
zget_formats.<locals>.<listcomp>)	enumerate)r8   
video_filer(   r7   r)   get_formats(   s    
r<   c                   @   s  e Zd ZdZddeeje dZddeeje dgZ	ddd	d
dddde
e
e
ddddddd	d
dddde
e
e
dddddddddddde
e
e
dddddddddddd e
e
e
dd!ddd"d#d$d%dd&d'd(e
e
e
dd)ddd*d#d$d%dd&d'd(e
e
e
dd)ddd+d,d-d.dd/d0d1e
e
e
dd2ddd3d,d-d.dd/d0d1e
e
e
dd2ddd4d5d6d7dd8d9d:e
e
e
dd;ddd<d=d>d?dd@dAdBe
e
e
ddCdddDdEdFdGddHdIdJe
e
e
ddKdddLdMdNdOddPdQd:e
e
e
ddRdddSdMdNdOddPdQd:e
e
e
ddRdddTdUdVdWddXdYdZe
e
e
dd[ddd\dUdVdWddXdYdZe
e
e
dd[ddd]d^d_d`ddadbdce
e
e
dddddded^d_d`ddadbdce
e
e
dddddgZdfdgdgddhdidje
e
e
ddkddlgZdsdndoZdpdq ZdrS )tTxxxIE)z
hclips.comz	hdzog.comz
hdzog.tubezhotmovs.comzhotmovs.tubez
inporn.comzprivatehomeclips.comztubepornclassic.comztxxx.comz	txxx.tubezupornia.comzupornia.tubezvjav.comz	vjav.tubezvxxx.comzvoyeurhit.comzvoyeurhit.tubez)(?x)
        https?://(?:www\.)?(?P<host>|zN)/
        (?:videos?[/-]|embed/)(?P<id>\d+)(?:/(?P<display_id>[^/?#]+))?
    z;<iframe[^>]+?src=(["\'])(?P<url>(?:https?:)?//(?:www\.)?(?:z)/embed/[^"\']*)\1z>https://txxx.com/videos/16574965/digital-desire-malena-morgan/Z c54e4ace54320aaf8e2a72df87859391Z16574965zdigital-desire-malena-morganmp4zDigital Desire - Malena MorganzLois Argentumi     zPhttps://tn.txxx.tube/contents/videos_sources/16574000/16574965/screenshots/1.jpg)id
display_idexttitleuploaderduration
view_count
like_countdislike_count	age_limit	thumbnailr3   md5	info_dictz?https://txxx.tube/videos/16574965/digital-desire-malena-morgan/zhttps://vxxx.com/video-68925/Z 1fcff3748b0c5b41fe41d0afa22409e1Z68925zMalena MorganzHuge HugheszIhttps://tn.vxxx.com/contents/videos_sources/68000/68925/screenshots/1.jpgzFhttps://hclips.com/videos/6291073/malena-morgan-masturbates-her-sweet/Z a5dd4f83363972ee043313cff85e7e26Z6291073z#malena-morgan-masturbates-her-sweetz#Malena Morgan masturbates her sweetz	John Salti  zOhttps://hctn.nv7s.com/contents/videos_sources/6291000/6291073/screenshots/1.jpgzZhttps://hdzog.com/videos/67063/gorgeous-malena-morgan-will-seduce-you-at-the-first-glance/Z f8bdedafd45d1ec2875c43fe33a846d3Z67063z:gorgeous-malena-morgan-will-seduce-you-at-the-first-glancez:Gorgeous Malena Morgan will seduce you at the first glanceZ	momlessoniY  zJhttps://tn.hdzog.com/contents/videos_sources/67000/67063/screenshots/1.jpgz[https://hdzog.tube/videos/67063/gorgeous-malena-morgan-will-seduce-you-at-the-first-glance/zdhttps://hotmovs.com/videos/8789287/unbelievable-malena-morgan-performing-in-incredible-masturantion/Z 71d32c51584876472db87e561171a386Z8789287z@unbelievable-malena-morgan-performing-in-incredible-masturantionz@Unbelievable Malena Morgan performing in incredible masturantionzDavit Sanchezi  zQhttps://tn.hotmovs.com/contents/videos_sources/8789000/8789287/screenshots/10.jpgzehttps://hotmovs.tube/videos/8789287/unbelievable-malena-morgan-performing-in-incredible-masturantion/z3https://inporn.com/video/517897/malena-morgan-solo/Z 344db467481edf78f193cdf5820a7cfbZ517897zmalena-morgan-solozMalena Morgan - Soloz
Ashley Oxy  z3https://iptn.m3pd.com/media/tn/sources/517897_1.jpgzChttps://privatehomeclips.com/videos/3630599/malena-morgan-cam-show/Z ea657273e352493c5fb6357fbfa4f126Z3630599zmalena-morgan-cam-showzmalena morgan cam showZ
Member9915i"  zPhttps://hctn.nv7s.com/contents/videos_sources/3630000/3630599/screenshots/15.jpgzZhttps://tubepornclassic.com/videos/1015455/mimi-rogers-full-body-massage-nude-compilation/Z 2e9a6cf610c9862e86e0ce24f08f4427Z1015455z.mimi-rogers-full-body-massage-nude-compilationz2Mimi Rogers - Full Body Massage (Nude) compilationZ88bhutoi  zXhttps://tn.tubepornclassic.com/contents/videos_sources/1015000/1015455/screenshots/6.jpgzVhttps://upornia.com/videos/1498858/twistys-malena-morgan-starring-at-dr-morgan-baller/Z 7ff7033340bc88a173198b7c22600e4fZ1498858z2twistys-malena-morgan-starring-at-dr-morgan-ballerz5Twistys - Malena Morgan starring at Dr. Morgan-BallerZmindgeekzPhttps://tn.upornia.com/contents/videos_sources/1498000/1498858/screenshots/1.jpgzWhttps://upornia.tube/videos/1498858/twistys-malena-morgan-starring-at-dr-morgan-baller/zFhttps://vjav.com/videos/11761/yui-hatano-in-if-yui-was-my-girlfriend2/Z 6de5bc1f13bdfc3491a77f23edb1676fZ11761z'yui-hatano-in-if-yui-was-my-girlfriend2z&Yui Hatano in If Yui Was My GirlfriendZ	Matheus69i  zJhttps://tn.vjav.com/contents/videos_sources/11000/11761/screenshots/23.jpgzGhttps://vjav.tube/videos/11761/yui-hatano-in-if-yui-was-my-girlfriend2/z\https://voyeurhit.com/videos/332875/charlotte-stokely-elle-alexandra-malena-morgan-lingerie/Z 12b4666e9c3e60dafe9182e5d12aae33Z332875z7charlotte-stokely-elle-alexandra-malena-morgan-lingeriez9Charlotte Stokely, Elle Alexandra, Malena Morgan-LingeriezKyle Robertsi  zPhttps://tn.voyeurhit.com/contents/videos_sources/332000/332875/screenshots/1.jpgz]https://voyeurhit.tube/videos/332875/charlotte-stokely-elle-alexandra-malena-morgan-lingerie/zHhttps://pornzog.com/video/9125519/michelle-malone-dreamgirls-wild-wet-3/Z5119660z)Michelle Malone - Dreamgirls - Wild Wet 3ZFallenAngel12i  zOhttps://hctn.nv7s.com/contents/videos_sources/5119000/5119660/screenshots/1.jpg)r3   rN   Fc                 K   sJ   | j ||fd|i|}t|drB| jtd|d  dd|d|pHi S )NfatalerrorzTxxx said: T)expectedrP   )Z_download_jsonr
   Z_error_or_warningr   )selfr3   video_idrP   kwargscontentr(   r(   r)   	_call_apik  s    
 zTxxxIE._call_apic           	      C   s   |  |ddd\}}}|dd}| jd| d| d|d	d
|d}tdt|d   ddt|d   }| jd| d| d| d|d|d}||t|dt|dtt|dtt|dtt|dtt|ddt|ddthft||dS )NrA   r8   rB   ZXMLHttpRequest)ZRefererzX-Requested-Withr+   z/api/videofile.php?video_id=z&lifetime=8640000TzDownloading video file info)rP   noteheadersg    .Ar   i  z/api/json/video/86400/z.jsonzDownloading video info)rY   rZ   )r0   rD   )r0   userusername)r0   rF   )r0   
statisticsZviewed)r0   r]   Zlikes)r0   r]   Zdislikesr@   r0   Zthumbsrc)rA   rB   rD   rE   rF   rG   rH   rI   rJ   rK   formats)	_match_valid_urlgrouprX   intr
   r	   r   r   r<   )	rT   r3   rU   r8   rB   rZ   r;   ZslugZ
video_infor(   r(   r)   _real_extractr  s8    
   *  zTxxxIE._real_extractN)F)__name__
__module____qualname__Z_DOMAINSjoinmapreescape
_VALID_URLZ_EMBED_REGEXra   _TESTSZ_WEBPAGE_TESTSrX   rb   r(   r(   r(   r)   r=   0   s2       
r=   c                   @   sD   e Zd ZdZdddddddd	d
eeeddddddgZdd ZdS )	PornTopIEzWhttps?://(?P<host>(?:www\.)?porntop\.com)/video/(?P<id>\d+)(?:/(?P<display_id>[^/?]+))?z[https://porntop.com/video/101569/triple-threat-with-lia-lor-malena-morgan-and-dani-daniels/Z 612ba7b3cb99455b382972948e200b08Z101569z9triple-threat-with-lia-lor-malena-morgan-and-dani-danielsr?   z:Triple Threat With Lia Lor, Malena Morgan And Dani Danielsz$md5:285357d9d3a00ce5acb29f39f826dbf6ZPatrickBushrO   r@   iU_Z20201231z4https://tn.porntop.com/media/tn/sources/101569_1.jpg)rA   rB   rC   rD   descriptionrE   rF   rG   rH   rI   rJ   	timestampZupload_daterK   rL   c              	   C   s   |  |ddd\}}}| ||}| j| jd|d|tdd|dd	}| t| jd
|ddd|}t	||dt
||d|S )NrA   r8   rB   z\bschemaJson\s*=zJSON-LDz{[^<]+?VideoObject[^<]+};)Ztransform_sourceZcontains_patternTrS   z3window\.initPlayer\(.*}}},\s*'(?P<json_b64c>[^']+)'Z	json_urlsZ	json_b64c)r`   r@   )rA   rB   rJ   r^   )r_   r`   Z_download_webpageZ_json_ldZ_search_jsonr   Z_parse_jsonr*   Z_search_regexr   r<   )rT   r3   rU   r8   rB   ZwebpageZjson_ldr;   r(   r(   r)   rb     s:         
  zPornTopIE._real_extractN)rc   rd   re   rj   ra   rk   rb   r(   r(   r(   r)   rl     s(   rl   )r"   rh   commonr   utilsr   r   r   r   r	   r
   r   r   r   r   r*   r<   r=   rl   r(   r(   r(   r)   <module>   s   0  `