
    V|h
                     N    S SK r S SKrSSKJr  SSKJrJrJrJ	r	   " S S\5      r
g)    N   )InfoExtractor   )ExtractorErrordetermine_exturl_or_noneurlencode_postdatac                   x    \ rS rSrSR	                  S5      rS\ S3rSSSS	S
.S.SSSS	S
.SS0S./rS rS r	Sr
g)
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                 $   U R                  U5      nU R                  X5      u  p4[        R                  " SU5      (       a  U R	                  X4R
                  U5      nU R                  U5      nUR                  S5      n[        R                  R                  U5      nUU[        UR                  S5      5      =(       dE    UR                  [        R                  R                  UR                  S5      S9R                  5       [!        U5      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_urls           S/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/owncloud.py_real_extractOwnCloudIE._real_extract*   s    >>#&55cD9917;;11'88XNG++G4!!*-\\**3/
 }00?@ QJDWDW\\))*//:F EX EHHN '
 	
    c                 4   U R                  S5      nUc
  [        SSS9eU R                  X#SS[        U R	                  U5      S   US.5      S	9n[
        R                  " S
U5      (       a-  U R                  SUSSS9n[        SU R                   SU< 3SS9eU$ )Nr   zFThis video is protected by a password, use the --video-password optionT)expectedzValidating PasswordzWrong password?requesttoken)r8   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-   r9   validation_responser;   s          r2   r#   !OwnCloudIE._verify_video_password=   s    >>/2 X  #4402C# $ 3 3G <^ L$%  5  9913FGG((9;N#: ) <G !#=dll^7SZR]!^imnn""r5    N)__name__
__module____qualname____firstlineno__join_INSTANCES_RE
_VALID_URL_TESTSr3   r#   __static_attributes__rC   r5   r2   r   r      su    HH  M !/BCJ I'&	
 I'&  
	
F,
&#r5   r   )r!   urllib.parser&   commonr   utilsr   r   r   r	   r   rC   r5   r2   <module>rP      s&    	  ! C# C#r5   