Viewing File: /usr/lib/python3.6/site-packages/pip/_vendor/lockfile/__pycache__/sqlitelockfile.cpython-36.pyc

3

aj@srddlmZmZddlZddlZyeWnek
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
Cstj||||t|j|_t|j|_tjdkrdddl}|j\}}t	j
|t	j|~~|t_ddl}|j
tj|_|jj}y|jdWn|jk
rYn$X|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
testdbtempfileZmkstemposcloseunlinksqlite3Zconnect
connectioncursorexecuteZOperationalErrorcommitatexitregister)
selfpathZthreadedtimeoutrZ_fdrrcrr$/usr/lib/python3.6/sqlitelockfile.pyrs(




zSQLiteLockFile.__init__cCsH|dk	r|n|j}tj}|dk	r2|dkr2||7}|dkr@d}n|dkrNd}n|d}|jj}x|js|jd|j|jf|jj|jd|jf|j	}t
|dkr|jd|jf|jjqdSn(|jd|jf|j	}t
|dkrdS|dk	r6tj|kr6|dkr(td|jnt
d	|jtj|qbWdS)
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	Zsleep)rrZend_timewaitrrowsrrr acquire5sD





zSQLiteLockFile.acquirecCs\|jstd|j|js4td|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)rrrrr releasets

zSQLiteLockFile.releasecCs&|jj}|jd|jf|jdS)Nz2select unique_name from locks  where lock_file = ?r)rrrr
Zfetchone)rrrrr r*s

zSQLiteLockFile._who_is_lockingcCs*|jj}|jd|jf|j}|S)Nz(select * from locks  where lock_file = ?)rrrr
r$)rrr'rrr r#s


zSQLiteLockFile.is_lockedcCs*|jj}|jd|j|jf|jS)Nz?select * from locks  where lock_file = ?    and unique_name = ?)rrrr
rr$)rrrrr r)s
zSQLiteLockFile.i_am_lockingcCs(|jj}|jd|jf|jjdS)Nz&delete from locks  where lock_file = ?)rrrr
r)rrrrr 
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