50 lines
964 B
Python
50 lines
964 B
Python
import os
|
|
import sys
|
|
|
|
from easyprocess import EasyProcess
|
|
|
|
from entrypoint2 import entrypoint
|
|
|
|
python = sys.executable
|
|
join = os.path.join
|
|
d = os.path.dirname(__file__)
|
|
|
|
prog = """
|
|
from entrypoint2 import entrypoint
|
|
@entrypoint
|
|
def func(param={value}):
|
|
print(type(param).__name__, repr(param))
|
|
"""
|
|
|
|
|
|
def run(value, param):
|
|
cmd = [python, "-c", prog.format(value=value), "--debug"]
|
|
if param == "noval":
|
|
cmd += ["--param"]
|
|
elif param == "nopar":
|
|
cmd += []
|
|
else:
|
|
for p in param.split(","):
|
|
cmd += ["--param", p]
|
|
p = EasyProcess(cmd).call()
|
|
if p.return_code != 0 or p.stderr != "":
|
|
return p.stderr.splitlines()[-1]
|
|
return p.stdout
|
|
|
|
|
|
@entrypoint
|
|
def add(param: str):
|
|
s = ""
|
|
for x in [
|
|
"None",
|
|
"'str'",
|
|
"b'bytes'",
|
|
"[]",
|
|
"1",
|
|
"1.1",
|
|
"False",
|
|
"True",
|
|
]:
|
|
s = "{} -> {}".format(x, run(x, param))
|
|
print(s)
|