Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
__init__.py94 linesDownload Raw Back to filelock
1"""2A platform independent file lock that supports the with-statement.3 4.. autodata:: filelock.__version__5    :no-value:6 7"""8 9from __future__ import annotations10 11import sys12import warnings13from typing import TYPE_CHECKING14 15from ._api import AcquireReturnProxy, BaseFileLock16from ._error import Timeout17 18if TYPE_CHECKING:19    from ._async_read_write import (20        AsyncAcquireReadWriteReturnProxy,21        AsyncReadWriteLock,22    )23    from ._read_write import ReadWriteLock24else:25    try:26        from ._async_read_write import AsyncAcquireReadWriteReturnProxy, AsyncReadWriteLock27        from ._read_write import ReadWriteLock28    except ImportError:  # sqlite3 may be unavailable if Python was built without it or the C library is missing29        AsyncAcquireReadWriteReturnProxy = None30        AsyncReadWriteLock = None31        ReadWriteLock = None32 33from ._soft import SoftFileLock34from ._soft_rw import AsyncAcquireSoftReadWriteReturnProxy, AsyncSoftReadWriteLock, SoftReadWriteLock35from ._unix import UnixFileLock, has_fcntl36from ._windows import WindowsFileLock37from .asyncio import (38    AsyncAcquireReturnProxy,39    AsyncSoftFileLock,40    AsyncUnixFileLock,41    AsyncWindowsFileLock,42    BaseAsyncFileLock,43)44from .version import version45 46#: version of the project as a string47__version__: str = version48 49 50if sys.platform == "win32":  # pragma: win32 cover51    _FileLock: type[BaseFileLock] = WindowsFileLock52    _AsyncFileLock: type[BaseAsyncFileLock] = AsyncWindowsFileLock53else:  # pragma: win32 no cover # noqa: PLR550154    if has_fcntl:55        _FileLock: type[BaseFileLock] = UnixFileLock56        _AsyncFileLock: type[BaseAsyncFileLock] = AsyncUnixFileLock57    else:58        _FileLock = SoftFileLock59        _AsyncFileLock = AsyncSoftFileLock60        if warnings is not None:61            warnings.warn("only soft file lock is available", stacklevel=2)62 63if TYPE_CHECKING:64    FileLock = SoftFileLock65    AsyncFileLock = AsyncSoftFileLock66else:67    #: Alias for the lock, which should be used for the current platform.68    FileLock = _FileLock69    AsyncFileLock = _AsyncFileLock70 71 72__all__ = [73    "AcquireReturnProxy",74    "AsyncAcquireReadWriteReturnProxy",75    "AsyncAcquireReturnProxy",76    "AsyncAcquireSoftReadWriteReturnProxy",77    "AsyncFileLock",78    "AsyncReadWriteLock",79    "AsyncSoftFileLock",80    "AsyncSoftReadWriteLock",81    "AsyncUnixFileLock",82    "AsyncWindowsFileLock",83    "BaseAsyncFileLock",84    "BaseFileLock",85    "FileLock",86    "ReadWriteLock",87    "SoftFileLock",88    "SoftReadWriteLock",89    "Timeout",90    "UnixFileLock",91    "WindowsFileLock",92    "__version__",93]94 
codekingpro/portable-devtools · Team Ai