Viewing File: /opt/alt/python35/lib/python3.5/site-packages/lockfile/__pycache__/sqlitelockfile.cpython-35.pyc



UV@sddlmZmZddlZddlZyeWnek
rPeZYnXddlm	Z	m
Z
mZmZm
Z
Gddde	ZdS))absolute_importdivisionN)LockBase	NotLocked	NotMyLockLockTimeout
AlreadyLockedc@syeZdZdZdZddddZdddZdd	Zd
dZdd
Z	ddZ
ddZdS)SQLiteLockFilezDemonstrate SQL-based locking.NTc
Cstj||||t|j|_t|j|_tjdkrddl}|j\}}t	j
|t	j|~~|t_ddl}|j
tj|_|jj}y|jdWn|jk
rYn0X|jjddl}	|	jt	jtjdS)zu
        >>> lock = SQLiteLockFile('somefile')
        >>> lock = SQLiteLockFile('somefile', threaded=False)
        NrzGcreate table locks(   lock_file varchar(32),   unique_name varchar(32)))r__init__unicode	lock_fileunique_namer
testdbtempfilemkstemposcloseunlinksqlite3connect
connectioncursorexecuteZOperationalErrorcommitatexitregister)
selfpathZthreadedtimeoutrZ_fdrrcrr!/sqlitelockfile.pyrs(

	
zSQLiteLockFile.__init__cCs|dk	r|n|j}tj}|dk	rI|dkrI||7}|dkr^d}n|dkrsd}n
|d}|jj}x2|js%|jd|j|jf|jj|jd|jf|j	}t
|dkr|jd|jf|jjq]dSn8|jd|jf|j	}t
|dkr]dS|dk	rtj|kr|dkrtd|jnt
d	|jtj|qWdS)
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)rtimerr	is_lockedrr
rrfetchalllenrrr	sleep)rrend_timewaitrrowsr!r!r"acquire5sD
		
	
	
	
	
zSQLiteLockFile.acquirecCs|jstd|j|jsJtd|j|jf|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|jdS)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|jjdS)Nz&delete from locks  where lock_file = ?)rrrr
r)rrr!r!r"
break_locks	
zSQLiteLockFile.break_lock)__name__
__module____qualname____doc__rrr,r/r.r%r-r0r!r!r!r"r
s"?r
)Z
__future__rrr$rr	NameErrorstrrrrrr	r
r!r!r!r"<module>s
(
Back to Directory File Manager