o
    i>                     @   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-8YfIAjxwWGwT8HVQ 97a7af41faeaffd9f1fc864a7c7e7603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-jAHDWfWSJH5XuFhH d57ccd8812c7fd491d33b1eab8c99975jAHDWfWSJH5XuFhHu   Supercars előzés@   z)http://videa.hu/player?v=8YfIAjxwWGwT8HVQz4http://videa.hu/player/v/8YfIAjxwWGwT8HVQ?autoplay=1T)r   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/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_kesleltetettIDRqF7W9X0GXHGj1u(   Hír TV - 60 perccel késleltetett adás)r   r   r   ?xHb0ZvME5q8CBcoQi6AngerDu3FGO9fkUlwPmLVY_RTzj2hJIS4NasXWKy1td7pc           	   	   C   s   d}t |}ttd}d}tdD ]}|||  t|||   d }|| || ||< ||< qd}d}tt | D ]7}|d d }|||  d }|| || ||< ||< ||| ||  d  }|td|t| | A 7 }q<| S )N       r   r   B)lenlistrangeordstructpackr   decode)	cipher_textkeyreskey_lenSjimk r8   J/home/ubuntu/.local/lib/python3.10/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| ||}n|	dd  | |jd  }| | t|||}t|dd}|d u rt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|sq|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+}|rO|d,krMd-nd.}|||t t|d/||d0S )1Nzvidea.hu/playerz <iframe.*?src="(/player\?[^"]+)"z
player urlz_xt\s*=\s*"([^"]+)"nonce           )r7   _s   _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exphash_value_)r   expirescodecsmimetyper   widthheight)r   r   	format_idrN   rO   z./poster_srcz./is_adult_content)default1   r   z
./duration)r   r   r   r   r   formats)"	_match_id_download_webpage_search_regexr   r*   _STATIC_SECRETindexr
   joinrandomchoicesstringascii_lettersdigits_download_webpage_handle
startswith
_parse_xmlheadersr:   base64	b64decoder   r   r   findalltextgetr   r	   update_proto_relative_urlr   r   append)selfr   video_id
video_page
player_urlplayer_pager;   lsresultr5   rC   random_seedb64_infohandleinfor0   rD   rG   hash_valuesr   rT   source
source_urlsource_name
source_exp
hash_valuefr   r   is_adultr8   r8   r9   _real_extract{   s   

"




zVideaIE._real_extractN)__name__
__module____qualname__
_VALID_URL_EMBED_REGEX_TESTS_WEBPAGE_TESTSrX   staticmethodr:   r   r8   r8   r8   r9   r      s    
/
r   )rd   r[   r]   r,   commonr   compatr   utilsr   r   r   r	   r
   r   r   r   r   r   r8   r8   r8   r9   <module>   s    ,