Viewing File: /opt/alt/python35/lib/python3.5/site-packages/lockfile/__pycache__/sqlitelockfile.cpython-35.pyc
UV @ s d d l m Z m Z d d l Z d d l Z y e Wn e k
rP e Z Yn Xd d l m Z m
Z
m Z m Z m
Z
Gd d d e Z d S) )absolute_importdivisionN )LockBase NotLocked NotMyLockLockTimeout
AlreadyLockedc @ sy e Z d Z d Z d Z d d d d Z d d d Z d d Z d
d Z d d
Z d d Z
d d Z d S)SQLiteLockFilezDemonstrate SQL-based locking.NTc
C s t j | | | | t | j | _ t | j | _ t j d k r d d l } | j \ } } t j
| t j | ~ ~ | t _ d d l } | j
t j | _ | j j } y | j d Wn | j k
r Yn0 X| j j d d l } | j t j t j d S)zu
>>> lock = SQLiteLockFile('somefile')
>>> lock = SQLiteLockFile('somefile', threaded=False)
Nr zGcreate table locks( lock_file varchar(32), unique_name varchar(32)))r __init__unicode lock_fileunique_namer
testdbtempfilemkstemposcloseunlinksqlite3connect
connectioncursorexecuteZOperationalErrorcommitatexitregister)
selfpathZthreadedtimeoutr Z_fdr r cr r! /sqlitelockfile.pyr s(
zSQLiteLockFile.__init__c C s | d k r | n | j } t j } | d k rI | d k rI | | 7} | d k r^ d } n | d k rs d } n
| d } | j j } x2| j s%| j d | j | j f | j j | j d | j f | j } t
| d k r| j d | j f | j j q]d Sn8 | j d | j f | j } t
| d k r]d S| d k rt j | k r| d k rt d | j n t
d | j t j | q Wd S)
Nr g?
z;insert into locks (lock_file, unique_name) values (?, ?)z*select * from locks where unique_name = ?r z(delete from locks where unique_name = ?z&Timeout waiting to acquire lock for %sz%s is already locked)r timer r is_lockedr r
r r fetchalllenr r r sleep)r r end_timewaitr rowsr! r! r"