
    {h/	                    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    F/var/www/auris/envauris/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                "   [        U R                  5        [        R                  [        R                  -  n[        U R                  5      R                  5       (       d  U[        R                  -  n[        R                  " U R                  XR                  R                  5      n[        [        5         [        R                  " X R                  R                  5        S S S 5         [        R                  " U[        R                   [        R"                  -  5        X R                  l        g ! , (       d  f       NV= f! [&         aB  n[        R(                  " U5        UR*                  [,        :X  a  Sn[/        U5      Ue S nAg S nAff = f)NzEFileSystem does not appear to support flock; use SoftFileLock instead)r
   	lock_fileosO_RDWRO_TRUNCr   existsO_CREATopen_contextmoder   PermissionErrorfchmodfcntlflockLOCK_EXLOCK_NBlock_file_fdOSErrorcloseerrnor   r   )r   
open_flagsfd	exceptionmsgs        r   r   r   '   s    #DNN3RZZ/J'..00bjj(
]]5G5GHB/*		"mm001 +0B => .0* +*  B??f,aC-c2	A -Bs$   6+D1*6E 1
D?
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   r3   r;   r7   r8   LOCK_UNr-   r=   )r   r@   s     r   r   r   9   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
   rF   platformr   r7   r8   r9   r:   rE   _ImportErrorAttributeError__all__r   r   r   <module>rS      s    " 	 
      * 	<<7&| &[[%--F 	| @ I ( s   2B B! B!