U
    g
                     @   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/wWhqZzh9jTumVFNZwWhqZzh9jTumVFNZmp4zCmvpJST.mp4)idexttitle)url	info_dictz3https://ruhr-uni-bochum.sciebo.de/s/WNDuFu0XuFtmm3fZWNDuFu0XuFtmm3fvideopasswordZ12345)r   r   paramsc                 C   s   |  |}| ||\}}td|r6| ||j|}| |}|d}tj	
|}||t|dp|jtj	|jdd t|dS )N<label[^>]+for="password"filenameZdownloadURLdownload)path)r   r   r   r   )Z	_match_idZ_download_webpage_handleresearch_verify_video_passwordr   _hidden_inputsgeturllibparseurlparser   _replaceurljoinr   geturlr   )selfr   video_idwebpageZurlhZhidden_inputsr   
parsed_url r%   =/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/owncloud.py_real_extract*   s    


zOwnCloudIE._real_extractc              	   C   s   |  d}|d k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)r)   password)datar   z&<div[^>]+class="warning">([^<]*)</div>warningzThe password is wrong)defaultzOpening the video failed, z said: )		get_paramr   Z_download_webpager   r   r   r   Z_search_regexZIE_NAME)r!   r#   r   r"   r*   Zvalidation_responser,   r%   r%   r&   r   =   s2    
     z!OwnCloudIE._verify_video_passwordN)	__name__
__module____qualname__joinZ_INSTANCES_REZ
_VALID_URLZ_TESTSr'   r   r%   r%   r%   r&   r	      s(   
	 r	   )r   urllib.parser   commonr   utilsr   r   r   r   r	   r%   r%   r%   r&   <module>   s   