本文整理汇总了Python中pyshell.utils.parsing.Parser类的典型用法代码示例。如果您正苦于以下问题:Python Parser类的具体用法?Python Parser怎么用?Python Parser使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Parser类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_solving3
def test_solving3(self):
p = Parser("titi")
p.parse()
s = Solver()
with pytest.raises(DefaultPyshellException):
s.solve(p, self.mltries, self.var)
开发者ID:djoproject,项目名称:pyshell,代码行数:7,代码来源:solving_test.py
示例2: test_escaping3
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,), (), (),)]
开发者ID:djoproject,项目名称:pyshell,代码行数:7,代码来源:string65_test.py
示例3: test_var5
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
开发者ID:djoproject,项目名称:pyshell,代码行数:27,代码来源:solving_test.py
示例4: test_solvingParams10
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
开发者ID:djoproject,项目名称:pyshell,代码行数:32,代码来源:solving_test.py
示例5: test_solvingParams4
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"]
开发者ID:djoproject,项目名称:pyshell,代码行数:25,代码来源:solving_test.py
示例6: test_escaping2
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,), (), (),)]
开发者ID:djoproject,项目名称:pyshell,代码行数:7,代码来源:string65_test.py
示例7: test_solvingParams18
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
开发者ID:djoproject,项目名称:pyshell,代码行数:33,代码来源:solving_test.py
示例8: test_escaping1
def test_escaping1(self):
original = "plop"
s = escapeString(original)
assert s == "\"plop\""
p = Parser(s)
p.parse()
assert p == [((original,), (), (),)]
开发者ID:djoproject,项目名称:pyshell,代码行数:7,代码来源:string65_test.py
示例9: test_execute7
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
开发者ID:djoproject,项目名称:pyshell,代码行数:8,代码来源:executing_test.py
示例10: test_solving1
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)
开发者ID:djoproject,项目名称:pyshell,代码行数:10,代码来源:solving_test.py
示例11: test_execute5
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
开发者ID:djoproject,项目名称:pyshell,代码行数:10,代码来源:executing_test.py
示例12: test_solving4
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)
开发者ID:djoproject,项目名称:pyshell,代码行数:10,代码来源:solving_test.py
示例13: execute
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)
开发者ID:djoproject,项目名称:pyshell,代码行数:52,代码来源:executing.py
示例14: test_solvingParams1
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
开发者ID:djoproject,项目名称:pyshell,代码行数:18,代码来源:solving_test.py
示例15: test_solving6
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
开发者ID:djoproject,项目名称:pyshell,代码行数:22,代码来源:solving_test.py
示例16: test_solvingParams3c
def test_solvingParams3c(self):
m = UniCommand(post_process=plopMeth)
self.mltries.insert(("plapC",), m)
p = Parser("plapC -param aa bb cc")
p.parse()
s = Solver()
solvingresult = s.solve(p, self.mltries, self.var)
commandList, argList, mappedArgsList, commandNameList = solvingresult
assert len(commandNameList) == 1
assert commandNameList[0] == ("plapC",)
assert len(commandList) == 1
assert commandList[0] == self.mltries.search(("plapC",)).getValue()
assert len(mappedArgsList) == 1
assert len(mappedArgsList[0][0]) == 0
assert len(mappedArgsList[0][1]) == 0
assert len(mappedArgsList[0][2]) == 1
assert "param" in mappedArgsList[0][2]
assert mappedArgsList[0][2]["param"] == ("aa", "bb", "cc",)
开发者ID:djoproject,项目名称:pyshell,代码行数:24,代码来源:solving_test.py
示例17: test_background3
def test_background3(self):
p = Parser("& | a")
p.parse()
assert len(p) == 2
assert not p.isToRunInBackground()
开发者ID:djoproject,项目名称:pyshell,代码行数:5,代码来源:parsing_test.py
示例18: test_var6
def test_var6(self):
p = Parser("aa bb cc $\\ d")
p.parse()
assert p == [(('aa', 'bb', 'cc', '$ d',), (), (),)]
开发者ID:djoproject,项目名称:pyshell,代码行数:4,代码来源:parsing_test.py
示例19: test_multipleCommand7
def test_multipleCommand7(self):
p = Parser("| abc def ghi | jkl mno pqr|")
p.parse()
assert p == [(('abc', 'def', 'ghi'), (), (),),
(('jkl', 'mno', 'pqr'), (), (),)]
开发者ID:djoproject,项目名称:pyshell,代码行数:5,代码来源:parsing_test.py
示例20: test_singleCommand7
def test_singleCommand7(self):
p = Parser("||| abc def ghi ")
p.parse()
assert p == [(('abc', 'def', 'ghi'), (), (),)]
开发者ID:djoproject,项目名称:pyshell,代码行数:4,代码来源:parsing_test.py
注:本文中的pyshell.utils.parsing.Parser类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论