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



ùýUVã@sŽddlmZmZddlZddlZddlZddlZddlmZm	Z	m
Z
mZmZm
Z
Gdd„deƒZdS)é)Úabsolute_importÚdivisionNé)ÚLockBaseÚ
LockFailedÚ	NotLockedÚ	NotMyLockÚLockTimeoutÚ
AlreadyLockedc@sgeZdZdZdddd„Zddd„Zdd	„Zd
d„Zdd
„Zdd„Z	dS)Ú
MkdirLockFilez"Lock file by creating a directory.TNcCsKtj||||ƒtjj|jd|j|j|jfƒ|_	dS)zs
        >>> lock = MkdirLockFile('somefile')
        >>> lock = MkdirLockFile('somefile', threaded=False)
        z%s.%s%sN)
rÚ__init__ÚosÚpathÚjoinÚ	lock_fileÚhostnameZtnameÚpidÚunique_name)ÚselfrZthreadedÚtimeout©rú/mkdirlockfile.pyrs
	zMkdirLockFile.__init__cCsp|dk	r|n|j}tjƒ}|dk	rI|dkrI||7}|dkr^d}ntd|dƒ}xøytj|jƒWnÃtk
rMtjƒd}|j	t	j
kr6tjj|j
ƒrÓdS|dk	r&tjƒ|kr&|dkrtd|jƒ‚ntd|jƒ‚tj|ƒntd|jƒ‚YqtXt|j
dƒjƒdSqtWdS)	Nrgš™™™™™¹?é
rz&Timeout waiting to acquire lock for %sz%s is already lockedzfailed to create %sÚwb)rÚtimeÚmaxr
ÚmkdirrÚOSErrorÚsysÚexc_infoÚerrnoÚEEXISTrÚexistsrr	r
ÚsleeprÚopenÚclose)rrÚend_timeÚwaitÚerrrrrÚacquires2
	

zMkdirLockFile.acquirecCsn|jƒs"td|jƒ‚n(tjj|jƒsJtd|jƒ‚tj|jƒtj|j	ƒdS)Nz%s is not lockedz%s is locked, but not by me)
Ú	is_lockedrrr
r"rrÚunlinkÚrmdirr)rrrrÚreleaseAszMkdirLockFile.releasecCstjj|jƒS)N)r
rr"r)rrrrr*IszMkdirLockFile.is_lockedcCs|jƒotjj|jƒS)N)r*r
rr"r)rrrrÚi_am_lockingLszMkdirLockFile.i_am_lockingcCsetjj|jƒrax9tj|jƒD]%}tjtjj|j|ƒƒq(Wtj|jƒdS)N)r
rr"rÚlistdirr+rr,)rÚnamerrrÚ
break_lockPs#zMkdirLockFile.break_lock)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__rr)r-r*r.r1rrrrrs
&r)Z
__future__rrrr
rr Úrrrrr	r
rrrrrÚ<module>s.
Back to Directory File Manager