omdev 0.0.0.dev167__py3-none-any.whl → 0.0.0.dev169__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.
omdev/scripts/interp.py CHANGED
@@ -560,6 +560,8 @@ def async_cached_nullary(fn): # ta.Callable[..., T]) -> ta.Callable[..., T]:
560
560
  """
561
561
  TODO:
562
562
  - def maybe(v: lang.Maybe[T])
563
+ - def not_ ?
564
+ - ** class @dataclass Raise - user message should be able to be an exception type or instance or factory
563
565
  """
564
566
 
565
567
 
@@ -1132,6 +1134,28 @@ def strip_with_newline(s: str) -> str:
1132
1134
  return s.strip() + '\n'
1133
1135
 
1134
1136
 
1137
+ @ta.overload
1138
+ def split_keep_delimiter(s: str, d: str) -> str:
1139
+ ...
1140
+
1141
+
1142
+ @ta.overload
1143
+ def split_keep_delimiter(s: bytes, d: bytes) -> bytes:
1144
+ ...
1145
+
1146
+
1147
+ def split_keep_delimiter(s, d):
1148
+ ps = []
1149
+ i = 0
1150
+ while i < len(s):
1151
+ if (n := s.find(d, i)) < i:
1152
+ ps.append(s[i:])
1153
+ break
1154
+ ps.append(s[i:n + 1])
1155
+ i = n + 1
1156
+ return ps
1157
+
1158
+
1135
1159
  ##
1136
1160
 
1137
1161
 
@@ -1852,6 +1852,8 @@ def async_cached_nullary(fn): # ta.Callable[..., T]) -> ta.Callable[..., T]:
1852
1852
  """
1853
1853
  TODO:
1854
1854
  - def maybe(v: lang.Maybe[T])
1855
+ - def not_ ?
1856
+ - ** class @dataclass Raise - user message should be able to be an exception type or instance or factory
1855
1857
  """
1856
1858
 
1857
1859
 
@@ -2424,6 +2426,28 @@ def strip_with_newline(s: str) -> str:
2424
2426
  return s.strip() + '\n'
2425
2427
 
2426
2428
 
2429
+ @ta.overload
2430
+ def split_keep_delimiter(s: str, d: str) -> str:
2431
+ ...
2432
+
2433
+
2434
+ @ta.overload
2435
+ def split_keep_delimiter(s: bytes, d: bytes) -> bytes:
2436
+ ...
2437
+
2438
+
2439
+ def split_keep_delimiter(s, d):
2440
+ ps = []
2441
+ i = 0
2442
+ while i < len(s):
2443
+ if (n := s.find(d, i)) < i:
2444
+ ps.append(s[i:])
2445
+ break
2446
+ ps.append(s[i:n + 1])
2447
+ i = n + 1
2448
+ return ps
2449
+
2450
+
2427
2451
  ##
2428
2452
 
2429
2453
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: omdev
3
- Version: 0.0.0.dev167
3
+ Version: 0.0.0.dev169
4
4
  Summary: omdev
5
5
  Author: wrmsr
6
6
  License: BSD-3-Clause
@@ -12,7 +12,7 @@ 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: omlish==0.0.0.dev167
15
+ Requires-Dist: omlish==0.0.0.dev169
16
16
  Provides-Extra: all
17
17
  Requires-Dist: black~=24.10; extra == "all"
18
18
  Requires-Dist: pycparser~=2.22; extra == "all"
@@ -134,8 +134,8 @@ omdev/scripts/bumpversion.py,sha256=Kn7fo73Hs8uJh3Hi3EIyLOlzLPWAC6dwuD_lZ3cIzuY,
134
134
  omdev/scripts/execrss.py,sha256=mR0G0wERBYtQmVIn63lCIIFb5zkCM6X_XOENDFYDBKc,651
135
135
  omdev/scripts/exectime.py,sha256=sFb376GflU6s9gNX-2-we8hgH6w5MuQNS9g6i4SqJIo,610
136
136
  omdev/scripts/importtrace.py,sha256=oa7CtcWJVMNDbyIEiRHej6ICfABfErMeo4_haIqe18Q,14041
137
- omdev/scripts/interp.py,sha256=5-OAXO8HyTUV8zx4vG51RY2pVvHXxfQgbjvFdPgSolw,99988
138
- omdev/scripts/pyproject.py,sha256=MY5R8YXV3SEEKwYCs7Hngo597vmrQISYiuCVCYI76Uo,205007
137
+ omdev/scripts/interp.py,sha256=pZkbvLYvS02Y75d3tznsrh0iMacQq-_1fRfaXHOz7IE,100481
138
+ omdev/scripts/pyproject.py,sha256=L__aJU_qoguVLlnJoP-iSn1UILrdzsVSljZpwZd5K3Q,205500
139
139
  omdev/scripts/slowcat.py,sha256=lssv4yrgJHiWfOiHkUut2p8E8Tq32zB-ujXESQxFFHY,2728
140
140
  omdev/scripts/tmpexec.py,sha256=WTYcf56Tj2qjYV14AWmV8SfT0u6Y8eIU6cKgQRvEK3c,1442
141
141
  omdev/toml/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
@@ -164,9 +164,9 @@ omdev/tools/json/rendering.py,sha256=jNShMfCpFR9-Kcn6cUFuOChXHjg71diuTC4x7Ofmz-o
164
164
  omdev/tools/pawk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
165
165
  omdev/tools/pawk/__main__.py,sha256=VCqeRVnqT1RPEoIrqHFSu4PXVMg4YEgF4qCQm90-eRI,66
166
166
  omdev/tools/pawk/pawk.py,sha256=Eckymn22GfychCQcQi96BFqRo_LmiJ-EPhC8TTUJdB4,11446
167
- omdev-0.0.0.dev167.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
168
- omdev-0.0.0.dev167.dist-info/METADATA,sha256=OCo2lUKUnHcGesqi6o9uaV2skY4K1W7KRxSSW9oL7Bo,1760
169
- omdev-0.0.0.dev167.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
170
- omdev-0.0.0.dev167.dist-info/entry_points.txt,sha256=dHLXFmq5D9B8qUyhRtFqTGWGxlbx3t5ejedjrnXNYLU,33
171
- omdev-0.0.0.dev167.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
172
- omdev-0.0.0.dev167.dist-info/RECORD,,
167
+ omdev-0.0.0.dev169.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
168
+ omdev-0.0.0.dev169.dist-info/METADATA,sha256=MG855-JrZTc6FScK8k0O-sBkx3OI5i3aZy8MyYr5_fE,1760
169
+ omdev-0.0.0.dev169.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
170
+ omdev-0.0.0.dev169.dist-info/entry_points.txt,sha256=dHLXFmq5D9B8qUyhRtFqTGWGxlbx3t5ejedjrnXNYLU,33
171
+ omdev-0.0.0.dev169.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
172
+ omdev-0.0.0.dev169.dist-info/RECORD,,