本文整理汇总了Python中pyshell.utils.parsing.Parser.parse方法的典型用法代码示例。如果您正苦于以下问题:Python Parser.parse方法的具体用法?Python Parser.parse怎么用?Python Parser.parse使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyshell.utils.parsing.Parser
的用法示例。
在下文中一共展示了Parser.parse方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_solving3
# 需要导入模块: from pyshell.utils.parsing import Parser [as 别名]
# 或者: from pyshell.utils.parsing.Parser import parse [as 别名]
def test_solving3(self):
p = Parser("titi")
p.parse()
s = Solver()
with pytest.raises(DefaultPyshellException):
s.solve(p, self.mltries, self.var)
示例2: test_escaping3
# 需要导入模块: from pyshell.utils.parsing import Parser [as 别名]
# 或者: from pyshell.utils.parsing.Parser import parse [as 别名]
def test_escaping3(self):
original = "-a$b | cde\nfg\\hi& "
s = escapeString(original, False)
assert s == "\\-a\\$b\\ \\|\\ cde\\\nfg\\\\hi\\&\\ "
p = Parser(s)
p.parse()
assert p == [((original,), (), (),)]
示例3: test_var5
# 需要导入模块: from pyshell.utils.parsing import Parser [as 别名]
# 或者: from pyshell.utils.parsing.Parser import parse [as 别名]
def test_var5(self):
p = Parser("plop $plop -param aa bb cc")
p.parse()
s = Solver()
self.var.setParameter("plop",
VariableParameter(("uhuh", "ihih", "ohoho",)))
solvingresult = s.solve(p, self.mltries, self.var)
commandList, argList, mappedArgsList, commandNameList = solvingresult
assert len(commandNameList) == 1
assert commandNameList[0] == ("plop",)
assert len(commandList) == 1
assert commandList[0] == self.mltries.search(("plop",)).getValue()
assert len(argList) == 1
assert len(argList[0]) == 3
assert argList[0] == ["uhuh", "ihih", "ohoho"]
assert len(mappedArgsList) == 1
assert len(mappedArgsList[0][0]) == 1
assert mappedArgsList[0][0]["param"] == ("aa", "bb", "cc",)
assert len(mappedArgsList[0][1]) == 0
assert len(mappedArgsList[0][2]) == 0
示例4: test_solvingParams10
# 需要导入模块: from pyshell.utils.parsing import Parser [as 别名]
# 或者: from pyshell.utils.parsing.Parser import parse [as 别名]
def test_solvingParams10(self):
@shellMethod(
param1=ListArgChecker(
DefaultChecker.getArg(),
maximum_size=3))
def tutu(param1):
pass
m = UniCommand(tutu)
self.mltries.insert(("tutu",), m)
p = Parser("tutu -param1 1 2")
p.parse()
s = Solver()
solvingresult = s.solve(p, self.mltries, self.var)
commandList, argList, mappedArgsList, commandNameList = solvingresult
assert len(commandNameList) == 1
assert commandNameList[0] == ("tutu",)
assert len(commandList) == 1
assert commandList[0] == self.mltries.search(("tutu",)).getValue()
assert len(mappedArgsList) == 1
assert len(mappedArgsList[0][0]) == 1
assert len(mappedArgsList[0][1]) == 0
assert len(mappedArgsList[0][2]) == 0
assert "param1" in mappedArgsList[0][0]
assert mappedArgsList[0][0]["param1"] == ("1", "2",)
assert len(argList[0]) == 0
示例5: test_solvingParams4
# 需要导入模块: from pyshell.utils.parsing import Parser [as 别名]
# 或者: from pyshell.utils.parsing.Parser import parse [as 别名]
def test_solvingParams4(self):
p = Parser("plop -toto 1 2 3")
p.parse()
assert p == [(('plop', '-toto', '1', '2', '3',), (), (1,),)]
s = Solver()
solvingresult = s.solve(p, self.mltries, self.var)
commandList, argList, mappedArgsList, commandNameList = solvingresult
assert len(commandNameList) == 1
assert commandNameList[0] == ("plop",)
assert len(commandList) == 1
assert commandList[0] == self.mltries.search(("plop",)).getValue()
assert len(mappedArgsList) == 1
assert len(mappedArgsList[0][0]) == 0
assert len(mappedArgsList[0][1]) == 0
assert len(mappedArgsList[0][2]) == 0
assert len(argList) == 1
assert len(argList[0]) == 4
assert argList[0] == ["-toto", "1", "2", "3"]
示例6: test_escaping2
# 需要导入模块: from pyshell.utils.parsing import Parser [as 别名]
# 或者: from pyshell.utils.parsing.Parser import parse [as 别名]
def test_escaping2(self):
original = "$p\"l$o\\p"
s = escapeString(original)
assert s == "\"\\$p\\\"l$o\\\\p\""
p = Parser(s)
p.parse()
assert p == [((original,), (), (),)]
示例7: test_solvingParams18
# 需要导入模块: from pyshell.utils.parsing import Parser [as 别名]
# 或者: from pyshell.utils.parsing.Parser import parse [as 别名]
def test_solvingParams18(self):
@shellMethod(boolean=BooleanValueArgChecker(), anything=ArgChecker())
def boo(boolean=False, anything=None):
pass
m = UniCommand(boo)
self.mltries.insert(("boo",), m)
p = Parser("boo -boolean tr -anything 123")
p.parse()
s = Solver()
solvingresult = s.solve(p, self.mltries, self.var)
commandList, argList, mappedArgsList, commandNameList = solvingresult
assert len(commandNameList) == 1
assert commandNameList[0] == ("boo",)
assert len(commandList) == 1
assert commandList[0] == self.mltries.search(("boo",)).getValue()
assert len(mappedArgsList) == 1
assert len(mappedArgsList[0][0]) == 2
assert len(mappedArgsList[0][1]) == 0
assert len(mappedArgsList[0][2]) == 0
assert "boolean" in mappedArgsList[0][0]
assert mappedArgsList[0][0]["boolean"] == ("tr",)
assert "anything" in mappedArgsList[0][0]
assert mappedArgsList[0][0]["anything"] == ("123",)
assert len(argList[0]) == 0
示例8: test_escaping1
# 需要导入模块: from pyshell.utils.parsing import Parser [as 别名]
# 或者: from pyshell.utils.parsing.Parser import parse [as 别名]
def test_escaping1(self):
original = "plop"
s = escapeString(original)
assert s == "\"plop\""
p = Parser(s)
p.parse()
assert p == [((original,), (), (),)]
示例9: test_execute7
# 需要导入模块: from pyshell.utils.parsing import Parser [as 别名]
# 或者: from pyshell.utils.parsing.Parser import parse [as 别名]
def test_execute7(self): # with empty parser
p = Parser("")
p.parse()
assert RESULT is None
last_exception, engine = execute(p, self.params)
assert last_exception is None
assert engine is None
assert RESULT is None
示例10: test_solving1
# 需要导入模块: from pyshell.utils.parsing import Parser [as 别名]
# 或者: from pyshell.utils.parsing.Parser import parse [as 别名]
def test_solving1(self): # ambiguous command
m = UniCommand(plopMeth)
self.mltries.insert(("plap",), m)
p = Parser("pl")
p.parse()
s = Solver()
with pytest.raises(DefaultPyshellException):
s.solve(p, self.mltries, self.var)
示例11: test_execute5
# 需要导入模块: from pyshell.utils.parsing import Parser [as 别名]
# 或者: from pyshell.utils.parsing.Parser import parse [as 别名]
def test_execute5(self): # with parser not parsed
p = Parser("plop 1 2 3")
p.parse()
assert RESULT is None
last_exception, engine = execute(p, self.params)
assert last_exception is None
assert engine is not None
assert RESULT == ["1", "2", "3", threading.current_thread().ident]
expected = [["1", "2", "3", threading.current_thread().ident]]
assert engine.getLastResult() == expected
示例12: test_solving4
# 需要导入模块: from pyshell.utils.parsing import Parser [as 别名]
# 或者: from pyshell.utils.parsing.Parser import parse [as 别名]
def test_solving4(self):
m = UniCommand(plopMeth)
self.mltries.insert(("plap", "plup", "plip",), m)
p = Parser("plap toto")
p.parse()
s = Solver()
with pytest.raises(DefaultPyshellException):
s.solve(p, self.mltries, self.var)
示例13: execute
# 需要导入模块: from pyshell.utils.parsing import Parser [as 别名]
# 或者: from pyshell.utils.parsing.Parser import parse [as 别名]
def execute(string, parameter_container, process_name=None, process_arg=None):
# add external parameters at the end of the command
if hasattr(process_arg, "__iter__"):
string += " " + ' '.join(str(x) for x in process_arg)
elif isString(process_arg):
string += " "+process_arg
elif process_arg is not None:
raise DefaultPyshellException("unknown type or process args, expect a "
"list or a string, got '" +
type(process_arg)+"'",
CORE_ERROR)
# # parsing # #
parser = None
try:
# parsing
if isinstance(string, Parser):
parser = string
if not parser.isParsed():
parser.parse()
else:
parser = Parser(string)
parser.parse()
# no command to execute
if len(parser) == 0:
return None, None
except Exception as ex:
printException(ex, "Fail to parse command: ")
return ex, None
if parser.isToRunInBackground():
t = threading.Thread(
group=None,
target=_execute,
name=process_name,
args=(),
kwargs={'parser': parser,
'parameter_container': parameter_container,
'new_thread': True})
t.start()
parameter_container.getVariableManager().setParameter(
"!",
VariableParameter(str(t.ident)),
local_param=True)
# not possible to retrieve exception or engine, it is another thread
return None, None
else:
return _execute(parser, parameter_container)
示例14: test_solvingParams1
# 需要导入模块: from pyshell.utils.parsing import Parser [as 别名]
# 或者: from pyshell.utils.parsing.Parser import parse [as 别名]
def test_solvingParams1(self):
p = Parser("plop")
p.parse()
s = Solver()
solvingresult = s.solve(p, self.mltries, self.var)
commandList, argList, mappedArgsList, commandNameList = solvingresult
assert len(commandNameList) == 1
assert commandNameList[0] == ("plop",)
assert len(commandList) == 1
assert commandList[0] == self.mltries.search(("plop",)).getValue()
assert len(mappedArgsList) == 1
assert len(mappedArgsList[0][0]) == 0
assert len(mappedArgsList[0][1]) == 0
assert len(mappedArgsList[0][2]) == 0
示例15: test_solving6
# 需要导入模块: from pyshell.utils.parsing import Parser [as 别名]
# 或者: from pyshell.utils.parsing.Parser import parse [as 别名]
def test_solving6(self):
s = Solver()
p = Parser("plop aaa bbb ccc ddd")
p.parse()
solvingresult = s.solve(p, self.mltries, self.var)
commandList, argList, mappedArgsList, commandNameList = solvingresult
assert len(commandNameList) == 1
assert commandNameList[0] == ("plop",)
assert len(commandList) == 1
assert commandList[0] == self.mltries.search(("plop",)).getValue()
assert len(argList) == 1
assert len(argList[0]) == 4
assert argList[0] == ["aaa", "bbb", "ccc", "ddd"]
assert len(mappedArgsList) == 1
assert len(mappedArgsList[0][0]) == 0
assert len(mappedArgsList[0][1]) == 0
assert len(mappedArgsList[0][2]) == 0