Server : Apache System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64 User : dh_edsupp ( 6597262) PHP Version : 8.2.26 Disable Function : NONE Directory : /lib/python3/dist-packages/lockfile/__pycache__/ |
Upload File : |
o ��UV� � @ sp d dl mZmZ d dlZd dlZze W n ey eZY nw ddlm Z m Z mZmZm Z G dd� de �ZdS )� )�absolute_import�divisionN� )�LockBase� NotLocked� NotMyLock�LockTimeout� AlreadyLockedc @ sP e Zd ZdZdZddd�Zddd�Zdd � Zd d� Zdd � Z dd� Z dd� ZdS )�SQLiteLockFilezDemonstrate SQL-based locking.NTc C s� t �| |||� t| j�| _t| j�| _tjdu r2ddl}|�� \}}t � |� t �|� ~~|t_ddl}|� tj�| _| j�� }z|�d� W n |jyT Y dS w | j�� ddl} | �t jtj� dS )zu >>> lock = SQLiteLockFile('somefile') >>> lock = SQLiteLockFile('somefile', threaded=False) Nr zGcreate table locks( lock_file varchar(32), unique_name varchar(32)))r �__init__�unicode� lock_file�unique_namer �testdb�tempfile�mkstemp�os�close�unlink�sqlite3�connect� connection�cursor�execute�OperationalError�commit�atexit�register) �self�path�threaded�timeoutr �_fdr r �cr � r$ �9/usr/lib/python3/dist-packages/lockfile/sqlitelockfile.pyr s* � zSQLiteLockFile.__init__c C s8 |d ur|n| j }t�� }|d ur|dkr||7 }|d u r d}n|dkr'd}n|d }| j�� } | �� sf|�d| j| jf� | j�� |�d| jf� |� � }t |�dkrd|�d| jf� | j�� nd S |�d| jf� |� � }t |�dkrzd S |d ur�t�� |kr�|dkr�td | j ��t d | j ��t�|� q1)Nr g�������?� Tz;insert into locks (lock_file, unique_name) values (?, ?)z*select * from locks where unique_name = ?r �(delete from locks where unique_name = ?z&Timeout waiting to acquire lock for %sz%s is already locked)r! �timer r � is_lockedr r r r �fetchall�lenr r r �sleep)r r! �end_time�waitr �rowsr$ r$ r% �acquire5 sP � ���� �zSQLiteLockFile.acquirec C s\ | � � std| j ��| �� std| j| �� f ��| j�� }|� d| jf� | j� � d S )Nz%s is not lockedz#%s is locked, but not by me (by %s)r'