当前位置: 首页>>代码示例>>Python>>正文


Python parsing.Parser类代码示例

本文整理汇总了Python中pyshell.utils.parsing.Parser的典型用法代码示例。如果您正苦于以下问题:Python Parser类的具体用法?Python Parser怎么用?Python Parser使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Parser类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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


注:本文中的pyshell.utils.parsing.Parser类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。