mirror of
https://github.com/kellyjonbrazil/jc.git
synced 2025-07-13 01:20:24 +02:00
@ -1,5 +1,8 @@
|
|||||||
jc changelog
|
jc changelog
|
||||||
|
|
||||||
|
20210628 v1.15.6
|
||||||
|
- Fix issue to only load local plugin parsers that have filenames that end in .py
|
||||||
|
|
||||||
20210520 v1.15.5
|
20210520 v1.15.5
|
||||||
- Fix issue where help and about information would not display if a 3rd party parser library was missing. (e.g. xmltodict)
|
- Fix issue where help and about information would not display if a 3rd party parser library was missing. (e.g. xmltodict)
|
||||||
- Add more error message detail when encountering ParseError and LibraryNotFound exceptions
|
- Add more error message detail when encountering ParseError and LibraryNotFound exceptions
|
||||||
|
@ -19,7 +19,7 @@ dig example.com | jc --dig
|
|||||||
39049,"data":"93.184.216.34"}],"query_time":49,"server":"2600:1700:bab0:d40::1#53(2600:1700:bab0:d40::1)","when":
|
39049,"data":"93.184.216.34"}],"query_time":49,"server":"2600:1700:bab0:d40::1#53(2600:1700:bab0:d40::1)","when":
|
||||||
"Fri Apr 16 16:09:00 PDT 2021","rcvd":56,"when_epoch":1618614540,"when_epoch_utc":null}]
|
"Fri Apr 16 16:09:00 PDT 2021","rcvd":56,"when_epoch":1618614540,"when_epoch_utc":null}]
|
||||||
```
|
```
|
||||||
This allows further command-line processing of output with tools like `jq` by piping commands:
|
This allows further command-line processing of output with tools like `jq` or [`jello`](https://github.com/kellyjonbrazil/jello) by piping commands:
|
||||||
```bash
|
```bash
|
||||||
$ dig example.com | jc --dig | jq -r '.[].answer[].data'
|
$ dig example.com | jc --dig | jq -r '.[].answer[].data'
|
||||||
93.184.216.34
|
93.184.216.34
|
||||||
@ -60,7 +60,7 @@ The `jc` parsers can also be used as python modules. In this case the output wil
|
|||||||
'2600:1700:bab0:d40::1#53(2600:1700:bab0:d40::1)', 'when': 'Fri Apr 16 16:13:00 PDT 2021', 'rcvd': 56,
|
'2600:1700:bab0:d40::1#53(2600:1700:bab0:d40::1)', 'when': 'Fri Apr 16 16:13:00 PDT 2021', 'rcvd': 56,
|
||||||
'when_epoch': 1618614780, 'when_epoch_utc': None}]
|
'when_epoch': 1618614780, 'when_epoch_utc': None}]
|
||||||
```
|
```
|
||||||
Two representations of the data are possible. The default representation uses a strict schema per parser and converts known numbers to int/float JSON values. Certain known values of `None` are converted to JSON `null`, known boolean values are converted, and, in some cases, additional semantic context fields are added.
|
Two representations of the data are available. The default representation uses a strict schema per parser and converts known numbers to int/float JSON values. Certain known values of `None` are converted to JSON `null`, known boolean values are converted, and, in some cases, additional semantic context fields are added.
|
||||||
|
|
||||||
To access the raw, pre-processed JSON, use the `-r` cli option or the `raw=True` function parameter in `parse()`.
|
To access the raw, pre-processed JSON, use the `-r` cli option or the `raw=True` function parameter in `parse()`.
|
||||||
|
|
||||||
|
@ -86,4 +86,4 @@ Module Example:
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
name = 'jc'
|
name = 'jc'
|
||||||
__version__ = '1.15.5'
|
__version__ = '1.15.6'
|
||||||
|
@ -130,7 +130,7 @@ local_parsers_dir = os.path.join(data_dir, 'jcparsers')
|
|||||||
if os.path.isdir(local_parsers_dir):
|
if os.path.isdir(local_parsers_dir):
|
||||||
sys.path.append(data_dir)
|
sys.path.append(data_dir)
|
||||||
for name in os.listdir(local_parsers_dir):
|
for name in os.listdir(local_parsers_dir):
|
||||||
if re.match(r'\w+\.py', name) and os.path.isfile(os.path.join(local_parsers_dir, name)):
|
if re.match(r'\w+\.py$', name) and os.path.isfile(os.path.join(local_parsers_dir, name)):
|
||||||
plugin_name = name[0:-3]
|
plugin_name = name[0:-3]
|
||||||
local_parsers.append(plugin_name)
|
local_parsers.append(plugin_name)
|
||||||
if plugin_name not in parsers:
|
if plugin_name not in parsers:
|
||||||
|
BIN
jc/man/jc.1.gz
BIN
jc/man/jc.1.gz
Binary file not shown.
BIN
man/jc.1.gz
BIN
man/jc.1.gz
Binary file not shown.
2
setup.py
2
setup.py
@ -5,7 +5,7 @@ with open('README.md', 'r') as f:
|
|||||||
|
|
||||||
setuptools.setup(
|
setuptools.setup(
|
||||||
name='jc',
|
name='jc',
|
||||||
version='1.15.5',
|
version='1.15.6',
|
||||||
author='Kelly Brazil',
|
author='Kelly Brazil',
|
||||||
author_email='kellyjonbrazil@gmail.com',
|
author_email='kellyjonbrazil@gmail.com',
|
||||||
description='Converts the output of popular command-line tools and file-types to JSON.',
|
description='Converts the output of popular command-line tools and file-types to JSON.',
|
||||||
|
@ -19,7 +19,7 @@ dig example.com | jc --dig
|
|||||||
39049,"data":"93.184.216.34"}],"query_time":49,"server":"2600:1700:bab0:d40::1#53(2600:1700:bab0:d40::1)","when":
|
39049,"data":"93.184.216.34"}],"query_time":49,"server":"2600:1700:bab0:d40::1#53(2600:1700:bab0:d40::1)","when":
|
||||||
"Fri Apr 16 16:09:00 PDT 2021","rcvd":56,"when_epoch":1618614540,"when_epoch_utc":null}]
|
"Fri Apr 16 16:09:00 PDT 2021","rcvd":56,"when_epoch":1618614540,"when_epoch_utc":null}]
|
||||||
```
|
```
|
||||||
This allows further command-line processing of output with tools like `jq` by piping commands:
|
This allows further command-line processing of output with tools like `jq` or [`jello`](https://github.com/kellyjonbrazil/jello) by piping commands:
|
||||||
```bash
|
```bash
|
||||||
$ dig example.com | jc --dig | jq -r '.[].answer[].data'
|
$ dig example.com | jc --dig | jq -r '.[].answer[].data'
|
||||||
93.184.216.34
|
93.184.216.34
|
||||||
@ -60,7 +60,7 @@ The `jc` parsers can also be used as python modules. In this case the output wil
|
|||||||
'2600:1700:bab0:d40::1#53(2600:1700:bab0:d40::1)', 'when': 'Fri Apr 16 16:13:00 PDT 2021', 'rcvd': 56,
|
'2600:1700:bab0:d40::1#53(2600:1700:bab0:d40::1)', 'when': 'Fri Apr 16 16:13:00 PDT 2021', 'rcvd': 56,
|
||||||
'when_epoch': 1618614780, 'when_epoch_utc': None}]
|
'when_epoch': 1618614780, 'when_epoch_utc': None}]
|
||||||
```
|
```
|
||||||
Two representations of the data are possible. The default representation uses a strict schema per parser and converts known numbers to int/float JSON values. Certain known values of `None` are converted to JSON `null`, known boolean values are converted, and, in some cases, additional semantic context fields are added.
|
Two representations of the data are available. The default representation uses a strict schema per parser and converts known numbers to int/float JSON values. Certain known values of `None` are converted to JSON `null`, known boolean values are converted, and, in some cases, additional semantic context fields are added.
|
||||||
|
|
||||||
To access the raw, pre-processed JSON, use the `-r` cli option or the `raw=True` function parameter in `parse()`.
|
To access the raw, pre-processed JSON, use the `-r` cli option or the `raw=True` function parameter in `parse()`.
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user