a
    h>                     @   sx   d dl Z d dlZd dlZd dlZddlm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 G dd deZdS )	    N   )InfoExtractor   )
compat_ord)	ExtractorErrorint_or_nonemimetype2extparse_codecsparse_qsupdate_url_queryurljoinxpath_element
xpath_textc                   @   s   e Zd ZdZdgZ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ddgZddddd
dddddd dd!d"dgZd#Zed$d% Z	d&d' Z
d(S ))VideaIEaX  (?x)
                    https?://
                        videa(?:kid)?\.hu/
                        (?:
                            videok/(?:[^/]+/)*[^?#&]+-|
                            (?:videojs_)?player\?.*?\bv=|
                            player/v/
                        )
                        (?P<id>[^?#&]+)
                    zL<iframe[^>]+src=(["\'])(?P<url>(?:https?:)?//videa\.hu/player\?.*?\bv=.+?)\1zQhttp://videa.hu/videok/allatok/az-orult-kigyasz-285-kigyot-kigyo-8YfIAjxwWGwT8HVQZ 97a7af41faeaffd9f1fc864a7c7e7603Z8YfIAjxwWGwT8HVQmp4u0   Az őrült kígyász 285 kígyót enged szabadonz%re:https?://videa\.hu/static/still/.+   r   )idexttitle	thumbnailduration	age_limit)urlmd5	info_dictzGhttp://videa.hu/videok/origo/jarmuvek/supercars-elozes-jAHDWfWSJH5XuFhHZ d57ccd8812c7fd491d33b1eab8c99975ZjAHDWfWSJH5XuFhHu   Supercars előzés@   z)http://videa.hu/player?v=8YfIAjxwWGwT8HVQz4http://videa.hu/player/v/8YfIAjxwWGwT8HVQ?autoplay=1T)r   Zonly_matchingzKhttps://videakid.hu/videok/origo/jarmuvek/supercars-elozes-jAHDWfWSJH5XuFhHz-https://videakid.hu/player?v=8YfIAjxwWGwT8HVQz8https://videakid.hu/player/v/8YfIAjxwWGwT8HVQ?autoplay=1zhttps://www.kapucziner.hu/Z95yhJCdK2dX1T5Nhu5   Nemzetközi díjat kapott a győri kávémanufaktúra   )r   r   r   r   r   r   )r   r   z#https://hirtv.hu/hirtv_kesleltetettZIDRqF7W9X0GXHGj1u(   Hír TV - 60 perccel késleltetett adás)r   r   r   Z?xHb0ZvME5q8CBcoQi6AngerDu3FGO9fkUlwPmLVY_RTzj2hJIS4NasXWKy1td7pc           	   	   C   s   d}t |}ttd}d}tdD ]>}|||  t|||   d }|| ||  ||< ||< q$d}d}tt | D ]n}|d d }|||  d }|| ||  ||< ||< ||| ||  d  }|td|t| | A 7 }qx| S )N       r   r   B)lenlistrangeordstructpackr   decode)	Zcipher_textkeyresZkey_lenSjimk r.   K/mnt/pikpak/tmp/myenv/lib/python3.9/site-packages/yt_dlp/extractor/videa.pyrc4d   s      zVideaIE.rc4c                 C   s  |  |}| ||}d|v r(|}|}n$| d|d}t||}| ||}| d|d}|d d }|dd  }d}	tdD ]$}
|	||
| j||
 d   7 }	q~t|}dt	j
tjtj d	d
}||d< |	d d |d< | jd||d\}}|dr| ||}n4|	dd  | |jd  }| | t|||}t|dd}|d u rntt|dddddt|dddd}t|dddd}t|ddd}g }|dD ]}|j}|d}|d }|r|sؐq|d urt|d!| nd }|r|rt|||d"}t|d#}|| |t|d$p<d%|dt |d&t |d'd( |!| q| t|d)}d }t|d*d d+}|r|d,krd-nd.}|||t t|d/||d0S )1Nzvidea.hu/playerz <iframe.*?src="(/player\?[^"]+)"z
player urlz_xt\s*=\s*"([^"]+)"nonce           )r-   Z_s   Z_tzhttp://videa.hu/player/xml)queryz<?xmlz
x-videa-xsz./videovideoz./errorT)fatal)expectedz./video_sourcessourcesz./hash_valueszhash valuesFz./titlez./video_sourcenameexpZhash_value_)r   expirescodecsmimetyper   widthheight)r   r   Z	format_idrA   rB   z./poster_srcz./is_adult_content)default1   r   z
./duration)r   r   r   r   r   formats)"Z	_match_idZ_download_webpageZ_search_regexr   r"   _STATIC_SECRETindexr
   joinrandomchoicesstringascii_lettersdigitsZ_download_webpage_handle
startswithZ
_parse_xmlheadersr0   base64	b64decoder   r   r   findalltextgetr   r	   updateZ_proto_relative_urlr   r   append)selfr   Zvideo_idZ
video_pageZ
player_urlZplayer_pager1   lsresultr+   r7   Zrandom_seedZb64_infohandleinfor'   r8   r;   Zhash_valuesr   rF   source
source_urlZsource_nameZ
source_expZ
hash_valuefr   r   Zis_adultr.   r.   r/   _real_extract{   s    

"




zVideaIE._real_extractN)__name__
__module____qualname__Z
_VALID_URLZ_EMBED_REGEXZ_TESTSZ_WEBPAGE_TESTSrG   staticmethodr0   ra   r.   r.   r.   r/   r      s   
/
r   )rQ   rJ   rL   r$   commonr   compatr   utilsr   r   r   r	   r
   r   r   r   r   r   r.   r.   r.   r/   <module>   s   ,