omlish 0.0.0.dev59__py3-none-any.whl → 0.0.0.dev60__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/.manifests.json CHANGED
@@ -27,7 +27,7 @@
27
27
  "module": ".diag.pycharm",
28
28
  "attr": "_CLI_MODULE",
29
29
  "file": "omlish/diag/pycharm.py",
30
- "line": 138,
30
+ "line": 141,
31
31
  "value": {
32
32
  "$omdev.cli.types.CliModule": {
33
33
  "cmd_name": "pycharm",
omlish/__about__.py CHANGED
@@ -1,5 +1,5 @@
1
- __version__ = '0.0.0.dev59'
2
- __revision__ = 'ecad0399fc2d42f679cc344ed7e3c8fd556025ef'
1
+ __version__ = '0.0.0.dev60'
2
+ __revision__ = 'eb96b2408cdf5b153541f194ea5ab7bba1c2524b'
3
3
 
4
4
 
5
5
  #
omlish/diag/pycharm.py CHANGED
@@ -27,11 +27,11 @@ def is_pycharm_hosted() -> bool:
27
27
  ##
28
28
 
29
29
 
30
- PYCHARM_HOME = '/Applications/PyCharm.app'
30
+ DARWIN_PYCHARM_HOME = '/Applications/PyCharm.app'
31
31
 
32
32
 
33
- def read_pycharm_info_plist() -> ta.Mapping[str, ta.Any] | None:
34
- plist_file = os.path.join(PYCHARM_HOME, 'Contents', 'Info.plist')
33
+ def read_darwin_pycharm_info_plist() -> ta.Mapping[str, ta.Any] | None:
34
+ plist_file = os.path.join(DARWIN_PYCHARM_HOME, 'Contents', 'Info.plist')
35
35
  if not os.path.isfile(plist_file):
36
36
  return None
37
37
 
@@ -43,13 +43,17 @@ def read_pycharm_info_plist() -> ta.Mapping[str, ta.Any] | None:
43
43
 
44
44
  @lang.cached_function
45
45
  def get_pycharm_version() -> str | None:
46
- plist = read_pycharm_info_plist()
47
- if plist is None:
48
- return None
46
+ if sys.platform == 'darwin':
47
+ plist = read_darwin_pycharm_info_plist()
48
+ if plist is None:
49
+ return None
50
+
51
+ ver = check.non_empty_str(plist['CFBundleVersion'])
52
+ check.state(ver.startswith('PY-'))
53
+ return ver[3:]
49
54
 
50
- ver = check.non_empty_str(plist['CFBundleVersion'])
51
- check.state(ver.startswith('PY-'))
52
- return ver[3:]
55
+ else:
56
+ return None
53
57
 
54
58
 
55
59
  ##
@@ -108,10 +112,6 @@ def pycharm_remote_debugger_attach(
108
112
  *,
109
113
  version: str | None = None,
110
114
  ) -> None:
111
- # if version is None:
112
- # version = get_pycharm_version()
113
- # check.non_empty_str(version)
114
-
115
115
  if host is None:
116
116
  if (
117
117
  sys.platform == 'linux' and
@@ -122,6 +122,9 @@ def pycharm_remote_debugger_attach(
122
122
  else:
123
123
  host = 'localhost'
124
124
 
125
+ if version is None and host in ('localhost', '127.0.0.1'):
126
+ version = get_pycharm_version()
127
+
125
128
  if ta.TYPE_CHECKING:
126
129
  import pydevd_pycharm # noqa
127
130
  else:
@@ -2,6 +2,7 @@
2
2
  FIXME:
3
3
  - lol shutdown deadlocks
4
4
  - whole thing is just gross is this its own thread or what
5
+ - cli with client helper too
5
6
 
6
7
  TODO:
7
8
  - !!! ANYIO !!!
omlish/libc.py CHANGED
@@ -1,7 +1,4 @@
1
- # ruff: noqa: ANN201
2
- # ruff: noqa: N801
3
- # ruff: noqa: N802
4
-
1
+ # ruff: noqa: ANN201, N801, N802
5
2
  import ctypes as ct
6
3
  import errno
7
4
  import platform
@@ -213,7 +210,14 @@ class Mmap:
213
210
  return self._base
214
211
 
215
212
  def __enter__(self) -> 'Mmap':
216
- base = mmap(self._desired_base, self._length, self._prot, self._flags, self._fd, self._offset)
213
+ base = mmap(
214
+ self._desired_base,
215
+ self._length,
216
+ self._prot,
217
+ self._flags,
218
+ self._fd,
219
+ self._offset,
220
+ )
217
221
  if base == MAP_FAILED:
218
222
  err, msg = lasterr()
219
223
  raise OSError(err, 'mmap failed: ' + msg)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: omlish
3
- Version: 0.0.0.dev59
3
+ Version: 0.0.0.dev60
4
4
  Summary: omlish
5
5
  Author: wrmsr
6
6
  License: BSD-3-Clause
@@ -1,5 +1,5 @@
1
- omlish/.manifests.json,sha256=wTGXwNmvtaKsDWtTwwj3Uib5Inaj8ZBn0MB69bE80X4,1419
2
- omlish/__about__.py,sha256=t66E-GURVsnkjRDYrn6EsT04bijeOMPMW4sjivdIPig,3420
1
+ omlish/.manifests.json,sha256=jvyoQ7x8UJ9lpRgkh7eElwJ8qnzyG5aUGameT9Yk8GM,1419
2
+ omlish/__about__.py,sha256=FBKxqP5dW_gNqz7t1xG_3WdV2AUAJW3mxH9f6_99dok,3420
3
3
  omlish/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  omlish/argparse.py,sha256=Vr70_85EVLJLgEkRtwOr264tMRtqtlN7ncFfXRUk5aM,6914
5
5
  omlish/c3.py,sha256=4vogWgwPb8TbNS2KkZxpoWbwjj7MuHG2lQG-hdtkvjI,8062
@@ -12,7 +12,7 @@ omlish/fnpairs.py,sha256=Sl8CMFNyDS-1JYAjSWqnT5FmUm9Lj6o7FxSRo7g4jww,10875
12
12
  omlish/fnpipes.py,sha256=AJkgz9nvRRm7oqw7ZgYyz21klu276LWi54oYCLg-vOg,2196
13
13
  omlish/genmachine.py,sha256=LCMiqvK32dAWtrlB6lKw9tXdQFiXC8rRdk4TMQYIroU,1603
14
14
  omlish/iterators.py,sha256=GGLC7RIT86uXMjhIIIqnff_Iu5SI_b9rXYywYGFyzmo,7292
15
- omlish/libc.py,sha256=u0481imCiTFqP_e-v9g0pD-0WD249j5vYzhtn-fnNkY,15308
15
+ omlish/libc.py,sha256=QSqAauv4o77T_ttyC6I4M-q33VROHjbZtkN-lEWJ6RU,15364
16
16
  omlish/matchfns.py,sha256=I1IlQGfEyk_AcFSy6ulVS3utC-uwyZM2YfUXYHc9Bw0,6152
17
17
  omlish/multiprocessing.py,sha256=QZT4C7I-uThCAjaEY3xgUYb-5GagUlnE4etN01LDyU4,5186
18
18
  omlish/os.py,sha256=vO1sZCzAhVxo46tDFLrD52q2KuMFWQwu5MPJgSsnliI,3107
@@ -154,13 +154,13 @@ omlish/diag/asts.py,sha256=BveUUNUcaAm4Hg55f4ZxGSI313E4L8cCZ5XjHpEkKVI,3325
154
154
  omlish/diag/procfs.py,sha256=vBovaMvAUKdl7FbtFq3TNsSmdhs8DaYfhoEsKeWYta8,9704
155
155
  omlish/diag/procstats.py,sha256=UkqxREqfd-38xPYZ9T1SIJISz5ARQCEhTtOZrxtm2dE,777
156
156
  omlish/diag/ps.py,sha256=1JWxZen3fVG-20R6ZZ8BtO_gpzw_5bhHZiKdoHkgxoU,1004
157
- omlish/diag/pycharm.py,sha256=HoEYtBuz04RyQhCMRslSEqMwnMlDU49bjOTBwGeivMk,3181
157
+ omlish/diag/pycharm.py,sha256=d5-qwdewcEw-cUL1gbbNLJsdPYJWKu4vUmtXhkdP4-Q,3297
158
158
  omlish/diag/pydevd.py,sha256=Fsx9rfCOnwLD6RLBqH0uAdtq75rbNeBAQfiDvIBd3e0,7295
159
159
  omlish/diag/threads.py,sha256=1-x02VCDZ407gfbtXm1pWK-ubqhqfePm9PMqkHCVoqk,3642
160
160
  omlish/diag/replserver/__init__.py,sha256=uLo6V2aQ29v9z3IMELlPDSlG3_2iOT4-_X8VniF-EgE,235
161
161
  omlish/diag/replserver/__main__.py,sha256=LmU41lQ58bm1h4Mx7S8zhE_uEBSC6kPcp9mn5JRpulA,32
162
162
  omlish/diag/replserver/console.py,sha256=XzBDVhYlr8FY6ym4OwoaIHuFOHnGK3dTYlMDIOMUUlA,7410
163
- omlish/diag/replserver/server.py,sha256=5pRjBn-Vz8gtu45756ycdbJe58C_xrB9rElPytr6h5g,5345
163
+ omlish/diag/replserver/server.py,sha256=Hnfp-aFgUtkWGyVXjWJ33HhhBrrtZnJu5FZRV6MTKoI,5375
164
164
  omlish/dispatch/__init__.py,sha256=GsiGJ91NKiQptSROtnCSkrZExBkvfDwYvdoTu5dBqF0,117
165
165
  omlish/dispatch/_dispatch2.py,sha256=v3tCNyxGpOwY8qTwdp54TlM8mG6OVwtQoUZfYJ_griU,1756
166
166
  omlish/dispatch/_dispatch3.py,sha256=Vnu5DfoPWFJLodudBqoZBXGTi2wYk-Az56MXJgdQvwc,2608
@@ -407,9 +407,9 @@ omlish/text/delimit.py,sha256=ubPXcXQmtbOVrUsNh5gH1mDq5H-n1y2R4cPL5_DQf68,4928
407
407
  omlish/text/glyphsplit.py,sha256=Ug-dPRO7x-OrNNr8g1y6DotSZ2KH0S-VcOmUobwa4B0,3296
408
408
  omlish/text/indent.py,sha256=6Jj6TFY9unaPa4xPzrnZemJ-fHsV53IamP93XGjSUHs,1274
409
409
  omlish/text/parts.py,sha256=7vPF1aTZdvLVYJ4EwBZVzRSy8XB3YqPd7JwEnNGGAOo,6495
410
- omlish-0.0.0.dev59.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
411
- omlish-0.0.0.dev59.dist-info/METADATA,sha256=k7fwGFZLfmvFM8ALQDrVnGZ6KzO-ThQwJcmfIkg3Opk,4167
412
- omlish-0.0.0.dev59.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
413
- omlish-0.0.0.dev59.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
414
- omlish-0.0.0.dev59.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
415
- omlish-0.0.0.dev59.dist-info/RECORD,,
410
+ omlish-0.0.0.dev60.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
411
+ omlish-0.0.0.dev60.dist-info/METADATA,sha256=ywbae2f6yzK7ZJn0W83KHW9L1sTuH-Y7h4sf8pAl95k,4167
412
+ omlish-0.0.0.dev60.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
413
+ omlish-0.0.0.dev60.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
414
+ omlish-0.0.0.dev60.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
415
+ omlish-0.0.0.dev60.dist-info/RECORD,,