
    çg                        d dl mZ d dlZd dlZ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mZmZ ej        d
k    rd dlZ G d de          Zn G d de          ZdgZdS )    )annotationsN)suppress)EACCES)Path)cast   )BaseFileLock)ensure_directory_existsraise_on_not_writable_filewin32c                  "    e Zd ZdZddZddZdS )WindowsFileLockWUses the :func:`msvcrt.locking` function to hard lock the lock file on Windows systems.returnNonec                   t          | j                   t          | j                   t          j        t          j        z  t          j        z  }	 t          j        | j        || j        j	                  }	 t          j        |t          j        d           || j        _        d S # t          $ r0}t          j        |           |j        t"          k    r Y d }~d S d }~ww xY w# t          $ r}|j        t"          k    r Y d }~d S d }~ww xY wNr   )r   	lock_filer
   osO_RDWRO_CREATO_TRUNCopen_contextmodemsvcrtlockingLK_NBLCKlock_file_fdOSErrorcloseerrnor   )selfflagsfd	exceptions       M/var/www/html/ai-engine/env/lib/python3.11/site-packages/filelock/_windows.py_acquirezWindowsFileLock._acquire   s#   &t~666#DN333	** 
4WT^UDM4FGG
4N2v::: 24DM...    HRLLL &00 100000    ?f,, -,,,,,s0   %C! 6 B$ $
C.%CC!
D+DDc                j   t          t          | j        j                  }d | j        _        t	          j        |t          j        d           t          j        |           t          t                    5  t          | j                                                   d d d            d S # 1 swxY w Y   d S r   )r   intr   r   r   r   LK_UNLCKr   r!   r   r    r   r   unlink)r#   r%   s     r'   _releasezWindowsFileLock._release*   s    c4=566B)-DM&N2v222HRLLL'"" . .T^$$++---. . . . . . . . . . . . . . . . . .s   4'B((B,/B,Nr   r   __name__
__module____qualname____doc__r(   r-        r'   r   r      sB        ee	4 	4 	4 	4.	. 	. 	. 	. 	. 	.r5   r   c                  "    e Zd ZdZddZddZdS )r   r   r   r   c                    t           NNotImplementedErrorr#   s    r'   r(   zWindowsFileLock._acquire8       %%r5   c                    t           r8   r9   r;   s    r'   r-   zWindowsFileLock._release;   r<   r5   Nr.   r/   r4   r5   r'   r   r   5   sB        ee	& 	& 	& 	&	& 	& 	& 	& 	& 	&r5   )
__future__r   r   sys
contextlibr   r"   r   pathlibr   typingr   _apir	   _utilr
   r   platformr   r   __all__r4   r5   r'   <module>rG      s   " " " " " " 				 



                               F F F F F F F F<7MMM!. !. !. !. !., !. !. !. !.J& & & & &, & & & r5   