B
    'd
                 @   st   d dl mZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlZd dlZd dlmZmZ d dlmZ dd	 ZdS )
    )unicode_literalsN)	text_type)preprocess_paths)version)shellshellcon)create_sinkc       	   
   C   sR  t | } | sd S dd | D } dd | D } dd | D } t  ttjd tjtj}tj	tj
B tjB tjB }tt ddd dkr|d	O }n
|tjO }|| t }zyVx(| D ] }t|d tj}||| qW | }| }|s|rtd d | |W n8 tjk
r> } ztd |j||jW d d }~X Y nX W d t  X d S )
Nc             S   s$   g | ]}t |tst|d n|qS )mbcs)
isinstancer   ).0path r   b/work/yifan.wang/ringdown/master-ringdown-env/lib/python3.7/site-packages/send2trash/win/modern.py
<listcomp>   s    zsend2trash.<locals>.<listcomp>c             S   s$   g | ]}t |st |n|qS r   )opisabsabspath)r   r   r   r   r   r      s    c             S   s&   g | ]}| d r|dd n|qS )z\\?\   N)
startswith)r   r   r   r   r   r      s    .   r      i   )r   	pythoncomZCoInitializeZCoCreateInstancer   ZCLSID_FileOperationZ
CLSCTX_ALLZIID_IFileOperationr   ZFOF_NOCONFIRMATIONZFOF_NOERRORUIZ
FOF_SILENTZFOFX_EARLYFAILUREintr   splitZFOF_ALLOWUNDOZSetOperationFlagsr   ZSHCreateItemFromParsingNameZIID_IShellItemZ
DeleteItemZPerformOperationsZGetAnyOperationsAbortedOSError
pywintypesZ	com_errorstrerrorZhresultZCoUninitialize)	pathsfileopflagsZsinkr   itemresultZabortederrorr   r   r   
send2trash   s:    




(r$   )
__future__r   os.pathr   r   Zsend2trash.compatr   Zsend2trash.utilr   platformr   r   r   Zwin32com.shellr   r   Z)send2trash.win.IFileOperationProgressSinkr   r$   r   r   r   r   <module>   s   