From 4b9de7752e7b14fc239f74f6a556aa377f655319 Mon Sep 17 00:00:00 2001 From: Eric Traut Date: Mon, 10 Aug 2020 13:32:51 -0700 Subject: [PATCH] Contributed stubs for filelock package (#4424) Co-authored-by: Eric Traut --- third_party/3/filelock/__init__.pyi | 54 +++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 third_party/3/filelock/__init__.pyi diff --git a/third_party/3/filelock/__init__.pyi b/third_party/3/filelock/__init__.pyi new file mode 100644 index 000000000..84a648f43 --- /dev/null +++ b/third_party/3/filelock/__init__.pyi @@ -0,0 +1,54 @@ +import sys +from logging import Logger +from types import TracebackType +from typing import Optional, Type, Union + +def logger() -> Logger: ... + +class Timeout(TimeoutError): + def __init__(self, lock_file: str) -> None: ... + def __str__(self) -> str: ... + +class _Acquire_ReturnProxy: + def __init__(self, lock: str) -> None: ... + def __enter__(self) -> str: ... + def __exit__( + self, exc_type: Optional[Type[BaseException]], exc_val: Optional[BaseException], traceback: Optional[TracebackType] + ) -> None: ... + +class BaseFileLock: + def __init__(self, lock_file: str, timeout: Union[float, int, str] = ...) -> None: ... + @property + def lock_file(self) -> str: ... + @property + def timeout(self) -> float: ... + @timeout.setter + def timeout(self, value: Union[int, str, float]) -> None: ... + @property + def is_locked(self) -> bool: ... + def acquire(self, timeout: Optional[float] = ..., poll_intervall: float = ...) -> _Acquire_ReturnProxy: ... + def release(self, force: bool = ...) -> None: ... + def __enter__(self) -> BaseFileLock: ... + def __exit__( + self, exc_type: Optional[Type[BaseException]], exc_val: Optional[BaseException], traceback: Optional[TracebackType] + ) -> None: ... + def __del__(self) -> None: ... + +class WindowsFileLock(BaseFileLock): + def _acquire(self) -> None: ... + def _release(self) -> None: ... + +class UnixFileLock(BaseFileLock): + def _acquire(self) -> None: ... + def _release(self) -> None: ... + +class SoftFileLock(BaseFileLock): + def _acquire(self) -> None: ... + def _release(self) -> None: ... + +if sys.platform == "win32": + FileLock = WindowsFileLock +elif sys.platform == "linux" or sys.platform == "darwin": + FileLock = UnixFileLock +else: + FileLock = SoftFileLock