o
    i
                     @   sH   d dl Z d dlZddlmZ ddlmZmZmZm	Z	 G dd deZ
dS )    N   )InfoExtractor   )ExtractorErrordetermine_exturl_or_noneurlencode_postdatac                   @   s\   e Zd ZddZde dZddddd	d
ddddd	ddidgZdd Zdd ZdS )
OwnCloudIE|)z(?:[^\.]+\.)?sciebo\.dezcloud\.uni-koblenz-landau\.dezhttps?://(?:z)/s/(?P<id>[\w.-]+)z3https://ruhr-uni-bochum.sciebo.de/s/wWhqZzh9jTumVFNwWhqZzh9jTumVFNmp4zCmvpJST.mp4)idexttitle)url	info_dictz3https://ruhr-uni-bochum.sciebo.de/s/WNDuFu0XuFtmm3fWNDuFu0XuFtmm3fvideopassword12345)r   r   paramsc                 C   s   |  |}| ||\}}td|r| ||j|}| |}|d}tj	
|}||t|dpA|jtj	|jdd t|dS )N<label[^>]+for="password"filenamedownloadURLdownload)path)r   r   r   r   )	_match_id_download_webpage_handleresearch_verify_video_passwordr   _hidden_inputsgeturllibparseurlparser   _replaceurljoinr   geturlr   )selfr   video_idwebpageurlhhidden_inputsr   
parsed_url r.   M/home/ubuntu/.local/lib/python3.10/site-packages/yt_dlp/extractor/owncloud.py_real_extract*   s   


zOwnCloudIE._real_extractc              	   C   s   |  d}|d u rtddd| j||ddt| |d |dd	}td
|r?| jd|ddd}td| j d|dd|S )Nr   zFThis video is protected by a password, use the --video-password optionT)expectedzValidating PasswordzWrong password?requesttoken)r2   password)datar   z&<div[^>]+class="warning">([^<]*)</div>warningzThe password is wrong)defaultzOpening the video failed, z said: )		get_paramr   _download_webpager   r    r   r   _search_regexIE_NAME)r(   r*   r   r)   r3   validation_responser5   r.   r.   r/   r   =   s(   
z!OwnCloudIE._verify_video_passwordN)	__name__
__module____qualname__join_INSTANCES_RE
_VALID_URL_TESTSr0   r   r.   r.   r.   r/   r	      s(    
	r	   )r   urllib.parser"   commonr   utilsr   r   r   r   r	   r.   r.   r.   r/   <module>   s
    