ominfra 0.0.0.dev218__py3-none-any.whl → 0.0.0.dev219__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.
@@ -5,9 +5,9 @@ import typing as ta
5
5
 
6
6
  from omdev.secrets import load_secrets
7
7
  from omlish import lang
8
- from omlish import secrets as sec
9
8
  from omlish.argparse import all as ap
10
9
  from omlish.formats import json
10
+ from omlish.secrets import all as sec
11
11
 
12
12
  from .cache import load_instance_types
13
13
 
@@ -71,6 +71,7 @@ import select
71
71
  import shlex
72
72
  import signal
73
73
  import socket
74
+ import socket as socket_
74
75
  import stat
75
76
  import string
76
77
  import sys
@@ -2820,15 +2821,15 @@ TODO:
2820
2821
  class SocketAddressInfoArgs:
2821
2822
  host: ta.Optional[str]
2822
2823
  port: ta.Union[str, int, None]
2823
- family: socket.AddressFamily = socket.AddressFamily.AF_UNSPEC
2824
+ family: socket_.AddressFamily = socket_.AddressFamily.AF_UNSPEC
2824
2825
  type: int = 0
2825
2826
  proto: int = 0
2826
- flags: socket.AddressInfo = socket.AddressInfo(0)
2827
+ flags: socket_.AddressInfo = socket_.AddressInfo(0)
2827
2828
 
2828
2829
 
2829
2830
  @dc.dataclass(frozen=True)
2830
2831
  class SocketAddressInfo:
2831
- family: socket.AddressFamily
2832
+ family: socket_.AddressFamily
2832
2833
  type: int
2833
2834
  proto: int
2834
2835
  canonname: ta.Optional[str]
@@ -2836,32 +2837,44 @@ class SocketAddressInfo:
2836
2837
 
2837
2838
 
2838
2839
  class SocketFamilyAndAddress(ta.NamedTuple):
2839
- family: socket.AddressFamily
2840
+ family: socket_.AddressFamily
2840
2841
  address: SocketAddress
2841
2842
 
2842
2843
 
2843
2844
  def get_best_socket_family(
2844
2845
  host: ta.Optional[str],
2845
2846
  port: ta.Union[str, int, None],
2846
- family: ta.Union[int, socket.AddressFamily] = socket.AddressFamily.AF_UNSPEC,
2847
+ family: ta.Union[int, socket_.AddressFamily] = socket_.AddressFamily.AF_UNSPEC,
2847
2848
  ) -> SocketFamilyAndAddress:
2848
2849
  """https://github.com/python/cpython/commit/f289084c83190cc72db4a70c58f007ec62e75247"""
2849
2850
 
2850
- infos = socket.getaddrinfo(
2851
+ infos = socket_.getaddrinfo(
2851
2852
  host,
2852
2853
  port,
2853
2854
  family,
2854
- type=socket.SOCK_STREAM,
2855
- flags=socket.AI_PASSIVE,
2855
+ type=socket_.SOCK_STREAM,
2856
+ flags=socket_.AI_PASSIVE,
2856
2857
  )
2857
2858
  ai = SocketAddressInfo(*next(iter(infos)))
2858
2859
  return SocketFamilyAndAddress(ai.family, ai.sockaddr)
2859
2860
 
2860
2861
 
2861
2862
  class SocketAndAddress(ta.NamedTuple):
2862
- socket: socket.socket
2863
+ socket: socket_.socket
2863
2864
  address: SocketAddress
2864
2865
 
2866
+ def wrap_socket(self, fn: ta.Callable[[socket_.socket], socket_.socket]):
2867
+ return self._replace(socket=fn(self.socket))
2868
+
2869
+ @classmethod
2870
+ def socket_wrapper(
2871
+ cls,
2872
+ fn: ta.Callable[[socket_.socket], socket_.socket],
2873
+ ) -> ta.Callable[['SocketAndAddress'], 'SocketAndAddress']:
2874
+ def inner(conn):
2875
+ return conn.wrap_socket(fn)
2876
+ return inner
2877
+
2865
2878
 
2866
2879
  ########################################
2867
2880
  # ../../../omlish/sockets/io.py
@@ -6391,6 +6404,12 @@ def journald_log_handler_factory(
6391
6404
  ##
6392
6405
 
6393
6406
 
6407
+ class SocketHandler_(abc.ABC): # noqa
6408
+ @abc.abstractmethod
6409
+ def __call__(self, addr: SocketAddress, f: SocketIoPair) -> None:
6410
+ raise NotImplementedError
6411
+
6412
+
6394
6413
  ########################################
6395
6414
  # ../configs.py
6396
6415
 
@@ -6846,6 +6865,12 @@ class UnsupportedMethodHttpHandlerError(Exception):
6846
6865
  pass
6847
6866
 
6848
6867
 
6868
+ class HttpHandler_(abc.ABC): # noqa
6869
+ @abc.abstractmethod
6870
+ def __call__(self, req: HttpHandlerRequest) -> HttpHandlerResponse:
6871
+ raise NotImplementedError
6872
+
6873
+
6849
6874
  ########################################
6850
6875
  # ../../../omlish/lite/configs.py
6851
6876
 
@@ -7710,7 +7735,7 @@ class CoroHttpServer:
7710
7735
  ##
7711
7736
 
7712
7737
 
7713
- class CoroHttpServerSocketHandler: # SocketHandler
7738
+ class CoroHttpServerSocketHandler(SocketHandler_):
7714
7739
  def __init__(
7715
7740
  self,
7716
7741
  server_factory: CoroHttpServerFactory,
@@ -19,7 +19,7 @@ from omdev.secrets import load_secrets
19
19
  from omlish import check
20
20
  from omlish import dataclasses as dc
21
21
  from omlish import lang
22
- from omlish import secrets as sec
22
+ from omlish.secrets import all as sec
23
23
 
24
24
 
25
25
  ##
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ominfra
3
- Version: 0.0.0.dev218
3
+ Version: 0.0.0.dev219
4
4
  Summary: ominfra
5
5
  Author: wrmsr
6
6
  License: BSD-3-Clause
@@ -12,8 +12,8 @@ Classifier: Operating System :: OS Independent
12
12
  Classifier: Operating System :: POSIX
13
13
  Requires-Python: >=3.12
14
14
  License-File: LICENSE
15
- Requires-Dist: omdev==0.0.0.dev218
16
- Requires-Dist: omlish==0.0.0.dev218
15
+ Requires-Dist: omdev==0.0.0.dev219
16
+ Requires-Dist: omlish==0.0.0.dev219
17
17
  Provides-Extra: all
18
18
  Requires-Dist: paramiko~=3.5; extra == "all"
19
19
  Requires-Dist: asyncssh~=2.18; extra == "all"
@@ -16,7 +16,7 @@ ominfra/clouds/aws/instancetypes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRk
16
16
  ominfra/clouds/aws/instancetypes/__main__.py,sha256=Jsrv3P7LX2Cg08W7ByZfZ1JQT4lgLDPW1qNAmShFuMk,75
17
17
  ominfra/clouds/aws/instancetypes/cache.json.gz,sha256=JGgZlMGh2nLPsFmn3PwtV5gO5UMWrjFSFnhniGZKbJc,26375
18
18
  ominfra/clouds/aws/instancetypes/cache.py,sha256=CrfBzOb0DqQhf3ahQS6qQHHH1kVgZyniYOl22RTvjwo,333
19
- ominfra/clouds/aws/instancetypes/cli.py,sha256=24DA2Qio27NlyqqOrw-F7rm2NfN3e_Kn2wIYxCeXbMY,2191
19
+ ominfra/clouds/aws/instancetypes/cli.py,sha256=HcfOchROLGFsxmEIuXtXVywFJWjHOk4yvCKrbZFWVGQ,2195
20
20
  ominfra/clouds/aws/journald2aws/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
21
21
  ominfra/clouds/aws/journald2aws/__main__.py,sha256=d23loR_cKfTYZwYiqpt_CmKI7dd5WcYFgIYzqMep75E,68
22
22
  ominfra/clouds/aws/journald2aws/cursor.py,sha256=tQ7O6BHlEdaalbiI_Rqagj0aHfdtTQ_ZJwdOSRUjNvQ,1173
@@ -114,7 +114,7 @@ ominfra/manage/targets/targets.py,sha256=7GP6UAZyJFEhpkJN6UQdpr_WN3p7C76v-s445y-
114
114
  ominfra/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
115
115
  ominfra/scripts/journald2aws.py,sha256=CM1nZMpecXJpcg7icJUCJ-_DX-7CduQurxZQ7EmhQmA,171450
116
116
  ominfra/scripts/manage.py,sha256=MaUur1_dDdMHt5YnE6Waxa_v70kydHzKCBHXAuTmKd0,362827
117
- ominfra/scripts/supervisor.py,sha256=ejPO7r3Ta0RQbP28MyL8MJNS1jop6g8d9qdv-vJ0OYA,294602
117
+ ominfra/scripts/supervisor.py,sha256=W_8YHq0Cf5AF88_MBwnZVodxXdQ5AE0zAeafvYMRYFg,295380
118
118
  ominfra/supervisor/LICENSE.txt,sha256=ZrHY15PVR98y26Yg6iQfa-SXnUaYTDhrUsPVcEO5OKM,1874
119
119
  ominfra/supervisor/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
120
120
  ominfra/supervisor/__main__.py,sha256=I0yFw-C08OOiZ3BF6lF1Oiv789EQXu-_j6whDhQUTEA,66
@@ -155,10 +155,10 @@ ominfra/tailscale/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
155
155
  ominfra/tailscale/api.py,sha256=C5-t_b6jZXUWcy5k8bXm7CFnk73pSdrlMOgGDeGVrpw,1370
156
156
  ominfra/tailscale/cli.py,sha256=3FnJbgpLw6gInTfhERd1mDy9ijjMUGxkdYVo43Tnxx4,3555
157
157
  ominfra/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
158
- ominfra/tools/listresources.py,sha256=4qVg5txsb10EHhvqXXeM6gJ2jx9LbroEnPydDv1uXs0,6176
159
- ominfra-0.0.0.dev218.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
160
- ominfra-0.0.0.dev218.dist-info/METADATA,sha256=CIoVjeFWhR47YXXqQ65hW7lHeJK6XpLd0jTGOcP6RA4,731
161
- ominfra-0.0.0.dev218.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
162
- ominfra-0.0.0.dev218.dist-info/entry_points.txt,sha256=kgecQ2MgGrM9qK744BoKS3tMesaC3yjLnl9pa5CRczg,37
163
- ominfra-0.0.0.dev218.dist-info/top_level.txt,sha256=E-b2OHkk_AOBLXHYZQ2EOFKl-_6uOGd8EjeG-Zy6h_w,8
164
- ominfra-0.0.0.dev218.dist-info/RECORD,,
158
+ ominfra/tools/listresources.py,sha256=BxFoxtyF2aVEcW67ZD9QujoBkJBtvIxGmKqXvLwnEHo,6180
159
+ ominfra-0.0.0.dev219.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
160
+ ominfra-0.0.0.dev219.dist-info/METADATA,sha256=E0e_wKkjHZleJ28wnBhOjkR8ooXakDMT7XoBxkebkto,731
161
+ ominfra-0.0.0.dev219.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
162
+ ominfra-0.0.0.dev219.dist-info/entry_points.txt,sha256=kgecQ2MgGrM9qK744BoKS3tMesaC3yjLnl9pa5CRczg,37
163
+ ominfra-0.0.0.dev219.dist-info/top_level.txt,sha256=E-b2OHkk_AOBLXHYZQ2EOFKl-_6uOGd8EjeG-Zy6h_w,8
164
+ ominfra-0.0.0.dev219.dist-info/RECORD,,