Skip to main content

This simple python library is a JBoss output lexer & parser based on PLY (yet another implementation of lex and yacc for Python).

JBoss CLI server has output that closely resembles JSON, but it is not 100% JSON so it is difficult to parse it with ordinary tools. With this library you can process JBoss output and parse it as JSON.

Example

from jbossply.jbossparser import JbossParser
test3 = """{
    "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))

Which gives output

{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'}}}

You may want to cache parser tables, then create JbossParser like this:

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

Command line usage

After installed with pip you may use also the command line helper 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"}}}

Installation

You can install this package using pip:

pip install jbossply

Credits

The code is based on @vsajip repository json-ply

Metadata

Release files for jbossply 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jbossply 0.0.3
File Size Uploaded
jbossply-0.0.3.tar.gz 7.2 kB Details

Release files / jbossply-0.0.3.tar.gz

Download URL jbossply-0.0.3.tar.gz
Size 7.2 kB
Tags Source
SHA-256 checksum
How to use checksums
3acf657b873c9e82ed64443c5577747cdbed046d94817246b61ce98e82e34454
BLAKE2b-256 checksum
How to use checksums
c99bba217eb94a56e62128a86293573cec5da8677b156a76b5566e27ea762d65
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.0.3 This release

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page