[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.22.68.238: ~ $


��UV��@s�ddlmZmZddlZddlZyeWnek
rPeZYnXddlm	Z	m
Z
mZmZm
Z
Gdd�de	�ZdS)�)�absolute_import�divisionN�)�LockBase�	NotLocked�	NotMyLock�LockTimeout�
AlreadyLockedc@syeZdZdZdZdddd�Zddd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�ZdS)�SQLiteLockFilezDemonstrate SQL-based locking.NTc
Cstj||||�t|j�|_t|j�|_tjdkr�ddl}|j�\}}t	j
|�t	j|�~~|t_ddl}|j
tj�|_|jj�}y|jd�Wn|jk
r�Yn0X|jj�ddl}	|	jt	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�tempfile�mkstemp�os�close�unlink�sqlite3�connect�
connection�cursor�executeZOperationalError�commit�atexit�register)
�self�pathZthreaded�timeoutrZ_fdrr�cr�r!�/sqlitelockfile.pyrs(

	
zSQLiteLockFile.__init__cCs�|dk	r|n|j}tj�}|dk	rI|dkrI||7}|dkr^d}n|dkrsd}n
|d}|jj�}x2|j�s%|jd|j|jf�|jj�|jd|jf�|j	�}t
|�dkr|jd|jf�|jj�q]dSn8|jd|jf�|j	�}t
|�dkr]dS|dk	r�tj�|kr�|dkr�td|j��nt
d	|j��tj|�q�WdS)
Nrg�������?�
z;insert into locks  (lock_file, unique_name)  values  (?, ?)z*select * from locks  where unique_name = ?rz(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)rr�end_time�waitr�rowsr!r!r"�acquire5sD
		
	
	
	
	
zSQLiteLockFile.acquirecCs�|j�std|j��|j�sJtd|j|j�f��|jj�}|j	d|jf�|jj
�dS)Nz%s is not lockedz#%s is locked, but not by me (by %s)z(delete from locks  where unique_name = ?)r%rr�i_am_lockingrr�_who_is_lockingrrrr)rrr!r!r"�releasets	
zSQLiteLockFile.releasecCs3|jj�}|jd|jf�|j�dS)Nz2select unique_name from locks  where lock_file = ?r)rrrr
Zfetchone)rrr!r!r"r.�s	
zSQLiteLockFile._who_is_lockingcCs7|jj�}|jd|jf�|j�}|S)Nz(select * from locks  where lock_file = ?)rrrr
r&)rrr+r!r!r"r%�s
	
zSQLiteLockFile.is_lockedcCs7|jj�}|jd|j|jf�|j�S)Nz?select * from locks  where lock_file = ?    and unique_name = ?)rrrr
rr&)rrr!r!r"r-�s	zSQLiteLockFile.i_am_lockingcCs6|jj�}|jd|jf�|jj�dS)Nz&delete from locks  where lock_file = ?)rrrr
r)rrr!r!r"�
break_lock�s	
zSQLiteLockFile.break_lock)�__name__�
__module__�__qualname__�__doc__rrr,r/r.r%r-r0r!r!r!r"r
s"?r
)Z
__future__rrr$rr�	NameError�str�rrrrr	r
r!r!r!r"�<module>s
(

Filemanager

Name Type Size Permission Actions
__init__.cpython-35.opt-1.pyc File 10 KB 0644
__init__.cpython-35.pyc File 10 KB 0644
linklockfile.cpython-35.opt-1.pyc File 2.34 KB 0644
linklockfile.cpython-35.pyc File 2.34 KB 0644
mkdirlockfile.cpython-35.opt-1.pyc File 2.75 KB 0644
mkdirlockfile.cpython-35.pyc File 2.75 KB 0644
pidlockfile.cpython-35.opt-1.pyc File 4.91 KB 0644
pidlockfile.cpython-35.pyc File 4.91 KB 0644
sqlitelockfile.cpython-35.opt-1.pyc File 3.92 KB 0644
sqlitelockfile.cpython-35.pyc File 3.92 KB 0644
symlinklockfile.cpython-35.opt-1.pyc File 2.21 KB 0644
symlinklockfile.cpython-35.pyc File 2.21 KB 0644