omlish 0.0.0.dev388__py3-none-any.whl → 0.0.0.dev389__py3-none-any.whl

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.
omlish/__about__.py CHANGED
@@ -1,5 +1,5 @@
1
- __version__ = '0.0.0.dev388'
2
- __revision__ = 'fcc404b8a37769b71f1c1118911ccffe78dbcb4b'
1
+ __version__ = '0.0.0.dev389'
2
+ __revision__ = '5ed30f9d1e6912ba1c80e1c14f4e8d7a5998cba1'
3
3
 
4
4
 
5
5
  #
@@ -1,13 +1,12 @@
1
1
  import io
2
2
  import subprocess
3
- import sys
4
3
  import typing as ta
5
4
 
6
5
  import anyio.abc
7
6
 
8
7
  from ... import check
9
8
  from ...lite.timeouts import Timeout
10
- from ...subprocesses.async_ import AbstractAsyncSubprocesses
9
+ from ...subprocesses.asyncs import AbstractAsyncSubprocesses
11
10
  from ...subprocesses.run import SubprocessRun
12
11
  from ...subprocesses.run import SubprocessRunOutput
13
12
 
@@ -73,13 +72,5 @@ class AnyioSubprocesses(AbstractAsyncSubprocesses):
73
72
  stderr=stderr.getvalue() if stderr is not None else None,
74
73
  )
75
74
 
76
- async def check_call(self, *cmd: str, stdout: ta.Any = sys.stderr, **kwargs: ta.Any) -> None:
77
- with self.prepare_and_wrap(*cmd, stdout=stdout, check=True, **kwargs) as (cmd, kwargs): # noqa
78
- await self.run(*cmd, **kwargs)
79
-
80
- async def check_output(self, *cmd: str, **kwargs: ta.Any) -> bytes:
81
- with self.prepare_and_wrap(*cmd, stdout=subprocess.PIPE, check=True, **kwargs) as (cmd, kwargs): # noqa
82
- return check.not_none((await self.run(*cmd, **kwargs)).stdout)
83
-
84
75
 
85
76
  anyio_subprocesses = AnyioSubprocesses()
@@ -6,12 +6,11 @@ import contextlib
6
6
  import functools
7
7
  import logging
8
8
  import subprocess
9
- import sys
10
9
  import typing as ta
11
10
 
12
11
  from ...lite.check import check
13
12
  from ...lite.timeouts import TimeoutLike
14
- from ...subprocesses.async_ import AbstractAsyncSubprocesses
13
+ from ...subprocesses.asyncs import AbstractAsyncSubprocesses
15
14
  from ...subprocesses.run import SubprocessRun
16
15
  from ...subprocesses.run import SubprocessRunOutput
17
16
  from .timeouts import asyncio_maybe_timeout
@@ -208,24 +207,5 @@ class AsyncioSubprocesses(AbstractAsyncSubprocesses):
208
207
  stderr=stderr,
209
208
  )
210
209
 
211
- #
212
-
213
- async def check_call(
214
- self,
215
- *cmd: str,
216
- stdout: ta.Any = sys.stderr,
217
- **kwargs: ta.Any,
218
- ) -> None:
219
- with self.prepare_and_wrap(*cmd, stdout=stdout, check=True, **kwargs) as (cmd, kwargs): # noqa
220
- await self.run(*cmd, **kwargs)
221
-
222
- async def check_output(
223
- self,
224
- *cmd: str,
225
- **kwargs: ta.Any,
226
- ) -> bytes:
227
- with self.prepare_and_wrap(*cmd, stdout=subprocess.PIPE, check=True, **kwargs) as (cmd, kwargs): # noqa
228
- return check.not_none((await self.run(*cmd, **kwargs)).stdout)
229
-
230
210
 
231
211
  asyncio_subprocesses = AsyncioSubprocesses()
omlish/lite/maysyncs.py CHANGED
@@ -146,6 +146,7 @@ class _MgMaywaitable(_Maywaitable[_MgMaysync[T], T]):
146
146
 
147
147
  if not isinstance(o, _MaysyncOp):
148
148
  raise TypeError(o)
149
+
149
150
  try:
150
151
  i = o.x(*o.args, **o.kwargs).s()
151
152
  except BaseException as ex: # noqa
@@ -173,6 +174,7 @@ class _MgMaywaitable(_Maywaitable[_MgMaysync[T], T]):
173
174
 
174
175
  if not isinstance(o, _MaysyncOp):
175
176
  raise TypeError(o)
177
+
176
178
  try:
177
179
  i = await o.x(*o.args, **o.kwargs).a()
178
180
  except BaseException as ex: # noqa
@@ -206,6 +208,7 @@ class _MgMaysyncFn:
206
208
 
207
209
  if not isinstance(o, _MaysyncFuture):
208
210
  raise TypeError(o)
211
+
209
212
  if not o.done:
210
213
  try:
211
214
  o.result = yield o.op
@@ -213,6 +216,8 @@ class _MgMaysyncFn:
213
216
  o.error = e
214
217
  o.done = True
215
218
 
219
+ del o
220
+
216
221
  finally:
217
222
  g.close()
218
223
 
@@ -240,6 +245,10 @@ class _MaysyncOp:
240
245
  self.kwargs = kwargs
241
246
 
242
247
 
248
+ class _MaysyncFutureNotAwaitedError(RuntimeError):
249
+ pass
250
+
251
+
243
252
  @ta.final
244
253
  class _MaysyncFuture(ta.Generic[T]):
245
254
  def __init__(
@@ -249,14 +258,15 @@ class _MaysyncFuture(ta.Generic[T]):
249
258
  self.op = op
250
259
 
251
260
  done: bool = False
252
- result: ta.Optional[T] = None
261
+ result: T
253
262
  error: ta.Optional[BaseException] = None
254
263
 
255
264
  def __await__(self):
256
265
  if not self.done:
257
266
  yield self
258
267
  if not self.done:
259
- raise RuntimeError("await wasn't used with event future")
268
+ raise _MaysyncFutureNotAwaitedError
260
269
  if self.error is not None:
261
270
  raise self.error
262
- return self.result
271
+ else:
272
+ return self.result
@@ -1,9 +1,11 @@
1
1
  # ruff: noqa: UP006 UP007 UP045
2
2
  # @omlish-lite
3
3
  import abc
4
+ import subprocess
4
5
  import sys
5
6
  import typing as ta
6
7
 
8
+ from ..lite.check import check
7
9
  from ..lite.timeouts import TimeoutLike
8
10
  from .base import BaseSubprocesses
9
11
  from .run import SubprocessRun
@@ -13,9 +15,9 @@ from .run import SubprocessRunOutput
13
15
  ##
14
16
 
15
17
 
16
- class _AbstractAsyncSubprocesses(BaseSubprocesses):
18
+ class AbstractAsyncSubprocesses(BaseSubprocesses):
17
19
  @abc.abstractmethod
18
- async def run_(self, run: SubprocessRun) -> SubprocessRunOutput:
20
+ def run_(self, run: SubprocessRun) -> ta.Awaitable[SubprocessRunOutput]:
19
21
  raise NotImplementedError
20
22
 
21
23
  def run(
@@ -38,31 +40,41 @@ class _AbstractAsyncSubprocesses(BaseSubprocesses):
38
40
 
39
41
  #
40
42
 
41
- @abc.abstractmethod
42
43
  async def check_call(
43
44
  self,
44
45
  *cmd: str,
45
46
  stdout: ta.Any = sys.stderr,
46
47
  **kwargs: ta.Any,
47
48
  ) -> None:
48
- raise NotImplementedError
49
+ await self.run(
50
+ *cmd,
51
+ stdout=stdout,
52
+ check=True,
53
+ **kwargs,
54
+ )
49
55
 
50
- @abc.abstractmethod
51
56
  async def check_output(
52
57
  self,
53
58
  *cmd: str,
59
+ stdout: ta.Any = subprocess.PIPE,
54
60
  **kwargs: ta.Any,
55
61
  ) -> bytes:
56
- raise NotImplementedError
57
-
58
- #
62
+ return check.not_none((await self.run(
63
+ *cmd,
64
+ stdout=stdout,
65
+ check=True,
66
+ **kwargs,
67
+ )).stdout)
59
68
 
60
69
  async def check_output_str(
61
70
  self,
62
71
  *cmd: str,
63
72
  **kwargs: ta.Any,
64
73
  ) -> str:
65
- return (await self.check_output(*cmd, **kwargs)).decode().strip()
74
+ return (await self.check_output(
75
+ *cmd,
76
+ **kwargs,
77
+ )).decode().strip()
66
78
 
67
79
  #
68
80
 
@@ -95,7 +107,3 @@ class _AbstractAsyncSubprocesses(BaseSubprocesses):
95
107
  return None
96
108
  else:
97
109
  return ret.decode().strip()
98
-
99
-
100
- class AbstractAsyncSubprocesses(_AbstractAsyncSubprocesses, abc.ABC):
101
- pass
@@ -0,0 +1,152 @@
1
+ # ruff: noqa: UP006 UP007 UP045
2
+ # @omlish-lite
3
+ import abc
4
+ import sys
5
+ import typing as ta
6
+
7
+ from ..lite.maysyncs import Maywaitable
8
+ from ..lite.maysyncs import make_maysync
9
+ from ..lite.maysyncs import maysync
10
+ from ..lite.timeouts import TimeoutLike
11
+ from .asyncs import AbstractAsyncSubprocesses
12
+ from .base import BaseSubprocesses
13
+ from .run import SubprocessRun
14
+ from .run import SubprocessRunOutput
15
+ from .sync import AbstractSubprocesses
16
+
17
+
18
+ ##
19
+
20
+
21
+ class AbstractMaysyncSubprocesses(BaseSubprocesses, abc.ABC):
22
+ @abc.abstractmethod
23
+ def run_(self, run: SubprocessRun) -> Maywaitable[SubprocessRunOutput]:
24
+ raise NotImplementedError
25
+
26
+ def run(
27
+ self,
28
+ *cmd: str,
29
+ input: ta.Any = None, # noqa
30
+ timeout: TimeoutLike = None,
31
+ check: bool = False,
32
+ capture_output: ta.Optional[bool] = None,
33
+ **kwargs: ta.Any,
34
+ ) -> Maywaitable[SubprocessRunOutput]:
35
+ return self.run_(SubprocessRun(
36
+ cmd=cmd,
37
+ input=input,
38
+ timeout=timeout,
39
+ check=check,
40
+ capture_output=capture_output,
41
+ kwargs=kwargs,
42
+ ))
43
+
44
+ #
45
+
46
+ @abc.abstractmethod
47
+ def check_call(
48
+ self,
49
+ *cmd: str,
50
+ stdout: ta.Any = sys.stderr,
51
+ **kwargs: ta.Any,
52
+ ) -> Maywaitable[None]:
53
+ raise NotImplementedError
54
+
55
+ @abc.abstractmethod
56
+ def check_output(
57
+ self,
58
+ *cmd: str,
59
+ **kwargs: ta.Any,
60
+ ) -> Maywaitable[bytes]:
61
+ raise NotImplementedError
62
+
63
+ #
64
+
65
+ @maysync
66
+ async def check_output_str(
67
+ self,
68
+ *cmd: str,
69
+ **kwargs: ta.Any,
70
+ ) -> str:
71
+ return (await self.check_output(*cmd, **kwargs).m()).decode().strip()
72
+
73
+ #
74
+
75
+ @maysync
76
+ async def try_call(
77
+ self,
78
+ *cmd: str,
79
+ **kwargs: ta.Any,
80
+ ) -> bool:
81
+ if isinstance(await self.async_try_fn(self.check_call(*cmd, **kwargs).m), Exception):
82
+ return False
83
+ else:
84
+ return True
85
+
86
+ @maysync
87
+ async def try_output(
88
+ self,
89
+ *cmd: str,
90
+ **kwargs: ta.Any,
91
+ ) -> ta.Optional[bytes]:
92
+ if isinstance(ret := await self.async_try_fn(self.check_output(*cmd, **kwargs).m), Exception):
93
+ return None
94
+ else:
95
+ return ret
96
+
97
+ @maysync
98
+ async def try_output_str(
99
+ self,
100
+ *cmd: str,
101
+ **kwargs: ta.Any,
102
+ ) -> ta.Optional[str]:
103
+ if (ret := await self.try_output(*cmd, **kwargs).m()) is None:
104
+ return None
105
+ else:
106
+ return ret.decode().strip()
107
+
108
+
109
+ ##
110
+
111
+
112
+ class MaysyncSubprocesses(AbstractMaysyncSubprocesses):
113
+ def __init__(
114
+ self,
115
+ subprocesses: AbstractSubprocesses,
116
+ async_subprocesses: AbstractAsyncSubprocesses,
117
+ ) -> None:
118
+ super().__init__()
119
+
120
+ self._subprocesses = subprocesses
121
+ self._async_subprocesses = async_subprocesses
122
+
123
+ #
124
+
125
+ def run_(self, run: SubprocessRun) -> Maywaitable[SubprocessRunOutput]:
126
+ return make_maysync(
127
+ self._subprocesses.run,
128
+ self._async_subprocesses.run,
129
+ )(run)
130
+
131
+ #
132
+
133
+ def check_call(
134
+ self,
135
+ *cmd: str,
136
+ stdout: ta.Any = sys.stderr,
137
+ **kwargs: ta.Any,
138
+ ) -> Maywaitable[None]:
139
+ return make_maysync(
140
+ self._subprocesses.check_call,
141
+ self._async_subprocesses.check_call,
142
+ )(*cmd, stdout=stdout, **kwargs)
143
+
144
+ def check_output(
145
+ self,
146
+ *cmd: str,
147
+ **kwargs: ta.Any,
148
+ ) -> Maywaitable[bytes]:
149
+ return make_maysync(
150
+ self._subprocesses.check_output,
151
+ self._async_subprocesses.check_output,
152
+ )(*cmd, **kwargs)
@@ -127,6 +127,8 @@ class Subprocesses(AbstractSubprocesses):
127
127
  stderr=proc.stderr, # noqa
128
128
  )
129
129
 
130
+ #
131
+
130
132
  def check_call(
131
133
  self,
132
134
  *cmd: str,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: omlish
3
- Version: 0.0.0.dev388
3
+ Version: 0.0.0.dev389
4
4
  Summary: omlish
5
5
  Author: wrmsr
6
6
  License-Expression: BSD-3-Clause
@@ -1,5 +1,5 @@
1
1
  omlish/.manifests.json,sha256=aT8yZ-Zh-9wfHl5Ym5ouiWC1i0cy7Q7RlhzavB6VLPI,8587
2
- omlish/__about__.py,sha256=Yte_7PVV4dR_gMOEh3rykgNGh8hm1tSqvBzJHfYNgcE,3543
2
+ omlish/__about__.py,sha256=nywiLIvIX-iNrqLzoBB2G9Oux2R2MJWTjuu4s5X9qzM,3543
3
3
  omlish/__init__.py,sha256=SsyiITTuK0v74XpKV8dqNaCmjOlan1JZKrHQv5rWKPA,253
4
4
  omlish/c3.py,sha256=rer-TPOFDU6fYq_AWio_AmA-ckZ8JDY5shIzQ_yXfzA,8414
5
5
  omlish/cached.py,sha256=MLap_p0rdGoDIMVhXVHm1tsbcWobJF0OanoodV03Ju8,542
@@ -34,7 +34,7 @@ omlish/asyncs/anyio/backends.py,sha256=jJIymWoiedaEJJm82gvKiJ41EWLQZ-bcyNHpbDpKK
34
34
  omlish/asyncs/anyio/futures.py,sha256=Nm1gLerZEnHk-rlsmr0UfK168IWIK6zA8EebZFtoY_E,2052
35
35
  omlish/asyncs/anyio/signals.py,sha256=ySSut5prdnoy0-5Ws5V1M4cC2ON_vY550vU10d2NHk8,893
36
36
  omlish/asyncs/anyio/streams.py,sha256=Zum2qd1t3EiH6yzGWFwxFw79m-IH2VY5sTUTiluFfIY,2164
37
- omlish/asyncs/anyio/subprocesses.py,sha256=nyl1A9z3rymxQMvIekWHU3IAiKBu1CcEqm-Ag1cGRPY,3018
37
+ omlish/asyncs/anyio/subprocesses.py,sha256=5nWYw9sPaelK2AJ17NHTHQ34Qa3DXCFkcTpvddzjboA,2500
38
38
  omlish/asyncs/anyio/sync.py,sha256=ZmSNhSsEkPwlXThrpefhtVTxw4GJ9F0P-yKyo5vbbSk,1574
39
39
  omlish/asyncs/anyio/utils.py,sha256=-mveSB20De6znphfMlIuEd_rwITkcSjFNO07isshDjk,1704
40
40
  omlish/asyncs/asyncio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -42,7 +42,7 @@ omlish/asyncs/asyncio/all.py,sha256=u2JpMEs-0AJ0Vd8yU10HvWD8rfKxdFfMiwBu2oDeuuQ,
42
42
  omlish/asyncs/asyncio/channels.py,sha256=oniTpmw_eeKK70APyEZLhRUChwLwebE4N0_uZiwSKgQ,1085
43
43
  omlish/asyncs/asyncio/sockets.py,sha256=i1a2DZ52IuvRQQQW8FJxEUFboqpKn_K08a_MsMaecqU,1264
44
44
  omlish/asyncs/asyncio/streams.py,sha256=Laa9BNwajZ7Wt_rJoYMbQtfSX4Q4i-dVHhtYSekCHXM,1015
45
- omlish/asyncs/asyncio/subprocesses.py,sha256=jVtvitvWgCLzAhgSLabHTzIOcPmNQqnsJpDr6hy6zgU,6908
45
+ omlish/asyncs/asyncio/subprocesses.py,sha256=8o-uWNsJhSoM7Egbofc23CeJFRmb4isb9zVVh1Fxjfk,6285
46
46
  omlish/asyncs/asyncio/timeouts.py,sha256=lJ4qmDqyxUeAQCXJGiLL8pxYwoR1F1lntZ18HVf40Wo,452
47
47
  omlish/asyncs/asyncio/utils.py,sha256=dCC4hXqCTKBpU5urAXsKUIIua2M9JXAtumwh7IUEu7E,2443
48
48
  omlish/asyncs/bluelet/LICENSE,sha256=q5Kpj4s30qpi8H66tXFlh5v8_fkaKMFIzqdGfnN0Hz0,555
@@ -478,7 +478,7 @@ omlish/lite/json.py,sha256=m0Ce9eqUZG23-H7-oOp8n1sf4fzno5vtK4AK_4Vc-Mg,706
478
478
  omlish/lite/logs.py,sha256=CWFG0NKGhqNeEgryF5atN2gkPYbUdTINEw_s1phbINM,51
479
479
  omlish/lite/marshal.py,sha256=JD_8ox5-yeIo7MZ6iipCdiVxx33So52M02AtvFlRGC8,20392
480
480
  omlish/lite/maybes.py,sha256=0p_fzb6yiOjEpvMKaQ53Q6CH1VPW1or7v7Lt1JIKcgM,4359
481
- omlish/lite/maysyncs.py,sha256=Za0kvANYaK9q-IUs_rSjo1ZQIOTZzkVB7IIEGw5eOsQ,5687
481
+ omlish/lite/maysyncs.py,sha256=qPYJw9adceaoW50PqyLRomlrhxjnzLBxswjyMaUk04M,5755
482
482
  omlish/lite/pycharm.py,sha256=FRHGcCDo42UzZXqNwW_DkhI-6kb_CmJKPiQ8F6mYkLA,1174
483
483
  omlish/lite/reflect.py,sha256=pzOY2PPuHH0omdtglkN6DheXDrGopdL3PtTJnejyLFU,2189
484
484
  omlish/lite/reprs.py,sha256=Tiqf_ciD8FfS0ury7FcJ5G21yY342fW0vPacYlb8EO4,2014
@@ -748,12 +748,12 @@ omlish/sql/tabledefs/lower.py,sha256=i4_QkVlVH5U99O6pqokrB661AudNVJ9Q-OwtkKOBleU
748
748
  omlish/sql/tabledefs/marshal.py,sha256=5Z7K433SzfN7-z8Yd7FJRzOV9tJv-ErRMA6inZ2iBCE,475
749
749
  omlish/sql/tabledefs/tabledefs.py,sha256=lIhvlt0pk6G7RZAtDFsFXm5j0l9BvRfnP7vNGeydHtE,816
750
750
  omlish/subprocesses/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
751
- omlish/subprocesses/async_.py,sha256=Zs9TxCyROVTOhbZmZMHi_-zwydptVi7MN4esUiK4-YI,2448
751
+ omlish/subprocesses/asyncs.py,sha256=G9wj275s3r0ueftHFl73Lt4kMRBc2hJOKcoJQCDlBms,2663
752
752
  omlish/subprocesses/base.py,sha256=r60N3ad4ooSvdgFmT94L_xZEy7FMbMX6JcG2VgpHo6w,6139
753
753
  omlish/subprocesses/editor.py,sha256=xBrd7gY0akhRfDIBK5YIBrYMHECtl_8r499iKViyfpQ,2634
754
- omlish/subprocesses/maysync.py,sha256=dK2wDv2so4wa0rOWBkafUqBy1QEJmLg_9CxMsr_kR4I,1456
754
+ omlish/subprocesses/maysyncs.py,sha256=XWWVC-jyjVJLcT-nWMZFf4jUQesRuBWWVhmwcG_fUWE,3818
755
755
  omlish/subprocesses/run.py,sha256=8EeMm2FdNEFmEmbhhzJyHXASUhCCMMRN_-8ybqFhgLI,4378
756
- omlish/subprocesses/sync.py,sha256=YdGxa9_GhqqsvTucmnmUXWYcKKys0S5PQk271K1Jg68,3664
756
+ omlish/subprocesses/sync.py,sha256=L-ZNj9RrZd69XjlKrXjt-EJ-XUpQF8E35Mh3b3SI3vc,3671
757
757
  omlish/subprocesses/utils.py,sha256=v5uEzxmbmRvXwOl_0DtBa5Il6yITKYRgmVSGHcLsT4o,402
758
758
  omlish/subprocesses/wrap.py,sha256=AhGV8rsnaVUMQCFYKkrjj35fs3O-VJLZC1hZ14dz3C8,769
759
759
  omlish/term/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -895,9 +895,9 @@ omlish/typedvalues/marshal.py,sha256=AtBz7Jq-BfW8vwM7HSxSpR85JAXmxK2T0xDblmm1HI0
895
895
  omlish/typedvalues/of_.py,sha256=UXkxSj504WI2UrFlqdZJbu2hyDwBhL7XVrc2qdR02GQ,1309
896
896
  omlish/typedvalues/reflect.py,sha256=PAvKW6T4cW7u--iX80w3HWwZUS3SmIZ2_lQjT65uAyk,1026
897
897
  omlish/typedvalues/values.py,sha256=ym46I-q2QJ_6l4UlERqv3yj87R-kp8nCKMRph0xQ3UA,1307
898
- omlish-0.0.0.dev388.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
899
- omlish-0.0.0.dev388.dist-info/METADATA,sha256=YvbEgGvf4ZNKIIJWrToJVEysF8nsyVuzRgd1VeAcc8k,18825
900
- omlish-0.0.0.dev388.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
901
- omlish-0.0.0.dev388.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
902
- omlish-0.0.0.dev388.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
903
- omlish-0.0.0.dev388.dist-info/RECORD,,
898
+ omlish-0.0.0.dev389.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
899
+ omlish-0.0.0.dev389.dist-info/METADATA,sha256=YuiaRpmbQmDNnnQ-xxr5mY0iJC-fWVgVqlOANsG00BE,18825
900
+ omlish-0.0.0.dev389.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
901
+ omlish-0.0.0.dev389.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
902
+ omlish-0.0.0.dev389.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
903
+ omlish-0.0.0.dev389.dist-info/RECORD,,
@@ -1,52 +0,0 @@
1
- # ruff: noqa: UP006 UP007 UP045
2
- # @omlish-lite
3
- import abc
4
- import sys
5
- import typing as ta
6
-
7
- from ..lite.maysyncs import make_maysync
8
- from .async_ import AbstractAsyncSubprocesses
9
- from .async_ import _AbstractAsyncSubprocesses
10
- from .run import SubprocessRun
11
- from .run import SubprocessRunOutput
12
- from .sync import AbstractSubprocesses
13
-
14
-
15
- ##
16
-
17
-
18
- class AbstractMaysyncSubprocesses(_AbstractAsyncSubprocesses, abc.ABC):
19
- pass
20
-
21
-
22
- ##
23
-
24
-
25
- class MaysyncSubprocesses(AbstractMaysyncSubprocesses):
26
- def __init__(
27
- self,
28
- subprocesses: AbstractSubprocesses,
29
- async_subprocesses: AbstractAsyncSubprocesses,
30
- ) -> None:
31
- super().__init__()
32
-
33
- self._subprocesses = subprocesses
34
- self._async_subprocesses = async_subprocesses
35
-
36
- async def run_(self, run: SubprocessRun) -> SubprocessRunOutput:
37
- return await make_maysync(
38
- self._subprocesses.run,
39
- self._async_subprocesses.run,
40
- )(run).m()
41
-
42
- async def check_call(self, *cmd: str, stdout: ta.Any = sys.stderr, **kwargs: ta.Any) -> None:
43
- return await make_maysync(
44
- self._subprocesses.check_call,
45
- self._async_subprocesses.check_call,
46
- )(*cmd, **kwargs).m()
47
-
48
- async def check_output(self, *cmd: str, **kwargs: ta.Any) -> bytes:
49
- return await make_maysync(
50
- self._subprocesses.check_output,
51
- self._async_subprocesses.check_output,
52
- )(*cmd, **kwargs).m()