a
    Šxdg  ã                   @  sN   d dl mZ d dlZd dlZd dlZd dlmZmZ dddœdd„ZdgZ	dS )	é    )ÚannotationsN)ÚEACCESÚEISDIRÚstrÚNone)ÚfilenameÚreturnc                 C  sz   zt  | ¡}W n ty"   Y dS 0 |jdkrv|jtj@ sFttd| ƒ‚t |j¡rvt	j
dkrjttd| ƒ‚nttd| ƒ‚dS )a.  
    Raise an exception if attempting to open the file for writing would fail.
    This is done so files that will never be writable can be separated from
    files that are writable but currently locked
    :param filename: file to check
    :raises OSError: as if the file was opened for writing
    Nr   zPermission deniedÚwin32zIs a directory)ÚosÚstatÚOSErrorÚst_mtimeÚst_modeÚS_IWUSRÚPermissionErrorr   ÚS_ISDIRÚsysÚplatformÚIsADirectoryErrorr   )r   Z	file_stat© r   úF/var/www/html/Ranjet/env/lib/python3.9/site-packages/filelock/_util.pyÚraise_on_not_writable_file	   s    

r   )
Ú
__future__r   r
   r   r   Úerrnor   r   r   Ú__all__r   r   r   r   Ú<module>   s   ÿ