[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@18.218.31.91: ~ $
U

��UV��@srddlmZmZddlZddlZzeWnek
r@eZYnXddlm	Z	m
Z
mZmZm
Z
Gdd�de	�ZdS)�)�absolute_import�divisionN�)�LockBase�	NotLocked�	NotMyLock�LockTimeout�
AlreadyLockedc@sPeZdZdZdZddd�Zddd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�ZdS)�SQLiteLockFilezDemonstrate SQL-based locking.NTc
Cs�t�||||�t|j�|_t|j�|_tjdkrdddl}|��\}}t	�
|�t	�|�~~|t_ddl}|�
tj�|_|j��}z|�d�Wn|jk
r�Yn$X|j��ddl}	|	�t	jtj�dS)zu
        >>> lock = SQLiteLockFile('somefile')
        >>> lock = SQLiteLockFile('somefile', threaded=False)
        NrzGcreate table locks(   lock_file varchar(32),   unique_name varchar(32)))r�__init__�unicode�	lock_file�unique_namer
�testdb�tempfileZmkstemp�os�close�unlink�sqlite3Zconnect�
connection�cursor�executeZOperationalError�commit�atexit�register)
�self�pathZthreaded�timeoutrZ_fdrr�cr�r�/sqlitelockfile.pyrs(




zSQLiteLockFile.__init__cCsD|dk	r|n|j}t��}|dk	r2|dkr2||7}|dkr@d}n|dkrNd}n|d}|j��}|��s�|�d|j|jf�|j��|�d|jf�|�	�}t
|�dkr�|�d|jf�|j��q�dSn(|�d|jf�|�	�}t
|�dkr�dS|dk	�r4t��|k�r4|dk�r&td|j��nt
d	|j��t�|�q`dS)
Nrg�������?�
z;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�timerr�	is_lockedrr
rr�fetchall�lenrrr	�sleep)rrZend_time�waitr�rowsrrr �acquire5sL

�
���
�zSQLiteLockFile.acquirecCs\|��std|j��|��s4td|j|��f��|j��}|�	d|jf�|j�
�dS)Nz%s is not lockedz#%s is locked, but not by me (by %s)r")r$rr�i_am_lockingrr�_who_is_lockingrrrr�rrrrr �releasets�
�zSQLiteLockFile.releasecCs&|j��}|�d|jf�|��dS)Nz2select unique_name from locks  where lock_file = ?r)rrrr
Zfetchoner-rrr r,�s

�zSQLiteLockFile._who_is_lockingcCs*|j��}|�d|jf�|��}|S)Nz(select * from locks  where lock_file = ?)rrrr
r%)rrr)rrr r$�s
�zSQLiteLockFile.is_lockedcCs*|j��}|�d|j|jf�|��S)Nz?select * from locks  where lock_file = ?    and unique_name = ?)rrrr
rr%r-rrr r+�s


�zSQLiteLockFile.i_am_lockingcCs(|j��}|�d|jf�|j��dS)Nz&delete from locks  where lock_file = ?)rrrr
rr-rrr �
break_lock�s

�zSQLiteLockFile.break_lock)TN)N)�__name__�
__module__�__qualname__�__doc__rrr*r.r,r$r+r/rrrr r
s
"
?r
)Z
__future__rrr#rr�	NameError�str�rrrrr	r
rrrr �<module>s


Filemanager

Name Type Size Permission Actions
__init__.cpython-38.opt-1.pyc File 9.49 KB 0644
__init__.cpython-38.pyc File 9.49 KB 0644
linklockfile.cpython-38.opt-1.pyc File 2.17 KB 0644
linklockfile.cpython-38.pyc File 2.17 KB 0644
mkdirlockfile.cpython-38.opt-1.pyc File 2.53 KB 0644
mkdirlockfile.cpython-38.pyc File 2.53 KB 0644
pidlockfile.cpython-38.opt-1.pyc File 4.68 KB 0644
pidlockfile.cpython-38.pyc File 4.68 KB 0644
sqlitelockfile.cpython-38.opt-1.pyc File 3.56 KB 0644
sqlitelockfile.cpython-38.pyc File 3.56 KB 0644
symlinklockfile.cpython-38.opt-1.pyc File 2.06 KB 0644
symlinklockfile.cpython-38.pyc File 2.06 KB 0644