omdev 0.0.0.dev55__py3-none-any.whl → 0.0.0.dev56__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
@@ -167,6 +167,21 @@
167
167
  }
168
168
  }
169
169
  },
170
+ {
171
+ "module": ".tools.nbtools",
172
+ "attr": "_CLI_MODULE",
173
+ "file": "omdev/tools/nbtools.py",
174
+ "line": 44,
175
+ "value": {
176
+ "$.cli.types.CliModule": {
177
+ "cmd_name": [
178
+ "notebook",
179
+ "nb"
180
+ ],
181
+ "mod_name": "omdev.tools.nbtools"
182
+ }
183
+ }
184
+ },
170
185
  {
171
186
  "module": ".tools.piptools",
172
187
  "attr": "_CLI_MODULE",
omdev/cli/main.py CHANGED
@@ -95,7 +95,10 @@ def _main() -> None:
95
95
  if isinstance(cc.cmd_name, str):
96
96
  print(f' {cc.cmd_name}')
97
97
  else:
98
- print(f' {cc.cmd_name[0]} ({", ".join(cc.cmd_name[1:])})')
98
+ print(
99
+ f' {cc.cmd_name[0]}'
100
+ f'{(" (" + ", ".join(cc.cmd_name[1:]) + ")") if len(cc.cmd_name) > 1 else ""}',
101
+ )
99
102
  print()
100
103
  return
101
104
 
omdev/tools/nbtools.py ADDED
@@ -0,0 +1,49 @@
1
+ import io
2
+ import json
3
+ import os.path
4
+ import sys
5
+
6
+ from omlish import argparse as ap
7
+
8
+ from ..cli import CliModule
9
+
10
+
11
+ class Cli(ap.Cli):
12
+ @ap.command(
13
+ ap.arg('file'),
14
+ ap.arg('-w', '--write', action='store_true'),
15
+ ap.arg('-o', '--overwrite', action='store_true'),
16
+ )
17
+ def code(self) -> None:
18
+ if self.args.write:
19
+ out_file = self.args.file.rpartition('.')[0] + '.py'
20
+ if os.path.isfile(out_file) and not self.args.overwrite:
21
+ raise OSError(f'File exists: {out_file}')
22
+ else:
23
+ out_file = None
24
+
25
+ with open(self.args.file) as f:
26
+ dct = json.load(f)
27
+
28
+ out = io.StringIO()
29
+ code_cells = [c for c in dct['cells'] if c['cell_type'] == 'code']
30
+ for i, c in enumerate(code_cells):
31
+ if i:
32
+ out.write('\n##\n\n')
33
+ out.write(''.join(c['source']))
34
+ out.write('\n')
35
+
36
+ if out_file is not None:
37
+ with open(out_file, 'w') as f:
38
+ f.write(out.getvalue())
39
+ print(f'Wrote {out_file}')
40
+ else:
41
+ sys.stdout.write(out.getvalue())
42
+
43
+
44
+ # @omlish-manifest
45
+ _CLI_MODULE = CliModule(['notebook', 'nb'], __name__)
46
+
47
+
48
+ if __name__ == '__main__':
49
+ Cli()()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: omdev
3
- Version: 0.0.0.dev55
3
+ Version: 0.0.0.dev56
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.dev55
15
+ Requires-Dist: omlish ==0.0.0.dev56
16
16
  Provides-Extra: all
17
17
  Requires-Dist: pycparser ~=2.22 ; extra == 'all'
18
18
  Requires-Dist: cffi ~=1.17 ; extra == 'all'
@@ -1,4 +1,4 @@
1
- omdev/.manifests.json,sha256=aVWfRH5ZXkRF1MSMHfbCjmPop-yoc_r1PAwzZfInWVk,4180
1
+ omdev/.manifests.json,sha256=YBFCesfwODi9Z0xRfCtGjZoJwWpZm5XEsn7g_ieSqy0,4476
2
2
  omdev/__about__.py,sha256=LqSNNFFcT84xW3W8fIOJ78kPYJKFLIXZyDX-AJREvN0,1005
3
3
  omdev/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  omdev/bracepy.py,sha256=HwBK5XmlOsF_juTel25fRLJK9vHSJCWXuCc-OZlevRQ,2619
@@ -57,7 +57,7 @@ omdev/cli/__init__.py,sha256=V_l6VP1SZMlJbO-8CJwSuO9TThOy2S_oaPepNYgIrbE,37
57
57
  omdev/cli/__main__.py,sha256=5IeIERm-371fSI5ZvPv8eldAJBwgKwpR0R49pTsILNM,76
58
58
  omdev/cli/clicli.py,sha256=rQ9-F9XI3BevnfIVALHVKrrHNQPdYhkQ-IKESTNB5RA,2447
59
59
  omdev/cli/install.py,sha256=C-W171YlIHt4Cfok-nWSMbHwWhqF_PFqq2HixFttYx8,4460
60
- omdev/cli/main.py,sha256=uyrpniI2nz84EV5-mFbcKJXf0sROJXSomEsangsRI_w,2751
60
+ omdev/cli/main.py,sha256=sTlrox_s-3zM5zbbZhQ_V_TOy42NiPBR_gLZQiUH4co,2870
61
61
  omdev/cli/managers.py,sha256=zqhMgNnv2VbXoTP6SgZeSuWfAVo1Ge-HJnQ1ftL-Mq8,2590
62
62
  omdev/cli/types.py,sha256=bqKw9SbtBtAip2vF9v4khh0CqKG6LBr6n9VzWBz7AJE,474
63
63
  omdev/interp/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
@@ -110,13 +110,14 @@ omdev/tools/dockertools.py,sha256=x00GV8j1KReMXwxJ641GlcsVwHoWeuzdIKVBp36BqwU,52
110
110
  omdev/tools/gittools.py,sha256=i2WFM2pX5riDJBchFXMmegOCuLSjvTkKC1ltqShSo7E,1773
111
111
  omdev/tools/importscan.py,sha256=vxOMdAABShqt5-G3n6DGHopCZ5uGgciThY0MCa5W0mA,4066
112
112
  omdev/tools/mkrelimp.py,sha256=fwt4GWzenuLNVtzdK2uaJJTSuJbUVJZquF5adwAwlPg,4051
113
+ omdev/tools/nbtools.py,sha256=JZcgTMX3IP-nAtk2QAVU_PXlF4FFNxRDebB8zQX_RQ0,1260
113
114
  omdev/tools/piptools.py,sha256=-jR5q3w4sHqntxCLExFCBNIARB788FUsAbJ62PK2sBU,2774
114
115
  omdev/tools/proftools.py,sha256=xKSm_yPoCnfsvS3iT9MblDqFMuZmGfI3_koGj8amMyU,145
115
116
  omdev/tools/rst.py,sha256=6dWk8QZHoGiLSuBw3TKsXZjjFK6wWBEtPi9krdCLKKg,977
116
117
  omdev/tools/sqlrepl.py,sha256=tmFZh80-xsGM62dyQ7_UGLebChrj7IHbIPYBWDJMgVk,5741
117
- omdev-0.0.0.dev55.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
118
- omdev-0.0.0.dev55.dist-info/METADATA,sha256=jIAXr5kLLO42luKHEECFH44nXNaFj0oqD9m9Nz7KauI,1252
119
- omdev-0.0.0.dev55.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
120
- omdev-0.0.0.dev55.dist-info/entry_points.txt,sha256=dHLXFmq5D9B8qUyhRtFqTGWGxlbx3t5ejedjrnXNYLU,33
121
- omdev-0.0.0.dev55.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
122
- omdev-0.0.0.dev55.dist-info/RECORD,,
118
+ omdev-0.0.0.dev56.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
119
+ omdev-0.0.0.dev56.dist-info/METADATA,sha256=BSBhR7Fio5ueDq4548bvHtjJB_C5ensgadmU40MKojA,1252
120
+ omdev-0.0.0.dev56.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
121
+ omdev-0.0.0.dev56.dist-info/entry_points.txt,sha256=dHLXFmq5D9B8qUyhRtFqTGWGxlbx3t5ejedjrnXNYLU,33
122
+ omdev-0.0.0.dev56.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
123
+ omdev-0.0.0.dev56.dist-info/RECORD,,