
    _i	                    H   S SK Jr  S SKrS SKrS SKJr  S SKJr  S SKJ	r	  S SK
Jr  SSKJr  SS	KJr  S
r\R"                  S:X  a   " S S\5      rO@ S SKr\R(                  \R*                  \R,                  \R.                  4rSr " S S\5      rSS/rg! \\4 a     Nf = f)    )annotationsN)suppress)ENOSYS)Path)cast   )BaseFileLock)ensure_directory_existsFwin32c                  ,    \ rS rSrSrSS jrSS jrSrg)UnixFileLock   HUses the :func:`fcntl.flock` to hard lock the lock file on unix systems.c                    [         eNNotImplementedErrorselfs    J/var/www/html/land-ocr/venv/lib/python3.13/site-packages/filelock/_unix.py_acquireUnixFileLock._acquire       %%    c                    [         er   r   r   s    r   _releaseUnixFileLock._release   r   r    NreturnNone__name__
__module____qualname____firstlineno____doc__r   r   __static_attributes__r   r   r   r   r      s    V	&	&r   r   Tc                  ,    \ rS rSrSrSS jrSS jrSrg)r   $   r   c                R   [        U R                  5        [        R                  [        R                  -  n[        [        SS 5      nUb  X-  n[        U R                  5      R                  5       (       d  U[        R                  -  n[        R                  " U R                  XR                  R                  5      n[        [        5         [        R                  " X0R                  R                  5        S S S 5         [        R                   " U[        R"                  [        R$                  -  5        X0R                  l        g ! , (       d  f       NV= f! [(         aB  n[        R*                  " U5        UR,                  [.        :X  a  Sn[1        U5      Ue S nAg S nAff = f)N
O_NOFOLLOWzEFileSystem does not appear to support flock; use SoftFileLock instead)r
   	lock_fileosO_RDWRO_TRUNCgetattrr   existsO_CREATopen_contextmoder   PermissionErrorfchmodfcntlflockLOCK_EXLOCK_NBlock_file_fdOSErrorcloseerrnor   r   )r   
open_flags
o_nofollowfd	exceptionmsgs         r   r   r   '   s   #DNN3RZZ/J \48J%(
'..00bjj(
]]5G5GHB/*		"mm001 +0B => .0* +*  B??f,aC-c2	A -Bs$   +E	6E 	
E
F&$8F!!F&c                    [        SU R                  R                  5      nS U R                  l        [        R                  " U[        R
                  5        [        R                  " U5        g )Nint)r   r5   r=   r9   r:   LOCK_UNr.   r?   )r   rC   s     r   r   r   <   sC     eT]]778B)-DMM&KKEMM*HHRLr   r   Nr   r"   r   r   r   r   r   $   s    V	0*	r   	has_fcntl)
__future__r   r.   sys
contextlibr   r@   r   pathlibr   typingr   _apir	   _utilr
   rI   platformr   r9   r:   r;   r<   rH   _ImportErrorAttributeError__all__r   r   r   <module>rV      s    " 	 
      * 	<<7&| &[[%--F 	| F O ( s   2B B! B!