zstdlib 0.4.0__tar.gz → 0.4.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {zstdlib-0.4.0 → zstdlib-0.4.2}/PKG-INFO +1 -1
- zstdlib-0.4.2/zstdlib/__init__.py +21 -0
- {zstdlib-0.4.0 → zstdlib-0.4.2}/zstdlib/log/__init__.py +2 -0
- zstdlib-0.4.2/zstdlib/signal_cm.py +30 -0
- {zstdlib-0.4.0 → zstdlib-0.4.2}/zstdlib.egg-info/PKG-INFO +1 -1
- {zstdlib-0.4.0 → zstdlib-0.4.2}/zstdlib.egg-info/SOURCES.txt +2 -1
- zstdlib-0.4.0/zstdlib/__init__.py +0 -7
- {zstdlib-0.4.0 → zstdlib-0.4.2}/LICENSE +0 -0
- {zstdlib-0.4.0 → zstdlib-0.4.2}/README.md +0 -0
- {zstdlib-0.4.0 → zstdlib-0.4.2}/pyproject.toml +0 -0
- {zstdlib-0.4.0 → zstdlib-0.4.2}/setup.cfg +0 -0
- {zstdlib-0.4.0 → zstdlib-0.4.2}/tests/__init__.py +0 -0
- {zstdlib-0.4.0 → zstdlib-0.4.2}/tests/log/__init__.py +0 -0
- {zstdlib-0.4.0 → zstdlib-0.4.2}/tests/log/base.py +0 -0
- {zstdlib-0.4.0 → zstdlib-0.4.2}/tests/log/test_cute.py +0 -0
- {zstdlib-0.4.0 → zstdlib-0.4.2}/tests/log/test_trace.py +0 -0
- {zstdlib-0.4.0 → zstdlib-0.4.2}/tests/test_ansi.py +0 -0
- {zstdlib-0.4.0 → zstdlib-0.4.2}/tests/test_enum.py +0 -0
- {zstdlib-0.4.0 → zstdlib-0.4.2}/tests/test_frozen.py +0 -0
- {zstdlib-0.4.0 → zstdlib-0.4.2}/tests/test_io.py +0 -0
- /zstdlib-0.4.0/tests/not_set.py → /zstdlib-0.4.2/tests/test_not_set.py +0 -0
- {zstdlib-0.4.0 → zstdlib-0.4.2}/tests/test_singleton.py +0 -0
- {zstdlib-0.4.0 → zstdlib-0.4.2}/zstdlib/ansi.py +0 -0
- {zstdlib-0.4.0 → zstdlib-0.4.2}/zstdlib/enum.py +0 -0
- {zstdlib-0.4.0 → zstdlib-0.4.2}/zstdlib/frozen.py +0 -0
- {zstdlib-0.4.0 → zstdlib-0.4.2}/zstdlib/io.py +0 -0
- {zstdlib-0.4.0 → zstdlib-0.4.2}/zstdlib/log/cute.py +0 -0
- {zstdlib-0.4.0 → zstdlib-0.4.2}/zstdlib/log/trace.py +0 -0
- {zstdlib-0.4.0 → zstdlib-0.4.2}/zstdlib/not_set.py +0 -0
- {zstdlib-0.4.0 → zstdlib-0.4.2}/zstdlib/py.typed +0 -0
- {zstdlib-0.4.0 → zstdlib-0.4.2}/zstdlib/singleton.py +0 -0
- {zstdlib-0.4.0 → zstdlib-0.4.2}/zstdlib.egg-info/dependency_links.txt +0 -0
- {zstdlib-0.4.0 → zstdlib-0.4.2}/zstdlib.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
__version__ = "0.4.2"
|
|
2
|
+
|
|
3
|
+
from .not_set import NotSetType, NotSet
|
|
4
|
+
from .frozen import Freezable, frozen
|
|
5
|
+
from .singleton import Singleton
|
|
6
|
+
from .signal_cm import signal_cm
|
|
7
|
+
from .enum import Enum, auto
|
|
8
|
+
from . import log, io
|
|
9
|
+
|
|
10
|
+
__all__ = (
|
|
11
|
+
"Enum",
|
|
12
|
+
"Freezable",
|
|
13
|
+
"NotSet",
|
|
14
|
+
"NotSetType",
|
|
15
|
+
"Singleton",
|
|
16
|
+
"auto",
|
|
17
|
+
"frozen",
|
|
18
|
+
"io",
|
|
19
|
+
"log",
|
|
20
|
+
"signal_cm",
|
|
21
|
+
)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
from contextlib import contextmanager
|
|
2
|
+
from collections.abc import Callable
|
|
3
|
+
from logging import getLogger
|
|
4
|
+
import signal
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@contextmanager
|
|
8
|
+
def signal_cm(
|
|
9
|
+
signalnum: signal.Handlers | int,
|
|
10
|
+
handler: Callable,
|
|
11
|
+
*,
|
|
12
|
+
disable_logging: bool = False,
|
|
13
|
+
):
|
|
14
|
+
"""
|
|
15
|
+
Install handler while this context manager is active, return to the old handler upon exit
|
|
16
|
+
:param signalnum: The signal to install the handler for
|
|
17
|
+
:param handler: The signal handler to install
|
|
18
|
+
:param disable_logging: Do not log anything if true
|
|
19
|
+
"""
|
|
20
|
+
log = getLogger(__name__)
|
|
21
|
+
name: str = signal.Signals(signalnum).name
|
|
22
|
+
if not disable_logging:
|
|
23
|
+
log.debug("Installing signal handler for %s...", name)
|
|
24
|
+
old = signal.signal(signalnum, handler)
|
|
25
|
+
try:
|
|
26
|
+
yield
|
|
27
|
+
finally:
|
|
28
|
+
if not disable_logging:
|
|
29
|
+
log.debug("Restoring signal handler for %s...", name)
|
|
30
|
+
signal.signal(signalnum, old)
|
|
@@ -2,11 +2,11 @@ LICENSE
|
|
|
2
2
|
README.md
|
|
3
3
|
pyproject.toml
|
|
4
4
|
tests/__init__.py
|
|
5
|
-
tests/not_set.py
|
|
6
5
|
tests/test_ansi.py
|
|
7
6
|
tests/test_enum.py
|
|
8
7
|
tests/test_frozen.py
|
|
9
8
|
tests/test_io.py
|
|
9
|
+
tests/test_not_set.py
|
|
10
10
|
tests/test_singleton.py
|
|
11
11
|
tests/log/__init__.py
|
|
12
12
|
tests/log/base.py
|
|
@@ -19,6 +19,7 @@ zstdlib/frozen.py
|
|
|
19
19
|
zstdlib/io.py
|
|
20
20
|
zstdlib/not_set.py
|
|
21
21
|
zstdlib/py.typed
|
|
22
|
+
zstdlib/signal_cm.py
|
|
22
23
|
zstdlib/singleton.py
|
|
23
24
|
zstdlib.egg-info/PKG-INFO
|
|
24
25
|
zstdlib.egg-info/SOURCES.txt
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|