omdev 0.0.0.dev24__py3-none-any.whl → 0.0.0.dev26__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 +1 -0
- omdev/amalg/amalg.py +60 -23
- omdev/cexts/_boilerplate.cc +82 -0
- omdev/cexts/_distutils/LICENSE +12 -0
- omdev/cexts/build.py +62 -18
- omdev/cexts/importhook.py +1 -1
- omdev/datacache/__init__.py +19 -0
- omdev/datacache/cache.py +149 -0
- omdev/datacache/consts.py +1 -0
- omdev/datacache/default.py +51 -0
- omdev/datacache/manifests.py +40 -0
- omdev/datacache/specs.py +93 -0
- omdev/findmagic.py +7 -0
- omdev/git.py +62 -0
- omdev/manifests.py +247 -0
- omdev/pyproject/pkg.py +35 -10
- omdev/scripts/interp.py +42 -37
- omdev/scripts/pyproject.py +82 -54
- omdev/tools/dockertools.py +102 -0
- {omdev-0.0.0.dev24.dist-info → omdev-0.0.0.dev26.dist-info}/METADATA +2 -2
- {omdev-0.0.0.dev24.dist-info → omdev-0.0.0.dev26.dist-info}/RECORD +24 -13
- {omdev-0.0.0.dev24.dist-info → omdev-0.0.0.dev26.dist-info}/WHEEL +1 -1
- {omdev-0.0.0.dev24.dist-info → omdev-0.0.0.dev26.dist-info}/LICENSE +0 -0
- {omdev-0.0.0.dev24.dist-info → omdev-0.0.0.dev26.dist-info}/top_level.txt +0 -0
omdev/scripts/pyproject.py
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# @omlish-lite
|
|
4
4
|
# @omlish-script
|
|
5
5
|
# @omdev-amalg-output ../pyproject/cli.py
|
|
6
|
-
# ruff: noqa: UP006 UP007
|
|
6
|
+
# ruff: noqa: N802 TCH003 UP006 UP007 UP036
|
|
7
7
|
"""
|
|
8
8
|
TODO:
|
|
9
9
|
- check / tests, src dir sets
|
|
@@ -66,6 +66,17 @@ import weakref # noqa
|
|
|
66
66
|
import zipfile
|
|
67
67
|
|
|
68
68
|
|
|
69
|
+
########################################
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
if sys.version_info < (3, 8):
|
|
73
|
+
raise OSError(
|
|
74
|
+
f'Requires python (3, 8), got {sys.version_info} from {sys.executable}') # noqa
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
########################################
|
|
78
|
+
|
|
79
|
+
|
|
69
80
|
# ../../toml/parser.py
|
|
70
81
|
TomlParseFloat = ta.Callable[[str], ta.Any]
|
|
71
82
|
TomlKey = ta.Tuple[str, ...]
|
|
@@ -101,7 +112,6 @@ class CextMagic:
|
|
|
101
112
|
|
|
102
113
|
########################################
|
|
103
114
|
# ../../findmagic.py
|
|
104
|
-
# @omlish-script
|
|
105
115
|
|
|
106
116
|
|
|
107
117
|
def compile_magic_pat(m: str) -> re.Pattern:
|
|
@@ -115,6 +125,13 @@ def find_magic(
|
|
|
115
125
|
*,
|
|
116
126
|
py: bool = False,
|
|
117
127
|
) -> ta.Iterator[str]:
|
|
128
|
+
if isinstance(roots, str):
|
|
129
|
+
raise TypeError(roots)
|
|
130
|
+
if isinstance(magics, str):
|
|
131
|
+
raise TypeError(magics)
|
|
132
|
+
if isinstance(exts, str):
|
|
133
|
+
raise TypeError(exts)
|
|
134
|
+
|
|
118
135
|
if not magics:
|
|
119
136
|
raise Exception('Must specify magics')
|
|
120
137
|
if not exts:
|
|
@@ -196,7 +213,6 @@ def find_magic(
|
|
|
196
213
|
# License Agreement.
|
|
197
214
|
#
|
|
198
215
|
# https://github.com/python/cpython/blob/f5009b69e0cd94b990270e04e65b9d4d2b365844/Lib/tomllib/_parser.py
|
|
199
|
-
# ruff: noqa: UP006 UP007
|
|
200
216
|
|
|
201
217
|
|
|
202
218
|
##
|
|
@@ -1102,7 +1118,6 @@ class TomlWriter:
|
|
|
1102
1118
|
# Apache License, Version 2.0, and the BSD License. See the LICENSE file in the root of this repository for complete
|
|
1103
1119
|
# details.
|
|
1104
1120
|
# https://github.com/pypa/packaging/blob/2c885fe91a54559e2382902dce28428ad2887be5/src/packaging/version.py
|
|
1105
|
-
# ruff: noqa: UP006 UP007
|
|
1106
1121
|
|
|
1107
1122
|
|
|
1108
1123
|
##
|
|
@@ -1488,7 +1503,6 @@ def canonicalize_version(
|
|
|
1488
1503
|
|
|
1489
1504
|
########################################
|
|
1490
1505
|
# ../../wheelfile.py
|
|
1491
|
-
# ruff: noqa: UP006 UP007
|
|
1492
1506
|
# https://github.com/pypa/wheel/blob/7bb46d7727e6e89fe56b3c78297b3af2672bbbe2/src/wheel/wheelfile.py
|
|
1493
1507
|
# MIT License
|
|
1494
1508
|
#
|
|
@@ -1748,7 +1762,6 @@ class cached_nullary: # noqa
|
|
|
1748
1762
|
|
|
1749
1763
|
########################################
|
|
1750
1764
|
# ../../../omlish/lite/check.py
|
|
1751
|
-
# ruff: noqa: UP006 UP007
|
|
1752
1765
|
|
|
1753
1766
|
|
|
1754
1767
|
def check_isinstance(v: T, spec: ta.Union[ta.Type[T], tuple]) -> T:
|
|
@@ -1808,7 +1821,6 @@ json_dumps_compact: ta.Callable[..., str] = functools.partial(json.dumps, **JSON
|
|
|
1808
1821
|
|
|
1809
1822
|
########################################
|
|
1810
1823
|
# ../../../omlish/lite/reflect.py
|
|
1811
|
-
# ruff: noqa: UP006
|
|
1812
1824
|
|
|
1813
1825
|
|
|
1814
1826
|
_GENERIC_ALIAS_TYPES = (
|
|
@@ -1891,7 +1903,6 @@ def is_sunder(name: str) -> bool:
|
|
|
1891
1903
|
TODO:
|
|
1892
1904
|
- embed pip._internal.req.parse_requirements, add additional env stuff? breaks compat with raw pip
|
|
1893
1905
|
"""
|
|
1894
|
-
# ruff: noqa: UP007
|
|
1895
1906
|
|
|
1896
1907
|
|
|
1897
1908
|
class RequirementsRewriter:
|
|
@@ -1986,7 +1997,6 @@ class RequirementsRewriter:
|
|
|
1986
1997
|
# Apache License, Version 2.0, and the BSD License. See the LICENSE file in the root of this repository for complete
|
|
1987
1998
|
# details.
|
|
1988
1999
|
# https://github.com/pypa/packaging/blob/2c885fe91a54559e2382902dce28428ad2887be5/src/packaging/specifiers.py
|
|
1989
|
-
# ruff: noqa: UP006 UP007
|
|
1990
2000
|
|
|
1991
2001
|
|
|
1992
2002
|
##
|
|
@@ -2492,7 +2502,6 @@ TODO:
|
|
|
2492
2502
|
- translate json keys
|
|
2493
2503
|
- debug
|
|
2494
2504
|
"""
|
|
2495
|
-
# ruff: noqa: UP006 UP007 N802
|
|
2496
2505
|
|
|
2497
2506
|
|
|
2498
2507
|
log = logging.getLogger(__name__)
|
|
@@ -2691,46 +2700,51 @@ def configure_standard_logging(
|
|
|
2691
2700
|
*,
|
|
2692
2701
|
json: bool = False,
|
|
2693
2702
|
target: ta.Optional[logging.Logger] = None,
|
|
2694
|
-
|
|
2703
|
+
force: bool = False,
|
|
2695
2704
|
) -> ta.Optional[StandardLogHandler]:
|
|
2696
|
-
|
|
2697
|
-
|
|
2705
|
+
logging._acquireLock() # type: ignore # noqa
|
|
2706
|
+
try:
|
|
2707
|
+
if target is None:
|
|
2708
|
+
target = logging.root
|
|
2698
2709
|
|
|
2699
|
-
|
|
2710
|
+
#
|
|
2700
2711
|
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
|
|
2712
|
+
if not force:
|
|
2713
|
+
if any(isinstance(h, StandardLogHandler) for h in list(target.handlers)):
|
|
2714
|
+
return None
|
|
2704
2715
|
|
|
2705
|
-
|
|
2716
|
+
#
|
|
2706
2717
|
|
|
2707
|
-
|
|
2718
|
+
handler = logging.StreamHandler()
|
|
2708
2719
|
|
|
2709
|
-
|
|
2720
|
+
#
|
|
2710
2721
|
|
|
2711
|
-
|
|
2712
|
-
|
|
2713
|
-
|
|
2714
|
-
|
|
2715
|
-
|
|
2716
|
-
|
|
2722
|
+
formatter: logging.Formatter
|
|
2723
|
+
if json:
|
|
2724
|
+
formatter = JsonLogFormatter()
|
|
2725
|
+
else:
|
|
2726
|
+
formatter = StandardLogFormatter(StandardLogFormatter.build_log_format(STANDARD_LOG_FORMAT_PARTS))
|
|
2727
|
+
handler.setFormatter(formatter)
|
|
2717
2728
|
|
|
2718
|
-
|
|
2729
|
+
#
|
|
2719
2730
|
|
|
2720
|
-
|
|
2731
|
+
handler.addFilter(TidLogFilter())
|
|
2721
2732
|
|
|
2722
|
-
|
|
2733
|
+
#
|
|
2723
2734
|
|
|
2724
|
-
|
|
2735
|
+
target.addHandler(handler)
|
|
2725
2736
|
|
|
2726
|
-
|
|
2737
|
+
#
|
|
2727
2738
|
|
|
2728
|
-
|
|
2729
|
-
|
|
2739
|
+
if level is not None:
|
|
2740
|
+
target.setLevel(level)
|
|
2730
2741
|
|
|
2731
|
-
|
|
2742
|
+
#
|
|
2732
2743
|
|
|
2733
|
-
|
|
2744
|
+
return StandardLogHandler(handler)
|
|
2745
|
+
|
|
2746
|
+
finally:
|
|
2747
|
+
logging._releaseLock() # type: ignore # noqa
|
|
2734
2748
|
|
|
2735
2749
|
|
|
2736
2750
|
########################################
|
|
@@ -2740,7 +2754,6 @@ TODO:
|
|
|
2740
2754
|
- pickle stdlib objs? have to pin to 3.8 pickle protocol, will be cross-version
|
|
2741
2755
|
- nonstrict toggle
|
|
2742
2756
|
"""
|
|
2743
|
-
# ruff: noqa: UP006 UP007
|
|
2744
2757
|
|
|
2745
2758
|
|
|
2746
2759
|
##
|
|
@@ -3056,7 +3069,6 @@ def check_runtime_version() -> None:
|
|
|
3056
3069
|
|
|
3057
3070
|
########################################
|
|
3058
3071
|
# ../../interp/types.py
|
|
3059
|
-
# ruff: noqa: UP006
|
|
3060
3072
|
|
|
3061
3073
|
|
|
3062
3074
|
# See https://peps.python.org/pep-3149/
|
|
@@ -3148,7 +3160,6 @@ class Interp:
|
|
|
3148
3160
|
|
|
3149
3161
|
########################################
|
|
3150
3162
|
# ../configs.py
|
|
3151
|
-
# ruff: noqa: UP006 UP007
|
|
3152
3163
|
|
|
3153
3164
|
|
|
3154
3165
|
@dc.dataclass(frozen=True)
|
|
@@ -3252,7 +3263,6 @@ TODO:
|
|
|
3252
3263
|
- omlish-lite, move to pyproject/
|
|
3253
3264
|
- vendor-lite wheel.wheelfile
|
|
3254
3265
|
"""
|
|
3255
|
-
# ruff: noqa: TCH003 UP006 UP007
|
|
3256
3266
|
|
|
3257
3267
|
|
|
3258
3268
|
##
|
|
@@ -3392,7 +3402,6 @@ class GitRevisionAdder:
|
|
|
3392
3402
|
|
|
3393
3403
|
########################################
|
|
3394
3404
|
# ../../../omlish/lite/subprocesses.py
|
|
3395
|
-
# ruff: noqa: UP006 UP007
|
|
3396
3405
|
|
|
3397
3406
|
|
|
3398
3407
|
##
|
|
@@ -3499,7 +3508,6 @@ def subprocess_try_output_str(*args: str, **kwargs: ta.Any) -> ta.Optional[str]:
|
|
|
3499
3508
|
|
|
3500
3509
|
########################################
|
|
3501
3510
|
# ../../interp/inspect.py
|
|
3502
|
-
# ruff: noqa: UP006 UP007
|
|
3503
3511
|
|
|
3504
3512
|
|
|
3505
3513
|
@dc.dataclass(frozen=True)
|
|
@@ -3622,7 +3630,6 @@ https://pip.pypa.io/en/stable/cli/pip_install/#vcs-support
|
|
|
3622
3630
|
vcs+protocol://repo_url/#egg=pkg&subdirectory=pkg_dir
|
|
3623
3631
|
'git+https://github.com/wrmsr/omlish@master#subdirectory=.pip/omlish'
|
|
3624
3632
|
""" # noqa
|
|
3625
|
-
# ruff: noqa: UP006 UP007
|
|
3626
3633
|
|
|
3627
3634
|
|
|
3628
3635
|
#
|
|
@@ -3742,13 +3749,12 @@ class BasePyprojectPackageGenerator(abc.ABC):
|
|
|
3742
3749
|
build_output_dir: ta.Optional[str] = None,
|
|
3743
3750
|
*,
|
|
3744
3751
|
add_revision: bool = False,
|
|
3752
|
+
test: bool = False,
|
|
3745
3753
|
) -> None:
|
|
3746
|
-
|
|
3747
|
-
|
|
3748
|
-
|
|
3749
|
-
|
|
3750
|
-
'build',
|
|
3751
|
-
],
|
|
3754
|
+
subprocess_check_call(
|
|
3755
|
+
sys.executable,
|
|
3756
|
+
'-m',
|
|
3757
|
+
'build',
|
|
3752
3758
|
cwd=self._pkg_dir(),
|
|
3753
3759
|
)
|
|
3754
3760
|
|
|
@@ -3757,6 +3763,25 @@ class BasePyprojectPackageGenerator(abc.ABC):
|
|
|
3757
3763
|
if add_revision:
|
|
3758
3764
|
GitRevisionAdder().add_to(dist_dir)
|
|
3759
3765
|
|
|
3766
|
+
if test:
|
|
3767
|
+
for fn in os.listdir(dist_dir):
|
|
3768
|
+
tmp_dir = tempfile.mkdtemp()
|
|
3769
|
+
|
|
3770
|
+
subprocess_check_call(
|
|
3771
|
+
sys.executable,
|
|
3772
|
+
'-m', 'venv',
|
|
3773
|
+
'test-install',
|
|
3774
|
+
cwd=tmp_dir,
|
|
3775
|
+
)
|
|
3776
|
+
|
|
3777
|
+
subprocess_check_call(
|
|
3778
|
+
os.path.join(tmp_dir, 'test-install', 'bin', 'python3'),
|
|
3779
|
+
'-m', 'pip',
|
|
3780
|
+
'install',
|
|
3781
|
+
os.path.abspath(os.path.join(dist_dir, fn)),
|
|
3782
|
+
cwd=tmp_dir,
|
|
3783
|
+
)
|
|
3784
|
+
|
|
3760
3785
|
if build_output_dir is not None:
|
|
3761
3786
|
for fn in os.listdir(dist_dir):
|
|
3762
3787
|
shutil.copyfile(os.path.join(dist_dir, fn), os.path.join(build_output_dir, fn))
|
|
@@ -3836,6 +3861,7 @@ class PyprojectPackageGenerator(BasePyprojectPackageGenerator):
|
|
|
3836
3861
|
st.pop('cexts', None)
|
|
3837
3862
|
|
|
3838
3863
|
self._move_dict_key(st, 'find_packages', pyp_dct, 'tool.setuptools.packages.find')
|
|
3864
|
+
self._move_dict_key(st, 'package_data', pyp_dct, 'tool.setuptools.package-data')
|
|
3839
3865
|
|
|
3840
3866
|
mani_in = st.pop('manifest_in', None)
|
|
3841
3867
|
|
|
@@ -3918,9 +3944,14 @@ class _PyprojectCextPackageGenerator(BasePyprojectPackageGenerator):
|
|
|
3918
3944
|
st = specs.setuptools
|
|
3919
3945
|
pyp_dct['tool.setuptools'] = st
|
|
3920
3946
|
|
|
3921
|
-
|
|
3922
|
-
|
|
3923
|
-
|
|
3947
|
+
for k in [
|
|
3948
|
+
'cexts',
|
|
3949
|
+
|
|
3950
|
+
'find_packages',
|
|
3951
|
+
'package_data',
|
|
3952
|
+
'manifest_in',
|
|
3953
|
+
]:
|
|
3954
|
+
st.pop(k, None)
|
|
3924
3955
|
|
|
3925
3956
|
pyp_dct['tool.setuptools.packages.find'] = {
|
|
3926
3957
|
'include': [],
|
|
@@ -4038,7 +4069,6 @@ TODO:
|
|
|
4038
4069
|
- optionally install / upgrade pyenv itself
|
|
4039
4070
|
- new vers dont need these custom mac opts, only run on old vers
|
|
4040
4071
|
"""
|
|
4041
|
-
# ruff: noqa: UP006 UP007
|
|
4042
4072
|
|
|
4043
4073
|
|
|
4044
4074
|
##
|
|
@@ -4433,7 +4463,6 @@ TODO:
|
|
|
4433
4463
|
- python, python3, python3.12, ...
|
|
4434
4464
|
- check if path py's are venvs: sys.prefix != sys.base_prefix
|
|
4435
4465
|
"""
|
|
4436
|
-
# ruff: noqa: UP006 UP007
|
|
4437
4466
|
|
|
4438
4467
|
|
|
4439
4468
|
##
|
|
@@ -4542,7 +4571,6 @@ class SystemInterpProvider(InterpProvider):
|
|
|
4542
4571
|
|
|
4543
4572
|
########################################
|
|
4544
4573
|
# ../../interp/resolvers.py
|
|
4545
|
-
# ruff: noqa: UP006 UP007
|
|
4546
4574
|
|
|
4547
4575
|
|
|
4548
4576
|
INTERP_PROVIDER_TYPES_BY_NAME: ta.Mapping[str, ta.Type[InterpProvider]] = {
|
omdev/tools/dockertools.py
CHANGED
|
@@ -1,11 +1,18 @@
|
|
|
1
|
+
"""
|
|
2
|
+
TODO:
|
|
3
|
+
- check for updates
|
|
4
|
+
"""
|
|
1
5
|
import os
|
|
6
|
+
import re
|
|
2
7
|
import shutil
|
|
3
8
|
import subprocess
|
|
9
|
+
import typing as ta
|
|
4
10
|
|
|
5
11
|
from omlish import argparse as ap
|
|
6
12
|
from omlish import check
|
|
7
13
|
from omlish import lang
|
|
8
14
|
from omlish import logs
|
|
15
|
+
from omlish.formats import yaml
|
|
9
16
|
|
|
10
17
|
|
|
11
18
|
@lang.cached_function
|
|
@@ -75,6 +82,101 @@ class Cli(ap.Cli):
|
|
|
75
82
|
'sh', '-c', 'echo 0 > /proc/sys/kernel/yama/ptrace_scope',
|
|
76
83
|
)
|
|
77
84
|
|
|
85
|
+
@ap.command(
|
|
86
|
+
ap.arg('-f', '--file'),
|
|
87
|
+
ap.arg('-w', '--write', action='store_true'),
|
|
88
|
+
ap.arg('-q', '--quiet', action='store_true'),
|
|
89
|
+
ap.arg('base', type=int),
|
|
90
|
+
)
|
|
91
|
+
def reset_compose_ports(self) -> None:
|
|
92
|
+
base_port = int(self.args.base)
|
|
93
|
+
if not base_port:
|
|
94
|
+
raise Exception('Invalid base port')
|
|
95
|
+
|
|
96
|
+
if self.args.file:
|
|
97
|
+
yml_file = self.args.file
|
|
98
|
+
else:
|
|
99
|
+
yml_file = os.path.join('docker', 'compose.yml')
|
|
100
|
+
|
|
101
|
+
with open(yml_file) as f:
|
|
102
|
+
yml_src = f.read()
|
|
103
|
+
|
|
104
|
+
#
|
|
105
|
+
|
|
106
|
+
port_pat = re.compile(r'(?P<l>\d+):(?P<r>\d+)')
|
|
107
|
+
port_line_pat = re.compile(r"( )+- '(?P<l>\d+):(?P<r>\d+)'\s*")
|
|
108
|
+
|
|
109
|
+
class PortEntry(ta.NamedTuple):
|
|
110
|
+
l: int
|
|
111
|
+
s: str
|
|
112
|
+
|
|
113
|
+
dct: dict[str, list[PortEntry]] = {}
|
|
114
|
+
|
|
115
|
+
with lang.disposing(yaml.WrappedLoaders.base(yml_src)) as loader:
|
|
116
|
+
val = check.not_none(loader.get_single_data()) # type: ignore
|
|
117
|
+
root = check.isinstance(val.value, ta.Mapping)
|
|
118
|
+
|
|
119
|
+
services = check.isinstance(
|
|
120
|
+
check.single(
|
|
121
|
+
v.value # type: ignore
|
|
122
|
+
for k, v in root.items()
|
|
123
|
+
if k.value == 'services' # type: ignore
|
|
124
|
+
),
|
|
125
|
+
ta.Mapping,
|
|
126
|
+
)
|
|
127
|
+
for name_w, cfg_w in services.items():
|
|
128
|
+
name = check.isinstance(name_w.value, str) # type: ignore
|
|
129
|
+
cfg = check.isinstance(cfg_w.value, ta.Mapping) # type: ignore
|
|
130
|
+
|
|
131
|
+
ports = check.opt_single(v.value for k, v in cfg.items() if k.value == 'ports') # type: ignore
|
|
132
|
+
if not ports:
|
|
133
|
+
continue
|
|
134
|
+
|
|
135
|
+
lst: list[PortEntry] = []
|
|
136
|
+
for port_w in ports:
|
|
137
|
+
port = check.isinstance(port_w.value, str)
|
|
138
|
+
if not re.fullmatch(port_pat, port):
|
|
139
|
+
raise Exception(f'Bad port: {port}')
|
|
140
|
+
|
|
141
|
+
lst.append(PortEntry(
|
|
142
|
+
l=port_w.node.start_mark.line,
|
|
143
|
+
s=port,
|
|
144
|
+
))
|
|
145
|
+
|
|
146
|
+
dct[name] = lst
|
|
147
|
+
|
|
148
|
+
#
|
|
149
|
+
|
|
150
|
+
src_lines = yml_src.splitlines(keepends=True)
|
|
151
|
+
cur_port = base_port
|
|
152
|
+
|
|
153
|
+
for ps in dct.values():
|
|
154
|
+
for p in ps:
|
|
155
|
+
l = src_lines[p.l]
|
|
156
|
+
if not (m := port_line_pat.fullmatch(l)):
|
|
157
|
+
raise Exception(f'Bad port line: {p} {l!r}')
|
|
158
|
+
|
|
159
|
+
p_l, p_r = map(int, p.s.split(':'))
|
|
160
|
+
l_l, l_r = map(int, [(gd := m.groupdict())['l'], gd['r']])
|
|
161
|
+
if p_l != l_l or p_r != l_r:
|
|
162
|
+
raise Exception(f'Port mismatch: {p}')
|
|
163
|
+
|
|
164
|
+
new_l = l.partition("'")[0] + f"'{cur_port}:{l_r}'\n"
|
|
165
|
+
src_lines[p.l] = new_l
|
|
166
|
+
|
|
167
|
+
cur_port += 1
|
|
168
|
+
|
|
169
|
+
new_src = ''.join(src_lines)
|
|
170
|
+
|
|
171
|
+
#
|
|
172
|
+
|
|
173
|
+
if not self.args.quiet:
|
|
174
|
+
print(new_src)
|
|
175
|
+
|
|
176
|
+
if self.args.write:
|
|
177
|
+
with open(yml_file, 'w') as f:
|
|
178
|
+
f.write(new_src)
|
|
179
|
+
|
|
78
180
|
|
|
79
181
|
if __name__ == '__main__':
|
|
80
182
|
logs.configure_standard_logging('INFO')
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: omdev
|
|
3
|
-
Version: 0.0.0.
|
|
3
|
+
Version: 0.0.0.dev26
|
|
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.
|
|
15
|
+
Requires-Dist: omlish ==0.0.0.dev26
|
|
16
16
|
Provides-Extra: all
|
|
17
17
|
Requires-Dist: pycparser ~=2.22 ; extra == 'all'
|
|
18
18
|
Requires-Dist: cffi ~=1.17 ; extra == 'all'
|
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
omdev/__about__.py,sha256=788lo_UuOSYF74y1RBiNlWkDdPnRFcmBAV5qYkaFJzE,868
|
|
2
2
|
omdev/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
+
omdev/_manifests.json,sha256=N1F-Xz3GaBn2H1p7uKzhkhKCQV8QVR0t76XD6wmFtXA,3
|
|
3
4
|
omdev/bracepy.py,sha256=HwBK5XmlOsF_juTel25fRLJK9vHSJCWXuCc-OZlevRQ,2619
|
|
4
5
|
omdev/classdot.py,sha256=urN5Pzd2ooAwnfkH0z-muQxdO90IMo-sX2WB-A37lVU,1533
|
|
5
6
|
omdev/cmake.py,sha256=Diy2ry65806dQP125DAstD3w46z_wszMH7PwC2-6iik,4578
|
|
6
7
|
omdev/findimports.py,sha256=P8v4I1tm6g-PEWJiNwAKxErvWwL-Nop83vAuwq1kR5A,2246
|
|
7
|
-
omdev/findmagic.py,sha256=
|
|
8
|
+
omdev/findmagic.py,sha256=DhBYHHP_dzwM5pIh21xnQPnkZ2YmAXCjithsr7X0ScU,2357
|
|
9
|
+
omdev/git.py,sha256=TgZ3V38DbBMhcKm6fZdQr4bKygRCLC-nMNUL5HYcIHc,1277
|
|
10
|
+
omdev/manifests.py,sha256=sXK8D7FY-oGsOoLH4xdYNgrOJnuD9eBIwMjpTGWylIc,6620
|
|
8
11
|
omdev/revisions.py,sha256=kYrYoxmUkpwgbmLEijHu5bwjyOxggCt8N6bnWFwA-60,5392
|
|
9
12
|
omdev/tokens.py,sha256=GusxQ1Cd_eiScuR8XTTtc9QFhOgYviYGBZmFnn3Hj7s,756
|
|
10
13
|
omdev/wheelfile.py,sha256=yfupGcGkbFlmzGzKU64k_vmOKpaKnUlDWxeGn2KdekU,10005
|
|
11
14
|
omdev/amalg/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
15
|
omdev/amalg/__main__.py,sha256=OE1udULO1g4McUbeg1CoHbSm4hbQ2kcE3ffEGxlnPh4,69
|
|
13
|
-
omdev/amalg/amalg.py,sha256=
|
|
16
|
+
omdev/amalg/amalg.py,sha256=g7wwcPE2G9qmzh8M9eZAscOYWKo3ldI8bNxEXFnmzLE,14064
|
|
14
17
|
omdev/cexts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
-
omdev/cexts/
|
|
18
|
+
omdev/cexts/_boilerplate.cc,sha256=aOWF_5C2pqnIrkT1ykEaL7N2pIpamW6pdXriRbd3lvs,1725
|
|
19
|
+
omdev/cexts/build.py,sha256=F3z1-CjDlEM-Gzi5IunKUBO52qdH_pMsFylobTdGJnI,2654
|
|
16
20
|
omdev/cexts/cmake.py,sha256=WiGcxmsI9dGQ5rM5ByMtHdG_MBP1dhj3gkbwUWY9rm8,9741
|
|
17
|
-
omdev/cexts/importhook.py,sha256=
|
|
21
|
+
omdev/cexts/importhook.py,sha256=ko0KRxah_ZHhLVcCigYIIDvNHCfHpJ8qhmmuHKbCOt4,3546
|
|
18
22
|
omdev/cexts/magic.py,sha256=LhC31I2GiCq3NRU5dpy_9do6IVjhdGu58uPPFffQx5Q,135
|
|
19
23
|
omdev/cexts/scan.py,sha256=_U5DX9ksHP1845PdGxWh4Rf1a6x_sG1MH3uL_hwBnKY,1669
|
|
24
|
+
omdev/cexts/_distutils/LICENSE,sha256=22p14FIRp3F4Cb7Mj_GK33PKr25issFGHC2JN6dg9vc,1023
|
|
20
25
|
omdev/cexts/_distutils/__init__.py,sha256=c1zImtnPh3uY8BUTV4RLKtGKqTPx3c_pBbhA6tPtNsE,297
|
|
21
26
|
omdev/cexts/_distutils/build_ext.py,sha256=STHl9Rq2KeWJ3dQ8j8LwIQ-vFc4-3XsYWQ8Qc5_VByU,13833
|
|
22
27
|
omdev/cexts/_distutils/dir_util.py,sha256=xxfAIPHbjlh-aW9OX6UGDrXiXfB5biG4xEC5RA6oszM,2882
|
|
@@ -32,6 +37,12 @@ omdev/cexts/_distutils/compilers/__init__.py,sha256=amL_zrFlba0lHIvpqDne9uhqhLem
|
|
|
32
37
|
omdev/cexts/_distutils/compilers/ccompiler.py,sha256=cTs88qrvj0hBVXHfemSDE_du_nEA4_qo3Qst5TpQkVI,43606
|
|
33
38
|
omdev/cexts/_distutils/compilers/options.py,sha256=H7r5IcLvga5Fs3jjXWIT-6ap3JBduXRKgtpDmSGCZxs,3818
|
|
34
39
|
omdev/cexts/_distutils/compilers/unixccompiler.py,sha256=o1h8QuyupLntv4F21_XjzAZmCiwwxJuTmOirvBSL-Qw,15419
|
|
40
|
+
omdev/datacache/__init__.py,sha256=OUHQqJgp8q1xnQYJfV21EcXDzjn1k69QCFoT9KThl9s,297
|
|
41
|
+
omdev/datacache/cache.py,sha256=EBugj3D5pDV4YkDHhE0ZJ54S7eug2kgv2yiQZcfvNT0,4238
|
|
42
|
+
omdev/datacache/consts.py,sha256=hv1M8MOHgivZuFLUm6UVHQWcv7Daksr3mED6EyyoiEg,20
|
|
43
|
+
omdev/datacache/default.py,sha256=93gc6cFb3Av5HNE-RKmkCrcXRtxX02p1RlNzFqraKtI,1157
|
|
44
|
+
omdev/datacache/manifests.py,sha256=mGW7g9h8KMDO8ihvdGKrqe8XyFW9Cv9VM6etXZlZQ-4,975
|
|
45
|
+
omdev/datacache/specs.py,sha256=4wRFwgtHxjNOIPKZduv9xMcCtizawxr53CsSQt7r__s,2256
|
|
35
46
|
omdev/interp/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
|
|
36
47
|
omdev/interp/__main__.py,sha256=gFhR9DikwDZk0LqgdR3qq_aXQHThUOPllDmHDOfnFAU,67
|
|
37
48
|
omdev/interp/cli.py,sha256=8T3qLXTC2mni5FXDHkHN3mZG9_BnjkDMXYy6EYbAYR8,1679
|
|
@@ -52,18 +63,18 @@ omdev/pyproject/__main__.py,sha256=gFhR9DikwDZk0LqgdR3qq_aXQHThUOPllDmHDOfnFAU,6
|
|
|
52
63
|
omdev/pyproject/cexts.py,sha256=x13piOOnNrYbA17qZLDVuR0p1sqhgEwpk4FtImX-klM,4281
|
|
53
64
|
omdev/pyproject/cli.py,sha256=qBVsQDcNSCC3i78X9jFlPZ3ahDSY-0OD0UN1mbqLgYE,10649
|
|
54
65
|
omdev/pyproject/configs.py,sha256=K9H5cGwVLgHi8wKwtYvlXHZ9ThtmnI4jo8JAb-t1-70,2859
|
|
55
|
-
omdev/pyproject/pkg.py,sha256=
|
|
66
|
+
omdev/pyproject/pkg.py,sha256=DavdxE3RsjyXgAmhiDsgGtcjmyzBm6PfihnQo9lwHQc,10654
|
|
56
67
|
omdev/pyproject/reqs.py,sha256=coq21cdWQIPs06-iuRnwc6F2Sf-IxpqoT6DEMhol2kA,2298
|
|
57
68
|
omdev/scripts/__init__.py,sha256=MKCvUAEQwsIvwLixwtPlpBqmkMXLCnjjXyAXvVpDwVk,91
|
|
58
69
|
omdev/scripts/bumpversion.py,sha256=Kn7fo73Hs8uJh3Hi3EIyLOlzLPWAC6dwuD_lZ3cIzuY,1064
|
|
59
70
|
omdev/scripts/execrss.py,sha256=HzDNmwXOO8fMwIRXw9q8CUnVfLFCQASyU2tfY_y2Vf8,324
|
|
60
|
-
omdev/scripts/interp.py,sha256=
|
|
61
|
-
omdev/scripts/pyproject.py,sha256=
|
|
71
|
+
omdev/scripts/interp.py,sha256=uvQ-IBqNFuWWKP5W_Xxmi_NzZX5vV3Sw_ZYPTh1vXm8,68689
|
|
72
|
+
omdev/scripts/pyproject.py,sha256=u5e-IiETnyeS5-i6JIUmuDvgPEShMEJ8LN2ZxnbdxVI,148960
|
|
62
73
|
omdev/toml/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
|
|
63
74
|
omdev/toml/parser.py,sha256=84bn09uhYHwQGyfww6Rw6y1RxPAE_HDltODOSakcqDM,29186
|
|
64
75
|
omdev/toml/writer.py,sha256=dwz_Qw8z5Z_nmWpXqch63W6S_j6n256erb7AGFTVzB4,2872
|
|
65
76
|
omdev/tools/__init__.py,sha256=iVJAOQ0viGTQOm0DLX4uZLro-9jOioYJGLg9s0kDx1A,78
|
|
66
|
-
omdev/tools/dockertools.py,sha256=
|
|
77
|
+
omdev/tools/dockertools.py,sha256=0RoUThTqv4ySJZX0aufYeQWD2bp-BMplQ8Y4WvDpguA,5204
|
|
67
78
|
omdev/tools/gittools.py,sha256=zPy2D5WDs-CbwT86_T_hbaq5yCuss5e-ouUccXC6xlg,578
|
|
68
79
|
omdev/tools/importscan.py,sha256=XRLiasVSaTIp-jnO0-Nfhi0t6gnv_hVy5j2nVfEvuMI,3831
|
|
69
80
|
omdev/tools/importtrace.py,sha256=oDry9CwIv5h96wSaTVKJ0qQ5vMGxYE5oBtfF-GYNLJs,13430
|
|
@@ -72,8 +83,8 @@ omdev/tools/sqlrepl.py,sha256=v9uVQ4nvquSXcQVYIFq34ikumSILvKqzD6lUKLcncCE,5646
|
|
|
72
83
|
omdev/versioning/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
|
|
73
84
|
omdev/versioning/specifiers.py,sha256=6Odf9e6farwlPRsD_YqwTfYKG-BXn_dIcKtqfkhfodI,17432
|
|
74
85
|
omdev/versioning/versions.py,sha256=ei2eopEsJq3zSMJmezK1nzZgikgCdxFtnF3f69nCRZQ,12246
|
|
75
|
-
omdev-0.0.0.
|
|
76
|
-
omdev-0.0.0.
|
|
77
|
-
omdev-0.0.0.
|
|
78
|
-
omdev-0.0.0.
|
|
79
|
-
omdev-0.0.0.
|
|
86
|
+
omdev-0.0.0.dev26.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
|
|
87
|
+
omdev-0.0.0.dev26.dist-info/METADATA,sha256=hrw_5c90Y6M895gXQIhQkCKQNiefSsuhjnebfJ_zeAo,1252
|
|
88
|
+
omdev-0.0.0.dev26.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
|
89
|
+
omdev-0.0.0.dev26.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
|
|
90
|
+
omdev-0.0.0.dev26.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|