JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrB ar@sbddlmZddlZddlZddlmZmZmZddlm Z ddl m Z Gddde Z dgZ dS) ) annotationsN)EACCESEEXISTENOENT) BaseFileLock)raise_on_exist_ro_filec@s,eZdZdZddddZddddZdS) SoftFileLockz.Simply watches the existence of the lock file.None)returnc Cst|jtjtjBtjBtjB}yt|j|}WnRtk r}z4|j t krRn$|j t kr`n|j t krvt jdkrvWdd}~XYnX||_dS)Nwin32)r _lock_fileosO_WRONLYO_CREATO_EXCLO_TRUNCopenOSErrorerrnorrrsysplatform _lock_file_fd)selfmodefd exceptionr?/opt/alt/python37/lib/python3.7/site-packages/filelock/_soft.py_acquires   zSoftFileLock._acquirecCs<t|jd|_yt|jWntk r6YnXdS)N)rcloserremover r)rrrr_release$s  zSoftFileLock._releaseN)__name__ __module__ __qualname____doc__rr"rrrrr sr ) __future__rrrrrrrZ_apirZ_utilrr __all__rrrrs   #