omlish 0.0.0.dev63__py3-none-any.whl → 0.0.0.dev64__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- omlish/__about__.py +3 -3
- omlish/lang/classes/simple.py +19 -14
- {omlish-0.0.0.dev63.dist-info → omlish-0.0.0.dev64.dist-info}/METADATA +1 -1
- {omlish-0.0.0.dev63.dist-info → omlish-0.0.0.dev64.dist-info}/RECORD +8 -8
- {omlish-0.0.0.dev63.dist-info → omlish-0.0.0.dev64.dist-info}/LICENSE +0 -0
- {omlish-0.0.0.dev63.dist-info → omlish-0.0.0.dev64.dist-info}/WHEEL +0 -0
- {omlish-0.0.0.dev63.dist-info → omlish-0.0.0.dev64.dist-info}/entry_points.txt +0 -0
- {omlish-0.0.0.dev63.dist-info → omlish-0.0.0.dev64.dist-info}/top_level.txt +0 -0
omlish/__about__.py
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
__version__ = '0.0.0.
|
2
|
-
__revision__ = '
|
1
|
+
__version__ = '0.0.0.dev64'
|
2
|
+
__revision__ = '65b4d26bc20b482253b288f29eebe58b9ae531dd'
|
3
3
|
|
4
4
|
|
5
5
|
#
|
@@ -92,7 +92,7 @@ class Project(ProjectBase):
|
|
92
92
|
# 'psycopg ~= 3.2',
|
93
93
|
|
94
94
|
'pymysql ~= 1.1',
|
95
|
-
# 'mysql-connector-python ~= 9.
|
95
|
+
# 'mysql-connector-python ~= 9.1',
|
96
96
|
# 'mysqlclient ~= 2.2',
|
97
97
|
|
98
98
|
'aiomysql ~= 0.2',
|
omlish/lang/classes/simple.py
CHANGED
@@ -14,6 +14,17 @@ V = ta.TypeVar('V')
|
|
14
14
|
##
|
15
15
|
|
16
16
|
|
17
|
+
class SimpleMetaDict(dict):
|
18
|
+
def update(self, m: ta.Mapping[K, V], **kwargs: V) -> None: # type: ignore
|
19
|
+
for k, v in m.items():
|
20
|
+
self[k] = v
|
21
|
+
for k, v in kwargs.items(): # type: ignore
|
22
|
+
self[k] = v
|
23
|
+
|
24
|
+
|
25
|
+
##
|
26
|
+
|
27
|
+
|
17
28
|
class _NamespaceMeta(abc.ABCMeta):
|
18
29
|
def __new__(mcls, name, bases, namespace):
|
19
30
|
if bases:
|
@@ -23,9 +34,14 @@ class _NamespaceMeta(abc.ABCMeta):
|
|
23
34
|
return super().__new__(mcls, name, bases, namespace)
|
24
35
|
|
25
36
|
def __iter__(cls) -> ta.Iterator[tuple[str, ta.Any]]:
|
26
|
-
|
27
|
-
|
28
|
-
|
37
|
+
seen: set[str] = set()
|
38
|
+
for bcls in reversed(cls.__mro__):
|
39
|
+
for a in bcls.__dict__:
|
40
|
+
if a in seen:
|
41
|
+
continue
|
42
|
+
seen.add(a)
|
43
|
+
if not a.startswith('_'):
|
44
|
+
yield (a, getattr(cls, a))
|
29
45
|
|
30
46
|
def __getitem__(cls, n: str) -> ta.Any:
|
31
47
|
return getattr(cls, n)
|
@@ -75,17 +91,6 @@ class Marker(NotInstantiable, metaclass=_MarkerMeta):
|
|
75
91
|
##
|
76
92
|
|
77
93
|
|
78
|
-
class SimpleMetaDict(dict):
|
79
|
-
def update(self, m: ta.Mapping[K, V], **kwargs: V) -> None: # type: ignore
|
80
|
-
for k, v in m.items():
|
81
|
-
self[k] = v
|
82
|
-
for k, v in kwargs.items(): # type: ignore
|
83
|
-
self[k] = v
|
84
|
-
|
85
|
-
|
86
|
-
##
|
87
|
-
|
88
|
-
|
89
94
|
_SINGLETON_INSTANCE_ATTR = '__singleton_instance__'
|
90
95
|
_SINGLETON_LOCK = threading.RLock()
|
91
96
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
omlish/.manifests.json,sha256=jvyoQ7x8UJ9lpRgkh7eElwJ8qnzyG5aUGameT9Yk8GM,1419
|
2
|
-
omlish/__about__.py,sha256=
|
2
|
+
omlish/__about__.py,sha256=GXVeIGR5dUduDtgf1PYJSdJKJyBBSxbzWMxY1GQOHN8,3420
|
3
3
|
omlish/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4
4
|
omlish/argparse.py,sha256=XLrLFCLNY1RfbiXIAELkzHK-vUPum_9dyylEdJi9Pog,7068
|
5
5
|
omlish/c3.py,sha256=4vogWgwPb8TbNS2KkZxpoWbwjj7MuHG2lQG-hdtkvjI,8062
|
@@ -258,7 +258,7 @@ omlish/lang/typing.py,sha256=lJ2NGe4Pmb61I0Tx4A_rOqXNFTws1XHOzafg2knRUio,4155
|
|
258
258
|
omlish/lang/classes/__init__.py,sha256=h9QXrvAKD17_pIog0uF-7BCqZbSpJZYxL7kzVzvljp0,583
|
259
259
|
omlish/lang/classes/abstract.py,sha256=IRnjuLLNwpxvEJsp8fwoQdCIpw0MDAd0TiQfoDMgsn4,2306
|
260
260
|
omlish/lang/classes/restrict.py,sha256=pSK7ZT_kpwqS6lWRrxwuEe-tt07F0-uZVazgGh-HDco,3921
|
261
|
-
omlish/lang/classes/simple.py,sha256=
|
261
|
+
omlish/lang/classes/simple.py,sha256=XQ8b86WvQA0qtSYqlbMOJS7tHgE8sv9onda33uQmbkM,3294
|
262
262
|
omlish/lang/classes/virtual.py,sha256=W-QJuKsDehOcrydwg6eMN0bFPTYbk3Tz84TSH3blb44,3367
|
263
263
|
omlish/lifecycles/__init__.py,sha256=1FjYceXs-4fc-S-C9zFYmc2axHs4znnQHcJVHdY7a6E,578
|
264
264
|
omlish/lifecycles/abstract.py,sha256=70CQyZy-c9a2o0ZJxPeUT7eYjWZTBrp2HpUBnrHdAOM,1109
|
@@ -408,9 +408,9 @@ omlish/text/delimit.py,sha256=ubPXcXQmtbOVrUsNh5gH1mDq5H-n1y2R4cPL5_DQf68,4928
|
|
408
408
|
omlish/text/glyphsplit.py,sha256=Ug-dPRO7x-OrNNr8g1y6DotSZ2KH0S-VcOmUobwa4B0,3296
|
409
409
|
omlish/text/indent.py,sha256=6Jj6TFY9unaPa4xPzrnZemJ-fHsV53IamP93XGjSUHs,1274
|
410
410
|
omlish/text/parts.py,sha256=7vPF1aTZdvLVYJ4EwBZVzRSy8XB3YqPd7JwEnNGGAOo,6495
|
411
|
-
omlish-0.0.0.
|
412
|
-
omlish-0.0.0.
|
413
|
-
omlish-0.0.0.
|
414
|
-
omlish-0.0.0.
|
415
|
-
omlish-0.0.0.
|
416
|
-
omlish-0.0.0.
|
411
|
+
omlish-0.0.0.dev64.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
|
412
|
+
omlish-0.0.0.dev64.dist-info/METADATA,sha256=fd-7ozSHicCgpU4SOmqEUW7WJAsroSMO531X7vxMDVo,4167
|
413
|
+
omlish-0.0.0.dev64.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
414
|
+
omlish-0.0.0.dev64.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
|
415
|
+
omlish-0.0.0.dev64.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
|
416
|
+
omlish-0.0.0.dev64.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|