ominfra 0.0.0.dev261__py3-none-any.whl → 0.0.0.dev263__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.
ominfra/pyremote.py CHANGED
@@ -93,7 +93,11 @@ class PyremoteEnvInfo:
93
93
 
94
94
  pw: Pw
95
95
 
96
- env_path: ta.Optional[str]
96
+ @dc.dataclass(frozen=True)
97
+ class Env:
98
+ path: ta.Optional[str]
99
+
100
+ env: Env
97
101
 
98
102
  #
99
103
 
@@ -172,7 +176,9 @@ def _get_pyremote_env_info() -> PyremoteEnvInfo:
172
176
  shell=pw.pw_shell,
173
177
  ),
174
178
 
175
- env_path=os.environ.get('PATH'),
179
+ env=PyremoteEnvInfo.Env(
180
+ path=os.environ.get('PATH'),
181
+ ),
176
182
  )
177
183
 
178
184
 
@@ -16,6 +16,7 @@ import dataclasses as dc
16
16
  import datetime
17
17
  import decimal
18
18
  import enum
19
+ import errno
19
20
  import fcntl
20
21
  import fractions
21
22
  import functools
@@ -2008,6 +2009,7 @@ class Pidfile:
2008
2009
  if hasattr(self, '_fd_to_dup'):
2009
2010
  fd = os.dup(self._fd_to_dup)
2010
2011
  del self._fd_to_dup
2012
+
2011
2013
  else:
2012
2014
  ofl = os.O_RDWR
2013
2015
  if not self._no_create:
@@ -2020,11 +2022,8 @@ class Pidfile:
2020
2022
 
2021
2023
  f = os.fdopen(fd, 'r+')
2022
2024
 
2023
- except Exception:
2024
- try:
2025
- os.close(fd)
2026
- except Exception: # noqa
2027
- pass
2025
+ except BaseException:
2026
+ os.close(fd)
2028
2027
  raise
2029
2028
 
2030
2029
  self._f = f
@@ -2069,8 +2068,11 @@ class Pidfile:
2069
2068
  fcntl.flock(self._f, fcntl.LOCK_EX | fcntl.LOCK_NB)
2070
2069
  return True
2071
2070
 
2072
- except OSError:
2073
- return False
2071
+ except BlockingIOError as e:
2072
+ if e.errno == errno.EAGAIN:
2073
+ return False
2074
+ else:
2075
+ raise
2074
2076
 
2075
2077
  #
2076
2078
 
ominfra/scripts/manage.py CHANGED
@@ -755,7 +755,11 @@ class PyremoteEnvInfo:
755
755
 
756
756
  pw: Pw
757
757
 
758
- env_path: ta.Optional[str]
758
+ @dc.dataclass(frozen=True)
759
+ class Env:
760
+ path: ta.Optional[str]
761
+
762
+ env: Env
759
763
 
760
764
  #
761
765
 
@@ -834,7 +838,9 @@ def _get_pyremote_env_info() -> PyremoteEnvInfo:
834
838
  shell=pw.pw_shell,
835
839
  ),
836
840
 
837
- env_path=os.environ.get('PATH'),
841
+ env=PyremoteEnvInfo.Env(
842
+ path=os.environ.get('PATH'),
843
+ ),
838
844
  )
839
845
 
840
846
 
@@ -4084,6 +4090,9 @@ def relative_symlink(
4084
4090
  # ../../../omlish/shlex.py
4085
4091
 
4086
4092
 
4093
+ ##
4094
+
4095
+
4087
4096
  def shlex_needs_quote(s: str) -> bool:
4088
4097
  return bool(s) and len(list(shlex.shlex(s))) > 1
4089
4098
 
@@ -7856,6 +7865,9 @@ class SubprocessRunnable(abc.ABC, ta.Generic[T]):
7856
7865
  # ../../../omlish/text/indent.py
7857
7866
 
7858
7867
 
7868
+ ##
7869
+
7870
+
7859
7871
  class IndentWriter:
7860
7872
  DEFAULT_INDENT = ' ' * 4
7861
7873
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ominfra
3
- Version: 0.0.0.dev261
3
+ Version: 0.0.0.dev263
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.dev261
16
- Requires-Dist: omlish==0.0.0.dev261
15
+ Requires-Dist: omdev==0.0.0.dev263
16
+ Requires-Dist: omlish==0.0.0.dev263
17
17
  Provides-Extra: all
18
18
  Requires-Dist: paramiko~=3.5; extra == "all"
19
19
  Requires-Dist: asyncssh~=2.18; extra == "all"
@@ -1,7 +1,7 @@
1
1
  ominfra/.manifests.json,sha256=8KREXxMAlsilZOktXPYru1ND3V5hFI22vnrp6hT3bio,589
2
2
  ominfra/__about__.py,sha256=6i1AoruFYQCd-PyhhbDQDWY2d1tiQu9nkwWr-fXAqfY,705
3
3
  ominfra/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- ominfra/pyremote.py,sha256=I8775ohUGn1DsI-6NQFAV2hxa6TPsH4ksINHxeIEw0w,16228
4
+ ominfra/pyremote.py,sha256=mxl-2K1f2gEFB4upn1pK2Zpy6ZZ9rLs2Uklj9HluktY,16332
5
5
  ominfra/systemd.py,sha256=d61NVrJoItzSaqhMDgKGrQjbrxEVAujUMDsj8WggXos,1022
6
6
  ominfra/threadworkers.py,sha256=ADWHAdvjzPxm94yJcEt5_nM7q7aahdQUNP_EGQeOWAw,4974
7
7
  ominfra/clouds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -112,8 +112,8 @@ ominfra/manage/targets/connection.py,sha256=rVI1YJxFClcF-sdttqWyIz9_XjPI01GUdwxY
112
112
  ominfra/manage/targets/inject.py,sha256=P4597xWM-V3I_gCt2O71OLhYQkkXtuJvkYRsIbhhMcE,1561
113
113
  ominfra/manage/targets/targets.py,sha256=7GP6UAZyJFEhpkJN6UQdpr_WN3p7C76v-s445y-WB6U,1885
114
114
  ominfra/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
115
- ominfra/scripts/journald2aws.py,sha256=ZX6qEsLVJSnRm22Mm8-euNG4zCqdMdFPz31pb9RsBOg,168504
116
- ominfra/scripts/manage.py,sha256=5RjcKg2gGf5N8NEgbTSpvJT6deRM46vetC3Vn0i92u8,379538
115
+ ominfra/scripts/journald2aws.py,sha256=l5_grHu-HtPtZFxGplKJSOO6rh1Np8WpgITh3yqv_Mo,168539
116
+ ominfra/scripts/manage.py,sha256=dN8Wf8dt8uATsH9CkdaugVXp-rFKKFj5nb8WNfrCthM,379652
117
117
  ominfra/scripts/supervisor.py,sha256=lv_bv0d15GUsrUN44KaN0n4_NJHhrN66BSsO2swcY7U,297117
118
118
  ominfra/supervisor/LICENSE.txt,sha256=ZrHY15PVR98y26Yg6iQfa-SXnUaYTDhrUsPVcEO5OKM,1874
119
119
  ominfra/supervisor/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
@@ -156,9 +156,9 @@ 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
158
  ominfra/tools/listresources.py,sha256=auGP1LlbBJSFKUWNvQo_UzA8IsBNZBTMwEkFFRJ4FX4,6185
159
- ominfra-0.0.0.dev261.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
160
- ominfra-0.0.0.dev261.dist-info/METADATA,sha256=uplU1HwWcuSup_BHqs4KGky6-TAcnSbfm7nouSp8ub8,753
161
- ominfra-0.0.0.dev261.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
162
- ominfra-0.0.0.dev261.dist-info/entry_points.txt,sha256=kgecQ2MgGrM9qK744BoKS3tMesaC3yjLnl9pa5CRczg,37
163
- ominfra-0.0.0.dev261.dist-info/top_level.txt,sha256=E-b2OHkk_AOBLXHYZQ2EOFKl-_6uOGd8EjeG-Zy6h_w,8
164
- ominfra-0.0.0.dev261.dist-info/RECORD,,
159
+ ominfra-0.0.0.dev263.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
160
+ ominfra-0.0.0.dev263.dist-info/METADATA,sha256=-CrtiJdUtOf1lukbLi6eYR8JeWcj2G14KAw5qJETn4g,753
161
+ ominfra-0.0.0.dev263.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
162
+ ominfra-0.0.0.dev263.dist-info/entry_points.txt,sha256=kgecQ2MgGrM9qK744BoKS3tMesaC3yjLnl9pa5CRczg,37
163
+ ominfra-0.0.0.dev263.dist-info/top_level.txt,sha256=E-b2OHkk_AOBLXHYZQ2EOFKl-_6uOGd8EjeG-Zy6h_w,8
164
+ ominfra-0.0.0.dev263.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (77.0.3)
2
+ Generator: setuptools (78.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5