omdev 0.0.0.dev108__py3-none-any.whl → 0.0.0.dev110__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.

Potentially problematic release.


This version of omdev might be problematic. Click here for more details.

omdev/.manifests.json CHANGED
@@ -191,6 +191,18 @@
191
191
  }
192
192
  }
193
193
  },
194
+ {
195
+ "module": ".scripts.tmpexec",
196
+ "attr": "_CLI_MODULE",
197
+ "file": "omdev/scripts/tmpexec.py",
198
+ "line": 50,
199
+ "value": {
200
+ "$.cli.types.CliModule": {
201
+ "cmd_name": "tmpexec",
202
+ "mod_name": "omdev.scripts.tmpexec"
203
+ }
204
+ }
205
+ },
194
206
  {
195
207
  "module": ".tools.doc",
196
208
  "attr": "_CLI_MODULE",
@@ -0,0 +1,58 @@
1
+ #!/usr/bin/env python3
2
+ # @omlish-script
3
+ """
4
+ TODO:
5
+ - can xargs just do this lol
6
+ """
7
+ import argparse
8
+ import os
9
+ import subprocess
10
+ import sys
11
+ import tempfile
12
+
13
+
14
+ def _main() -> None:
15
+ parser = argparse.ArgumentParser()
16
+ parser.add_argument('-I', '--replstr', default='%')
17
+ parser.add_argument('-Q', '--stdout-silenced', action='store_true')
18
+ parser.add_argument('-E', '--stdout-to-stderr', action='store_true')
19
+ parser.add_argument('-c', '--cat', action='store_true')
20
+ parser.add_argument('-k', '--keep', action='store_true')
21
+ parser.add_argument('--read-size', type=int, default=0x4000)
22
+ args, rest = parser.parse_known_args()
23
+
24
+ fd, tmp_file = tempfile.mkstemp()
25
+ os.close(fd)
26
+
27
+ argv = [tmp_file if a == args.replstr else a for a in rest]
28
+
29
+ kw: dict = {}
30
+ if args.stdout_silenced:
31
+ kw.update(stdout=open('/dev/null', 'wb')) # noqa
32
+ elif args.stdout_to_stderr:
33
+ kw.update(stdout=sys.stderr)
34
+
35
+ subprocess.check_call(argv, **kw)
36
+
37
+ if args.cat:
38
+ try:
39
+ with open(tmp_file, 'rb') as f:
40
+ while buf := f.read(args.read_size):
41
+ sys.stdout.buffer.write(buf)
42
+ finally:
43
+ if not args.keep:
44
+ os.unlink(tmp_file)
45
+
46
+ else:
47
+ print(tmp_file)
48
+
49
+
50
+ # @omlish-manifest
51
+ _CLI_MODULE = {'$omdev.cli.types.CliModule': {
52
+ 'cmd_name': 'tmpexec',
53
+ 'mod_name': __name__,
54
+ }}
55
+
56
+
57
+ if __name__ == '__main__':
58
+ _main()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: omdev
3
- Version: 0.0.0.dev108
3
+ Version: 0.0.0.dev110
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.dev108
15
+ Requires-Dist: omlish ==0.0.0.dev110
16
16
  Provides-Extra: all
17
17
  Requires-Dist: black ~=24.10 ; extra == 'all'
18
18
  Requires-Dist: pycparser ~=2.22 ; extra == 'all'
@@ -1,4 +1,4 @@
1
- omdev/.manifests.json,sha256=7k8X6dwsYix3aVgNr4us8gpWAOW47Kr6PvOwgERlXyA,6951
1
+ omdev/.manifests.json,sha256=iQOdJW9W9NbsmuMbkTfWYYy6acGL22P_dmhFwJBdCZc,7214
2
2
  omdev/__about__.py,sha256=n5x-SO70OgbDQFzQ1d7sZDVMsnkQc4PxQZPFaIQFa0E,1281
3
3
  omdev/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  omdev/bracepy.py,sha256=I8EdqtDvxzAi3I8TuMEW-RBfwXfqKbwp06CfOdj3L1o,2743
@@ -121,6 +121,7 @@ omdev/scripts/importtrace.py,sha256=Jbo3Yk2RAbE8_tJ97iTcVNpoxCJxrRb2tl1W_CV3NG0,
121
121
  omdev/scripts/interp.py,sha256=U6mU2RPZjwcBhn4Vl4SrAyDUFcf7bBxBnPY5FHCxosw,72496
122
122
  omdev/scripts/pyproject.py,sha256=RNWsO9-cu6MUXuWFT1Y200euUu6WcAC4orwGEUoGVWA,165526
123
123
  omdev/scripts/slowcat.py,sha256=lssv4yrgJHiWfOiHkUut2p8E8Tq32zB-ujXESQxFFHY,2728
124
+ omdev/scripts/tmpexec.py,sha256=WTYcf56Tj2qjYV14AWmV8SfT0u6Y8eIU6cKgQRvEK3c,1442
124
125
  omdev/toml/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
125
126
  omdev/toml/parser.py,sha256=84bn09uhYHwQGyfww6Rw6y1RxPAE_HDltODOSakcqDM,29186
126
127
  omdev/toml/writer.py,sha256=lk3on3YXVbWuLJa-xsOzOhs1bBAT1vXqw4mBbluZl_w,3040
@@ -138,9 +139,9 @@ omdev/tools/sqlrepl.py,sha256=tmFZh80-xsGM62dyQ7_UGLebChrj7IHbIPYBWDJMgVk,5741
138
139
  omdev/tools/pawk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
139
140
  omdev/tools/pawk/__main__.py,sha256=VCqeRVnqT1RPEoIrqHFSu4PXVMg4YEgF4qCQm90-eRI,66
140
141
  omdev/tools/pawk/pawk.py,sha256=Eckymn22GfychCQcQi96BFqRo_LmiJ-EPhC8TTUJdB4,11446
141
- omdev-0.0.0.dev108.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
142
- omdev-0.0.0.dev108.dist-info/METADATA,sha256=vUPC-ElWp7JCBsLBpcWaAO5rFXHu3PWSgZlGfYvcN7Q,1810
143
- omdev-0.0.0.dev108.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
144
- omdev-0.0.0.dev108.dist-info/entry_points.txt,sha256=dHLXFmq5D9B8qUyhRtFqTGWGxlbx3t5ejedjrnXNYLU,33
145
- omdev-0.0.0.dev108.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
146
- omdev-0.0.0.dev108.dist-info/RECORD,,
142
+ omdev-0.0.0.dev110.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
143
+ omdev-0.0.0.dev110.dist-info/METADATA,sha256=3m_N2pXgLPeXn2cLxrZ-P36PuSg1G1gVSpRyUBU593s,1810
144
+ omdev-0.0.0.dev110.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
145
+ omdev-0.0.0.dev110.dist-info/entry_points.txt,sha256=dHLXFmq5D9B8qUyhRtFqTGWGxlbx3t5ejedjrnXNYLU,33
146
+ omdev-0.0.0.dev110.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
147
+ omdev-0.0.0.dev110.dist-info/RECORD,,