U
    g                     @   sL   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	 G dd deZ
dS )	    N   )PostProcessor   )shutil)PostProcessingErrordecodeFilenameencodeFilenamemake_dirc                   @   s*   e Zd Zd	ddZedd Zdd ZdS )
MoveFilesAfterDownloadPPNTc                 C   s   t | | || _d S N)r   __init___downloaded)self
downloader
downloaded r   O/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/postprocessor/movefilesafterdownload.pyr      s    z!MoveFilesAfterDownloadPP.__init__c                 C   s   dS )NZ	MoveFilesr   )clsr   r   r   pp_key   s    zMoveFilesAfterDownloadPP.pp_keyc                    sX  t jt|d \}}|d| t j |}| jrLt||d |d <  fdd}|d  D ]\}}|sx||}t j	t|t j	t|krqdt j
t|s| d| d qdt j
t|r| dd	r| d
| d t t| n| d| d| d qdt|t | d| d| d t|| qd||d< g |fS )NfilepathZ
__finaldirZ__files_to_movec                    s   t tj tjt| S r   )r   ospathjoinbasenamer   )oldZfinaldirr   r   <lambda>       z.MoveFilesAfterDownloadPP.run.<locals>.<lambda>zFile "z" cannot be foundZ
overwritesTzReplacing existing file ""zCannot move file "z$" out of temporary directory since "z" already exists. zMoving file "z" to ")r   r   splitr   getr   r   r   itemsabspathexistsZreport_warning	get_paramremover	   r   Z	to_screenr   move)r   infoZdl_pathZdl_nameZ	finalpathZmake_newfilenameZoldfilenewfiler   r   r   run   s6     
zMoveFilesAfterDownloadPP.run)NT)__name__
__module____qualname__r   classmethodr   r)   r   r   r   r   r
      s   

r
   )r   commonr   compatr   utilsr   r   r   r	   r
   r   r   r   r   <module>   s   