Viewing File: /opt/alt/python38/lib/python3.8/site-packages/lockfile/__pycache__/mkdirlockfile.cpython-38.pyc
U
ùýUV ã @ sd d dl mZmZ d dlZd dlZd dlZd dlZddlmZm Z m
Z
mZmZm
Z
G dd„ deƒZdS )é )Úabsolute_importÚdivisionNé )ÚLockBaseÚ
LockFailedÚ NotLockedÚ NotMyLockÚLockTimeoutÚ
AlreadyLockedc @ sD e Zd ZdZddd„Zddd„Zdd „ Zd
d„ Zdd
„ Zdd„ Z dS )Ú
MkdirLockFilez"Lock file by creating a directory.TNc C s6 t | |||¡ tj | jd| j| j| jf ¡| _ dS )zs
>>> lock = MkdirLockFile('somefile')
>>> lock = MkdirLockFile('somefile', threaded=False)
z%s.%s%sN)
r Ú__init__ÚosÚpathÚjoinÚ lock_fileZhostnameZtnameÚpidÚunique_name)Úselfr ZthreadedÚtimeout© r ú/mkdirlockfile.pyr s
þÿzMkdirLockFile.__init__c C s |d k r|n| j }t ¡ }|d k r2|dkr2||7 }|d kr@d}ntd|d ƒ}zt | j¡ W n” tk
rò t ¡ d }|j t j
kràtj | j
¡ršY d S |d k rÔt ¡ |krÔ|dkrÆtd| j ƒ‚ntd| j ƒ‚t |¡ ntd| j ƒ‚Y qNX t| j
dƒ ¡ d S qNd S ) Nr gš™™™™™¹?é
r z&Timeout waiting to acquire lock for %sz%s is already lockedzfailed to create %sÚwb)r ÚtimeÚmaxr
Úmkdirr ÚOSErrorÚsysÚexc_infoÚerrnoZEEXISTr Úexistsr r r
Úsleepr ÚopenÚclose)r r Zend_timeÚwaitÚerrr r r Úacquire s4 þÿzMkdirLockFile.acquirec C sP | ¡ std| j ƒ‚ntj | j¡s4td| j ƒ‚t | j¡ t | j ¡ d S )Nz%s is not lockedz%s is locked, but not by me)
Ú is_lockedr r r
r r r ÚunlinkÚrmdirr ©r r r r ÚreleaseA s zMkdirLockFile.releasec C s t j | j¡S ©N)r
r r r r* r r r r' I s zMkdirLockFile.is_lockedc C s | ¡ otj | j¡S r, )r' r
r r r r* r r r Úi_am_lockingL s ÿzMkdirLockFile.i_am_lockingc C sF t j | j¡rBt | j¡D ]}t t j | j|¡¡ qt | j¡ d S r, )r
r r r Úlistdirr( r r) )r Únamer r r Ú
break_lockP s zMkdirLockFile.break_lock)TN)N)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r r&