� u��g�����ddlmZddlZddlZddlmZddlmZddlm Z ddl m Z ddl m Z dd lmZmZejd krddlZGd �d e ��ZnGd �d e ��Zd gZdS)�)� annotationsN)�suppress)�EACCES)�Path)�cast�)� BaseFileLock)�ensure_directory_exists�raise_on_not_writable_file�win32c�"�eZdZdZdd�Zdd�ZdS)�WindowsFileLock�WUses the :func:`msvcrt.locking` function to hard lock the lock file on Windows systems.�return�Nonec��t|j��t|j��tjtjztjz} tj|j||jj ��} tj |tj d��||j_ dS#t$r0}tj|��|jt"kr�Yd}~dSd}~wwxYw#t$r}|jt"kr�Yd}~dSd}~wwxYw)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 �a/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/filelock/_windows.py�_acquirezWindowsFileLock._acquires#�� &�t�~� 6� 6� 6� #�D�N� 3� 3� 3�� ��*���*�� � 4��W�T�^�U�D�M�4F�G�G�� 4��N�2�v���:�:�:� 24�D�M�.�.�.�� �����H�R�L�L�L� ��&�0�0��1�0�0�0�0�0���������� � � � ��?�f�,�,��-�,�,�,�,�,����� ���s0�%C!�6 B$�$ C�.%C�C�! D�+D�Dc�`�td|jj��}d|j_tj|tjd��t j|��tt��5t|j ��� ��ddd��dS#1swxYwYdS)N�intr) rrrrr�LK_UNLCKrr rrrr�unlink)r"r$s r&�_releasezWindowsFileLock._release*s����e�T�]�7�8�8�B�)-�D�M� &� �N�2�v��� 2� 2� 2� �H�R�L�L�L��'�"�"� .� .��T�^�$�$�+�+�-�-�-� .� .� .� .� .� .� .� .� .� .� .� .���� .� .� .� .� .� .s�/'B#�#B'�*B'N�rr��__name__� __module__� __qualname__�__doc__r'r,��r&rrsB������e�e� 4� 4� 4� 4�. .� .� .� .� .� .r4rc�"�eZdZdZdd�Zdd�ZdS)rrrrc��t��N��NotImplementedError�r"s r&r'zWindowsFileLock._acquire8���%� %r4c��t�r7r8r:s r&r,zWindowsFileLock._release;r;r4Nr-r.r3r4r&rr5sB������e�e� &� &� &� &� &� &� &� &� &� &r4)� __future__rr�sys� contextlibrr!r�pathlibr�typingr�_apir �_utilr r �platformrr�__all__r3r4r&�<module>rFs��"�"�"�"�"�"� � � � � � � � �������������������������������F�F�F�F�F�F�F�F��<�7����M�M�M�!.�!.�!.�!.�!.�,�!.�!.�!.�!.�J&�&�&�&�&�,�&�&�&�� ���r4
Memory