reykit 1.1.30__py3-none-any.whl → 1.1.32__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.
reykit/rbase.py
CHANGED
@@ -20,7 +20,7 @@ from traceback import format_stack, extract_stack
|
|
20
20
|
from atexit import register as atexit_register
|
21
21
|
from time import sleep as time_sleep
|
22
22
|
from inspect import signature as inspect_signature, _ParameterKind, _empty
|
23
|
-
from ast import Starred
|
23
|
+
from ast import AST, Name, Attribute, Call, Starred, keyword, dump as ast_dump
|
24
24
|
from varname import VarnameException, argname as varname_argname
|
25
25
|
|
26
26
|
|
@@ -56,6 +56,7 @@ __all__ = (
|
|
56
56
|
'get_stack_text',
|
57
57
|
'get_stack_param',
|
58
58
|
'get_arg_info',
|
59
|
+
'get_astname',
|
59
60
|
'get_varname',
|
60
61
|
'block',
|
61
62
|
'at_exit'
|
@@ -860,6 +861,39 @@ def get_arg_info(func: Callable) -> list[
|
|
860
861
|
return info
|
861
862
|
|
862
863
|
|
864
|
+
def get_astname(obj: AST) -> str:
|
865
|
+
"""
|
866
|
+
Get object mapping name of `ast` package.
|
867
|
+
|
868
|
+
Parameters
|
869
|
+
----------
|
870
|
+
obj : `AST` object.
|
871
|
+
|
872
|
+
Returns
|
873
|
+
-------
|
874
|
+
Mapping name.
|
875
|
+
"""
|
876
|
+
|
877
|
+
# Get.
|
878
|
+
match obj:
|
879
|
+
case Name():
|
880
|
+
name = obj.id
|
881
|
+
case Attribute():
|
882
|
+
name = obj.attr
|
883
|
+
case Call():
|
884
|
+
name = obj.func
|
885
|
+
case Starred() | keyword():
|
886
|
+
name = obj.value
|
887
|
+
case _:
|
888
|
+
name = ast_dump(obj)
|
889
|
+
|
890
|
+
# Again.
|
891
|
+
if type(name) != str:
|
892
|
+
name = get_astname(name)
|
893
|
+
|
894
|
+
return name
|
895
|
+
|
896
|
+
|
863
897
|
def get_varname(argname: str, level: int = 1) -> str | list[str] | None:
|
864
898
|
"""
|
865
899
|
Get variable name of function input argument, can backtrack.
|
@@ -883,24 +917,21 @@ def get_varname(argname: str, level: int = 1) -> str | list[str] | None:
|
|
883
917
|
|
884
918
|
# Get.
|
885
919
|
try:
|
886
|
-
|
920
|
+
varnames: str | AST | tuple[str | AST, ...] = varname_argname(argname, frame=level)
|
887
921
|
except VarnameException:
|
888
922
|
return
|
889
923
|
|
890
|
-
#
|
891
|
-
if type(
|
892
|
-
|
893
|
-
|
894
|
-
|
895
|
-
|
896
|
-
|
897
|
-
|
898
|
-
|
899
|
-
|
900
|
-
|
901
|
-
else (elem,)
|
902
|
-
)
|
903
|
-
]
|
924
|
+
# Handle type AST.
|
925
|
+
if type(varnames) == tuple:
|
926
|
+
varnames = [
|
927
|
+
get_astname(varname)
|
928
|
+
if type(varnames) != str
|
929
|
+
else varname
|
930
|
+
for varname in varnames
|
931
|
+
]
|
932
|
+
else:
|
933
|
+
if type(varnames) != str:
|
934
|
+
varnames = get_astname(varnames)
|
904
935
|
|
905
936
|
return varnames
|
906
937
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
reykit/__init__.py,sha256=V86CHqPAAVkooVx3_QIOKpDIFVneQCTTSwfJ-uWgBno,788
|
2
2
|
reykit/rall.py,sha256=7Hip02YOkIDm3_xkoSDjvvYV2LhdBV2r4UKzWWnIfIo,628
|
3
|
-
reykit/rbase.py,sha256=
|
3
|
+
reykit/rbase.py,sha256=6hYy_IGUuogIvTrN4p7adaElLuoYvLL80dMFSySqmGo,22990
|
4
4
|
reykit/rdata.py,sha256=COe2VVGaUV0L1MD6PB7zL8treVNehVFqJELbm7wAvs0,9471
|
5
5
|
reykit/remail.py,sha256=s7TXbLgEWEqNoeM42c6FpPufB2LajHgQuahfZri3urQ,6706
|
6
6
|
reykit/rimage.py,sha256=p7caatLE71yy7GUTkTKyMOaJTeBfl6pZr_7BFjcDvY8,6159
|
@@ -22,7 +22,7 @@ reykit/rwrap.py,sha256=RK3wlc2cd-lnAvzqzvKsS21EtCmBNTA3i8HRbaolWE4,15275
|
|
22
22
|
reykit/rzip.py,sha256=ABUDLwEHQIpcvZbJE_oV78H7dik6nC7kaRz660Ro9Os,3481
|
23
23
|
reykit/rdll/__init__.py,sha256=tdKb-BOKLFn-diCvXjSLg9x71VuRKzkg2KtpOLGLTR4,679
|
24
24
|
reykit/rdll/rdll_core.py,sha256=o6-rKcTQgxZQe0kD3GnwyNb3KL9IogzgCQNOmYLMm7A,5086
|
25
|
-
reykit-1.1.
|
26
|
-
reykit-1.1.
|
27
|
-
reykit-1.1.
|
28
|
-
reykit-1.1.
|
25
|
+
reykit-1.1.32.dist-info/METADATA,sha256=6oIOTt0_vB0G9wd-8QQ4ne0_MUXD6gPYZGpBTTSZuME,1913
|
26
|
+
reykit-1.1.32.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
27
|
+
reykit-1.1.32.dist-info/licenses/LICENSE,sha256=UYLPqp7BvPiH8yEZduJqmmyEl6hlM3lKrFIefiD4rvk,1059
|
28
|
+
reykit-1.1.32.dist-info/RECORD,,
|
File without changes
|
File without changes
|