omlish 0.0.0.dev166__py3-none-any.whl → 0.0.0.dev167__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- omlish/__about__.py +2 -2
- omlish/lite/strings.py +9 -0
- omlish/os/atomics.py +3 -3
- omlish/os/paths.py +32 -0
- {omlish-0.0.0.dev166.dist-info → omlish-0.0.0.dev167.dist-info}/METADATA +1 -1
- {omlish-0.0.0.dev166.dist-info → omlish-0.0.0.dev167.dist-info}/RECORD +10 -9
- {omlish-0.0.0.dev166.dist-info → omlish-0.0.0.dev167.dist-info}/LICENSE +0 -0
- {omlish-0.0.0.dev166.dist-info → omlish-0.0.0.dev167.dist-info}/WHEEL +0 -0
- {omlish-0.0.0.dev166.dist-info → omlish-0.0.0.dev167.dist-info}/entry_points.txt +0 -0
- {omlish-0.0.0.dev166.dist-info → omlish-0.0.0.dev167.dist-info}/top_level.txt +0 -0
omlish/__about__.py
CHANGED
omlish/lite/strings.py
CHANGED
omlish/os/atomics.py
CHANGED
@@ -122,7 +122,7 @@ class AtomicPathSwapping(abc.ABC):
|
|
122
122
|
##
|
123
123
|
|
124
124
|
|
125
|
-
class
|
125
|
+
class OsReplaceAtomicPathSwap(AtomicPathSwap):
|
126
126
|
def __init__(
|
127
127
|
self,
|
128
128
|
kind: AtomicPathSwapKind,
|
@@ -150,7 +150,7 @@ class OsRenameAtomicPathSwap(AtomicPathSwap):
|
|
150
150
|
return self._tmp_path
|
151
151
|
|
152
152
|
def _commit(self) -> None:
|
153
|
-
os.
|
153
|
+
os.replace(self._tmp_path, self._dst_path)
|
154
154
|
|
155
155
|
def _abort(self) -> None:
|
156
156
|
shutil.rmtree(self._tmp_path, ignore_errors=True)
|
@@ -197,7 +197,7 @@ class TempDirAtomicPathSwapping(AtomicPathSwapping):
|
|
197
197
|
else:
|
198
198
|
raise TypeError(kind)
|
199
199
|
|
200
|
-
return
|
200
|
+
return OsReplaceAtomicPathSwap(
|
201
201
|
kind,
|
202
202
|
dst_path,
|
203
203
|
tmp_path,
|
omlish/os/paths.py
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
# ruff: noqa: UP006 UP007
|
2
|
+
# @omlish-lite
|
3
|
+
import os.path
|
4
|
+
import typing as ta
|
5
|
+
|
6
|
+
|
7
|
+
def abs_real_path(p: str) -> str:
|
8
|
+
return os.path.abspath(os.path.realpath(p))
|
9
|
+
|
10
|
+
|
11
|
+
def is_path_in_dir(base_dir: str, target_path: str) -> bool:
|
12
|
+
base_dir = abs_real_path(base_dir)
|
13
|
+
target_path = abs_real_path(target_path)
|
14
|
+
|
15
|
+
return target_path.startswith(base_dir + os.path.sep)
|
16
|
+
|
17
|
+
|
18
|
+
def relative_symlink(
|
19
|
+
src: str,
|
20
|
+
dst: str,
|
21
|
+
*,
|
22
|
+
target_is_directory: bool = False,
|
23
|
+
dir_fd: ta.Optional[int] = None,
|
24
|
+
**kwargs: ta.Any,
|
25
|
+
) -> None:
|
26
|
+
os.symlink(
|
27
|
+
os.path.relpath(src, os.path.dirname(dst)),
|
28
|
+
dst,
|
29
|
+
target_is_directory=target_is_directory,
|
30
|
+
dir_fd=dir_fd,
|
31
|
+
**kwargs,
|
32
|
+
)
|
@@ -1,5 +1,5 @@
|
|
1
1
|
omlish/.manifests.json,sha256=0BnQGD2dcXEma0Jop2ZesvDNzSj3CAJBNq8aTGuBz9A,7276
|
2
|
-
omlish/__about__.py,sha256=
|
2
|
+
omlish/__about__.py,sha256=6MZuOZq8DwHRIcwPmVPdl5xZJjs_D7eV9-nFWn00wgI,3409
|
3
3
|
omlish/__init__.py,sha256=SsyiITTuK0v74XpKV8dqNaCmjOlan1JZKrHQv5rWKPA,253
|
4
4
|
omlish/c3.py,sha256=ubu7lHwss5V4UznbejAI0qXhXahrU01MysuHOZI9C4U,8116
|
5
5
|
omlish/cached.py,sha256=UI-XTFBwA6YXWJJJeBn-WkwBkfzDjLBBaZf4nIJA9y0,510
|
@@ -381,7 +381,7 @@ omlish/lite/runtime.py,sha256=XQo408zxTdJdppUZqOWHyeUR50VlCpNIExNGHz4U6O4,459
|
|
381
381
|
omlish/lite/secrets.py,sha256=3Mz3V2jf__XU9qNHcH56sBSw95L3U2UPL24bjvobG0c,816
|
382
382
|
omlish/lite/socket.py,sha256=7OYgkXTcQv0wq7TQuLnl9y6dJA1ZT6Vbc1JH59QlxgY,1792
|
383
383
|
omlish/lite/socketserver.py,sha256=doTXIctu_6c8XneFtzPFVG_Wq6xVmA3p9ymut8IvBoU,1586
|
384
|
-
omlish/lite/strings.py,sha256=
|
384
|
+
omlish/lite/strings.py,sha256=SkCQPtw1grKGr1KFgJr3CL3ocvCEcPwH7XIzb-JxFAY,1610
|
385
385
|
omlish/lite/typing.py,sha256=U3-JaEnkDSYxK4tsu_MzUn3RP6qALBe5FXQXpD-licE,1090
|
386
386
|
omlish/logs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
387
387
|
omlish/logs/abc.py,sha256=ho4ABKYMKX-V7g4sp1BByuOLzslYzLlQ0MESmjEpT-o,8005
|
@@ -433,11 +433,12 @@ omlish/math/bits.py,sha256=yip1l8agOYzT7bFyMGc0RR3XlnGCfHMpjw_SECLLh1I,3477
|
|
433
433
|
omlish/math/floats.py,sha256=UimhOT7KRl8LXTzOI5cQWoX_9h6WNWe_3vcOuO7-h_8,327
|
434
434
|
omlish/math/stats.py,sha256=MegzKVsmv2kra4jDWLOUgV0X7Ee2Tbl5u6ql1v4-dEY,10053
|
435
435
|
omlish/os/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
436
|
-
omlish/os/atomics.py,sha256=
|
436
|
+
omlish/os/atomics.py,sha256=NQfwifLu48ZniOvaqAuDy8dBTB3tKZntL22T0-8NYwM,5074
|
437
437
|
omlish/os/deathsig.py,sha256=hk9Yq2kyDdI-cI7OQH7mOfpRbOKzY_TfPKEqgrjVYbA,641
|
438
438
|
omlish/os/files.py,sha256=1tNy1z5I_CgYKA5c6lOfsXc-hknP4tQDbSShdz8HArw,1308
|
439
439
|
omlish/os/journald.py,sha256=2nI8Res1poXkbLc31--MPUlzYMESnCcPUkIxDOCjZW0,3903
|
440
440
|
omlish/os/linux.py,sha256=whJ6scwMKSFBdXiVhJW0BCpJV4jOGMr-a_a3Bhwz6Ls,18938
|
441
|
+
omlish/os/paths.py,sha256=o1vTpQgbOQR0X6Wtb_7oqajxykMy58yJ0WCQIaY9gAA,735
|
441
442
|
omlish/os/pidfile.py,sha256=S4Nbe00oSxckY0qCC9AeTEZe7NSw4eJudnQX7wCXzks,1738
|
442
443
|
omlish/os/sizes.py,sha256=ohkALLvqSqBX4iR-7DMKJ4pfOCRdZXV8htH4QywUNM0,152
|
443
444
|
omlish/reflect/__init__.py,sha256=4-EuCSX1qpEWfScCFzAJv_XghHFu4cXxpxKeBKrosQ4,720
|
@@ -556,9 +557,9 @@ omlish/text/glyphsplit.py,sha256=Ug-dPRO7x-OrNNr8g1y6DotSZ2KH0S-VcOmUobwa4B0,329
|
|
556
557
|
omlish/text/indent.py,sha256=6Jj6TFY9unaPa4xPzrnZemJ-fHsV53IamP93XGjSUHs,1274
|
557
558
|
omlish/text/parts.py,sha256=7vPF1aTZdvLVYJ4EwBZVzRSy8XB3YqPd7JwEnNGGAOo,6495
|
558
559
|
omlish/text/random.py,sha256=jNWpqiaKjKyTdMXC-pWAsSC10AAP-cmRRPVhm59ZWLk,194
|
559
|
-
omlish-0.0.0.
|
560
|
-
omlish-0.0.0.
|
561
|
-
omlish-0.0.0.
|
562
|
-
omlish-0.0.0.
|
563
|
-
omlish-0.0.0.
|
564
|
-
omlish-0.0.0.
|
560
|
+
omlish-0.0.0.dev167.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
|
561
|
+
omlish-0.0.0.dev167.dist-info/METADATA,sha256=XQoZ5IEtdiX_6-I2wMBv-GB3-Nz6-WbQLpzCKbEjxkI,4264
|
562
|
+
omlish-0.0.0.dev167.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
563
|
+
omlish-0.0.0.dev167.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
|
564
|
+
omlish-0.0.0.dev167.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
|
565
|
+
omlish-0.0.0.dev167.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|