omdev 0.0.0.dev317__py3-none-any.whl → 0.0.0.dev318__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/.manifests.json +1 -1
- omdev/home/secrets.py +49 -0
- omdev/imgur.py +3 -0
- {omdev-0.0.0.dev317.dist-info → omdev-0.0.0.dev318.dist-info}/METADATA +2 -2
- {omdev-0.0.0.dev317.dist-info → omdev-0.0.0.dev318.dist-info}/RECORD +9 -9
- {omdev-0.0.0.dev317.dist-info → omdev-0.0.0.dev318.dist-info}/WHEEL +0 -0
- {omdev-0.0.0.dev317.dist-info → omdev-0.0.0.dev318.dist-info}/entry_points.txt +0 -0
- {omdev-0.0.0.dev317.dist-info → omdev-0.0.0.dev318.dist-info}/licenses/LICENSE +0 -0
- {omdev-0.0.0.dev317.dist-info → omdev-0.0.0.dev318.dist-info}/top_level.txt +0 -0
omdev/.manifests.json
CHANGED
omdev/home/secrets.py
CHANGED
@@ -39,3 +39,52 @@ def load_secrets() -> sec.Secrets:
|
|
39
39
|
except FileNotFoundError:
|
40
40
|
pass
|
41
41
|
return sec.MappingSecrets(dct)
|
42
|
+
|
43
|
+
|
44
|
+
##
|
45
|
+
|
46
|
+
|
47
|
+
def install_env_secrets(
|
48
|
+
*keys: str | tuple[str, str],
|
49
|
+
secrets: sec.Secrets | None = None,
|
50
|
+
environ: ta.MutableMapping[str, str] | None = None,
|
51
|
+
non_strict: bool = False,
|
52
|
+
) -> None:
|
53
|
+
"""This should not be used outside of being forced to interact with external code."""
|
54
|
+
|
55
|
+
if not keys:
|
56
|
+
raise ValueError('Must specify keys')
|
57
|
+
|
58
|
+
sk_ek_tups: list[tuple[str, str]] = []
|
59
|
+
for k in keys:
|
60
|
+
if isinstance(k, tuple):
|
61
|
+
sk, ek = k
|
62
|
+
|
63
|
+
elif isinstance(k, str):
|
64
|
+
if k.lower() == k:
|
65
|
+
sk, ek = k, k.upper()
|
66
|
+
elif k.upper() == k:
|
67
|
+
sk, ek = k.lower(), k
|
68
|
+
else:
|
69
|
+
raise ValueError(k)
|
70
|
+
|
71
|
+
else:
|
72
|
+
raise TypeError(k)
|
73
|
+
|
74
|
+
sk_ek_tups.append((sk, ek))
|
75
|
+
|
76
|
+
if secrets is None:
|
77
|
+
secrets = load_secrets()
|
78
|
+
|
79
|
+
if environ is None:
|
80
|
+
environ = os.environ
|
81
|
+
|
82
|
+
for sk, ek in sk_ek_tups:
|
83
|
+
try:
|
84
|
+
sv = secrets.get(sk)
|
85
|
+
except KeyError:
|
86
|
+
if non_strict:
|
87
|
+
continue
|
88
|
+
raise
|
89
|
+
|
90
|
+
environ[ek] = sv.reveal()
|
omdev/imgur.py
CHANGED
@@ -66,11 +66,14 @@ class ImageUploadData:
|
|
66
66
|
|
67
67
|
|
68
68
|
@dc.dataclass(frozen=True)
|
69
|
+
@msh.update_object_metadata(unknown_field='x')
|
69
70
|
class ImageUploadResponse:
|
70
71
|
status: int
|
71
72
|
success: bool
|
72
73
|
data: ImageUploadData
|
73
74
|
|
75
|
+
x: ta.Mapping[str, ta.Any] | None = None
|
76
|
+
|
74
77
|
|
75
78
|
DEFAULT_UPLOAD_IMAGE_URL = 'https://api.imgur.com/3/upload'
|
76
79
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: omdev
|
3
|
-
Version: 0.0.0.
|
3
|
+
Version: 0.0.0.dev318
|
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.dev318
|
16
16
|
Provides-Extra: all
|
17
17
|
Requires-Dist: black~=25.1; extra == "all"
|
18
18
|
Requires-Dist: pycparser~=2.22; extra == "all"
|
@@ -1,8 +1,8 @@
|
|
1
|
-
omdev/.manifests.json,sha256=
|
1
|
+
omdev/.manifests.json,sha256=7rHwJQCTz0jmkxij_rlIAw0D1A38Rb3QqcmJNiRIhOM,11257
|
2
2
|
omdev/__about__.py,sha256=16xa_1BdZanTpZbkjAOQ11_x5kJcb1m1tKdvb06J7VI,1202
|
3
3
|
omdev/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4
4
|
omdev/cmake.py,sha256=9rfSvFHPmKDj9ngvfDB2vK8O-xO_ZwUm7hMKLWA-yOw,4578
|
5
|
-
omdev/imgur.py,sha256=
|
5
|
+
omdev/imgur.py,sha256=4XolajBnAJ1U2zvT6Y0fiUyBi_a8G9arXffvPxf3w-M,3103
|
6
6
|
omdev/pip.py,sha256=PqzAWDO_CbiZvXzJAZcCkFqWynUDls1jIgBWlrswQyA,2012
|
7
7
|
omdev/tagstrings.py,sha256=zIP7nzcsZf5te0lphu6k36ND_cOvNFRg00neoTcoCs8,5484
|
8
8
|
omdev/amalg/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -129,7 +129,7 @@ omdev/git/shallow.py,sha256=pu2Dro9P7oUa-cpFkcscbay1bM6jLFfV5mevICzbjcE,2530
|
|
129
129
|
omdev/git/status.py,sha256=Yh3q9NGwLYwOQDQkR20B2g_Y0iJj5gCoiVoxo9cT7FA,8445
|
130
130
|
omdev/home/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
131
131
|
omdev/home/paths.py,sha256=zFplXTmdTs1PLe_tvZhDkkApHEpSRg-JKxZ0WVgb6P8,1325
|
132
|
-
omdev/home/secrets.py,sha256=
|
132
|
+
omdev/home/secrets.py,sha256=XarB-uhwjRc3dpT5ZF-9yoRPDr7kpyr4Hgs0I4kKL4I,1992
|
133
133
|
omdev/home/shadow.py,sha256=6mGDJV70IExa-nzd7mOUW4R3OZIXO0fBwmOUU9T9f4M,295
|
134
134
|
omdev/interp/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
|
135
135
|
omdev/interp/__main__.py,sha256=GMCqeGYltgt5dlJzHxY9gqisa8cRkrPfmZYuZnjg4WI,162
|
@@ -294,9 +294,9 @@ omdev/tools/json/rendering.py,sha256=3HhdlKSetS6iK1tjF2aILzsl8Mb3D8wW92vYwGpRdVA
|
|
294
294
|
omdev/tools/pawk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
295
295
|
omdev/tools/pawk/__main__.py,sha256=VCqeRVnqT1RPEoIrqHFSu4PXVMg4YEgF4qCQm90-eRI,66
|
296
296
|
omdev/tools/pawk/pawk.py,sha256=zsEkfQX0jF5bn712uqPAyBSdJt2dno1LH2oeSMNfXQI,11424
|
297
|
-
omdev-0.0.0.
|
298
|
-
omdev-0.0.0.
|
299
|
-
omdev-0.0.0.
|
300
|
-
omdev-0.0.0.
|
301
|
-
omdev-0.0.0.
|
302
|
-
omdev-0.0.0.
|
297
|
+
omdev-0.0.0.dev318.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
|
298
|
+
omdev-0.0.0.dev318.dist-info/METADATA,sha256=awBTNUcW9bms_VEuJZKZdFQziCsMQ1UB9dU4zSfh9jQ,1674
|
299
|
+
omdev-0.0.0.dev318.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
|
300
|
+
omdev-0.0.0.dev318.dist-info/entry_points.txt,sha256=dHLXFmq5D9B8qUyhRtFqTGWGxlbx3t5ejedjrnXNYLU,33
|
301
|
+
omdev-0.0.0.dev318.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
|
302
|
+
omdev-0.0.0.dev318.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|