jboss cli输出解析器

jbosspl的Python项目详细描述


这个简单的python库是一个基于PLY的jboss输出lexer&parser (另一个lex和yacc的Python实现)

JBoss CLI服务器的输出与JSON非常相似,但它不是100%JSON,因此很难 用普通的工具分析。使用这个库,您可以处理jboss输出并将其解析为json。

示例

fromjbossply.jbossparserimportJbossParsertest3="""{
    "outcome" => "success",
    "result" => {
        "rule-1" => {
            "flags" => "L,QSA,R",
            "pattern" => "^/$",
            "substitution" => "/ejbca",
            "condition" => undefined
        },
        "rule-3" => {
            "flags" => "L,QSA,R",
            "pattern" => "^/pki/?$",
            "substitution" => "/ejbca/adminweb",
            "condition" => undefined
        }
    }
}
"""parser=JbossParser()print(parser.parse(test3))

输出

{u'outcome': u'success', u'result': {u'rule-3': {u'pattern': u'^/pki/?$', u'flags': u'L,QSA,R', u'condition': None, u'substitution': u'/ejbca/adminweb'}, u'rule-1': {u'pattern': u'^/$', u'flags': u'L,QSA,R', u'condition': None, u'substitution': u'/ejbca'}}}

您可能需要缓存解析器表,然后创建如下的JbossParser:

parser=JbossParser(write_tables=True,outputdir='/tmp/table-dir')

命令行用法

安装pip之后,您还可以使用命令行助手jboss2json

$ cat jboss-output.txt | jboss2json
{"outcome": "success", "result": {"rule-3": {"pattern": "^/pki/?$", "flags": "L,QSA,R", "condition": null, "substitution": "/ejbca/adminweb"}, "rule-1": {"pattern": "^/$", "flags": "L,QSA,R", "condition": null, "substitution": "/ejbca"}}}

安装

您可以使用pip安装此软件包:

pip install jbossply

学分

代码基于@vsajip repositoryjson-ply

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在java中使用ActionListeners的小程序   为什么这两个文件。存在(…)和文件。不存在(…)?   需要帮助将XML/Java转换为edi(834)文档吗   java GWT 2.5.1和IntelliJ调试模式,可序列化异常   java由用户运行给定的程序   junit Java<>从函数返回的类型   java Hibernate:我需要刷新()吗?   java如何通过GET REST API调用传递ssl证书   java H2 1.4.185无法通过上次使用Hibernate实体运行的服务器生成的UUID进行查询   javajavafx:具有本机行为的自定义窗口   java是否替换当前字符串设置以从xml收集字符串项?   RelativeLayout下的java Android viewpager   java源代码在JD反编译工具反编译后有注释   java Recycler视图不显示Firebase中的图片和类别