Viewing File: /opt/alt/python38/lib/python3.8/site-packages/lockfile/__pycache__/sqlitelockfile.cpython-38.pyc

U

UV@srddlmZmZddlZddlZzeWnek
r@eZYnXddlm	Z	m
Z
mZmZm
Z
Gddde	ZdS))absolute_importdivisionN)LockBase	NotLocked	NotMyLockLockTimeout
AlreadyLockedc@sPeZdZdZdZdddZdddZdd	Zd
dZdd
Z	ddZ
ddZdS)SQLiteLockFilezDemonstrate SQL-based locking.NTc
Cst||||t|j|_t|j|_tjdkrdddl}|\}}t	
|t	|~~|t_ddl}|
tj|_|j}z|dWn|jk
rYn$X|jddl}	|	t	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
testdbtempfileZmkstemposcloseunlinksqlite3Zconnect
connectioncursorexecuteZOperationalErrorcommitatexitregister)
selfpathZthreadedtimeoutrZ_fdrrcrr/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|jqdSn(|d|jf|	}t
|dkrdS|dk	r4t|kr4|dkr&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)rtimerr	is_lockedrr
rrfetchalllenrrr	sleep)rrZend_timewaitrrowsrrr 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_lockingrrrrrrrrr 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|jdS)Nz&delete from locks  where lock_file = ?)rrrr
rr-rrr 
break_locks

zSQLiteLockFile.break_lock)TN)N)__name__
__module____qualname____doc__rrr*r.r,r$r+r/rrrr r
s
"
?r
)Z
__future__rrr#rr	NameErrorstrrrrrr	r
rrrr <module>s

Back to Directory File Manager