o
    ¹iã
  ã                   @   s@   d dl Z d dlmZmZ d dlmZ G dd„ deƒZdd„ ZdS )é    N)ÚshellÚshellcon)ÚDesignatedWrapPolicyc                   @   s¤   e Zd ZejgZg d¢Zdd„ Zdd„ Zdd„ Z	dd	„ Z
d
d„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zd d!„ Zd"d#„ Zd$S )%ÚFileOperationProgressSink)ÚStartOperationsÚFinishOperationsÚPreRenameItemÚPostRenameItemÚPreMoveItemÚPostMoveItemÚPreCopyItemÚPostCopyItemÚPreDeleteItemÚPostDeleteItemÚ
PreNewItemÚPostNewItemÚUpdateProgressÚ
ResetTimerÚ
PauseTimerÚResumeTimerc                 C   s   |   | ¡ d | _d S ©N)Ú_wrap_ÚnewItem©Úself© r   ú`/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/send2trash/IFileOperationProgressSink.pyÚ__init__   s   

z"FileOperationProgressSink.__init__c                 C   s   |t j@ rdS dS )Nr   l   @   )r   ÚTSF_DELETE_RECYCLE_IF_POSSIBLE)r   ÚflagsÚitemr   r   r   r   "   s   ÿÿz'FileOperationProgressSink.PreDeleteItemc                 C   s   |r|  tj¡| _d S d S r   )ÚGetDisplayNamer   ÚSHGDN_FORPARSINGr   )r   r   r    ÚhrDeleteÚnewlyCreatedr   r   r   r   *   s   ÿz(FileOperationProgressSink.PostDeleteItemc                 C   ó   d S r   r   r   r   r   r   r   .   ó   z)FileOperationProgressSink.StartOperationsc                 C   r%   r   r   )r   ÚResultr   r   r   r   1   r&   z*FileOperationProgressSink.FinishOperationsc                 C   r%   r   r   )r   ÚFlagsÚItemÚNewNamer   r   r   r   4   r&   z'FileOperationProgressSink.PreRenameItemc                 C   r%   r   r   )r   r(   r)   r*   ÚhrRenameÚNewlyCreatedr   r   r   r	   7   r&   z(FileOperationProgressSink.PostRenameItemc                 C   r%   r   r   ©r   r(   r)   ÚDestinationFolderr*   r   r   r   r
   :   r&   z%FileOperationProgressSink.PreMoveItemc                 C   r%   r   r   )r   r(   r)   r.   r*   ÚhrMover,   r   r   r   r   =   ó   z&FileOperationProgressSink.PostMoveItemc                 C   r%   r   r   r-   r   r   r   r   B   r&   z%FileOperationProgressSink.PreCopyItemc                 C   r%   r   r   )r   r(   r)   r.   r*   ÚhrCopyr,   r   r   r   r   E   r0   z&FileOperationProgressSink.PostCopyItemc                 C   r%   r   r   )r   r(   r.   r*   r   r   r   r   J   r&   z$FileOperationProgressSink.PreNewItemc                 C   r%   r   r   )r   r(   r.   r*   ÚTemplateNameÚFileAttributesÚhrNewÚNewItemr   r   r   r   M   s   
z%FileOperationProgressSink.PostNewItemc                 C   r%   r   r   )r   Ú	WorkTotalÚ	WorkSoFarr   r   r   r   Y   r&   z(FileOperationProgressSink.UpdateProgressc                 C   r%   r   r   r   r   r   r   r   \   r&   z$FileOperationProgressSink.ResetTimerc                 C   r%   r   r   r   r   r   r   r   _   r&   z$FileOperationProgressSink.PauseTimerc                 C   r%   r   r   r   r   r   r   r   b   r&   z%FileOperationProgressSink.ResumeTimerN)Ú__name__Ú
__module__Ú__qualname__r   ÚIID_IFileOperationProgressSinkÚ_com_interfaces_Ú_public_methods_r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	   s(    r   c                   C   s   t  tƒ tj¡S r   )Ú	pythoncomÚ
WrapObjectr   r   r;   r   r   r   r   Ú
CreateSinkf   s   ÿr@   )r>   Úwin32com.shellr   r   Úwin32com.server.policyr   r   r@   r   r   r   r   Ú<module>   s
   ]