| Current Path : /lib/python3/dist-packages/lockfile/__pycache__/ |
| Current File : //lib/python3/dist-packages/lockfile/__pycache__/__init__.cpython-310.pyc |
o
�r^~$ � @ sr d Z ddlmZ ddlZddlZddlZddlZddlZeed�s%ej e_
eejd�s1ejjej_
g d�ZG dd� de�ZG d d
� d
e�ZG dd� de�ZG d
d� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�Zdd� Zdd� Zdd � Zd!d"� Zd)d#d$�Zeed%�r�d&d'l m!Z" e"j#Z$e$Z(dS d&d(l m%Z& e&j'Z$e$Z(dS )*a
lockfile.py - Platform-independent advisory file locks.
Requires Python 2.5 unless you apply 2.4.diff
Locking is done on a per-thread basis instead of a per-process basis.
Usage:
>>> lock = LockFile('somefile')
>>> try:
... lock.acquire()
... except AlreadyLocked:
... print('somefile', "is locked already.")
... except LockFailed:
... print('somefile', "can't be locked.")
... else:
... print("got lock")
got lock
>>> lock.is_locked()
True
>>> lock.release()
>>> lock = LockFile('somefile')
>>> lock.is_locked()
False
>>> with lock:
... lock.is_locked()
True
>>> lock.is_locked()
False
>>> lock = LockFile('somefile')
>>> # It is okay to lock twice from the same thread...
>>> with lock:
... lock.acquire()
...
>>> # Though no counter is kept, so you can't unlock multiple times...
>>> lock.is_locked()
False
Exceptions:
Error - base class for other exceptions
LockError - base class for all locking exceptions
AlreadyLocked - Another thread or process already holds the lock
LockFailed - Lock failed for some other reason
UnlockError - base class for all unlocking exceptions
AlreadyUnlocked - File was not locked.
NotMyLock - File was locked but not by the current thread/process
� )�absolute_importN�current_thread�get_name)
�Error� LockError�LockTimeout�
AlreadyLocked�
LockFailed�UnlockError� NotLocked� NotMyLock�LinkFileLock�
MkdirFileLock�SQLiteFileLock�LockBase�lockedc @ � e Zd ZdZdS )r zw
Base class for other exceptions.
>>> try:
... raise Error
... except Exception:
... pass
N��__name__�
__module__�__qualname__�__doc__� r r �3/usr/lib/python3/dist-packages/lockfile/__init__.pyr J � r c @ r )r z�
Base class for error arising from attempts to acquire the lock.
>>> try:
... raise LockError
... except Error:
... pass
Nr r r r r r V r r c @ r )r z�Raised when lock creation fails within a user-defined period of time.
>>> try:
... raise LockTimeout
... except LockError:
... pass
Nr r r r r r b � r c @ r )r z�Some other thread/process is locking the file.
>>> try:
... raise AlreadyLocked
... except LockError:
... pass
Nr r r r r r m r r c @ r )r z�Lock file creation failed for some other reason.
>>> try:
... raise LockFailed
... except LockError:
... pass
Nr r r r r r x r r c @ r )r
z�
Base class for errors arising from attempts to release the lock.
>>> try:
... raise UnlockError
... except Error:
... pass
Nr r r r r r
� r r
c @ r )r z�Raised when an attempt is made to unlock an unlocked file.
>>> try:
... raise NotLocked
... except UnlockError:
... pass
Nr r r r r r � r r c @ r )r z�Raised when an attempt is made to unlock a file someone else locked.
>>> try:
... raise NotMyLock
... except UnlockError:
... pass
Nr r r r r r � r r c @ s>