Ë
    F^(h¯  ã                  ó€   — d dl mZ d dlZd dlZd dlmZ d dlmZmZ d dl	m
Z
 ddlmZ ddlmZmZ  G d	„ d
e«      Zd
gZy)é    )ÚannotationsN)Úsuppress)ÚEACCESÚEEXIST)ÚPathé   )ÚBaseFileLock)Úensure_directory_existsÚraise_on_not_writable_filec                  ó    — e Zd ZdZdd„Zdd„Zy)ÚSoftFileLockz.Simply watches the existence of the lock file.c                ó  — t        | j                  «       t        | j                  «       t        j                  t        j
                  z  t        j                  z  t        j                  z  }	 t        j                  | j                  || j                  j                  «      }|| j                  _        y # t        $ rI}|j                  t        k(  s,|j                  t        k(  rt         j"                  dk(  s‚ Y d }~y Y d }~y d }~ww xY w)NÚwin32)r   Ú	lock_filer
   ÚosÚO_WRONLYÚO_CREATÚO_EXCLÚO_TRUNCÚopenÚ_contextÚmodeÚlock_file_fdÚOSErrorÚerrnor   r   ÚsysÚplatform)ÚselfÚflagsÚfile_handlerÚ	exceptions       úL/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/filelock/_soft.pyÚ_acquirezSoftFileLock._acquire   sÄ   € Ü" 4§>¡>Ô2Ü §¡Ô/ô �K‰KÜ�j‰jñä�i‰iñô �j‰jñð 	ð		6ÜŸ7™7 4§>¡>°5¸$¿-¹-×:LÑ:LÓMˆLð *6ˆD�M‰MÕ&øô ò 	à—‘¤6Ò)Ø—O‘O¤vÒ-´#·,±,À'Ò2Iàô 3Jô *ûð	ús   Á/5B6 Â6	DÂ?:DÄDc                ó6  — | j                   j                  €J ‚t        j                  | j                   j                  «       d | j                   _        t	        t
        «      5  t        | j                  «      j                  «        d d d «       y # 1 sw Y   y xY w)N)	r   r   r   Úcloser   r   r   r   Úunlink)r   s    r"   Ú_releasezSoftFileLock._release%   sl   € Ø�}‰}×)Ñ)Ð5Ð5Ð5Ü
�‰�—‘×+Ñ+Ô,Ø%)ˆ�‰Ô"Ü”gÓñ 	*Ü�—‘Ó ×'Ñ'Ô)÷	*÷ 	*ñ 	*ús   Á"$BÂBN)ÚreturnÚNone)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r#   r'   © ó    r"   r   r      s   „ Ù8ó6ô**r/   r   )Ú
__future__r   r   r   Ú
contextlibr   r   r   r   Úpathlibr   Ú_apir	   Ú_utilr
   r   r   Ú__all__r.   r/   r"   ú<module>r6      s6   ðÝ "ã 	Û 
Ý ß  Ý å ß Fô*�<ô *ðB ð�r/   