096fffdb79807d34b99985b38df0a3df7f6a86c7 use stat examples
 docs/parsers/git_log.md | 78 +++++++++++++++++++++++++++++++++++++------------
 jc/parsers/git_log.py   | 78 +++++++++++++++++++++++++++++++++++++------------
 2 files changed, 120 insertions(+), 36 deletions(-)
728d882ed007b3c8b785018874a0eb06e1143b66 add timestamp docs and examples
 docs/parsers/git_log.md | 51 +++++++++++++++++++++++++++++++++++++++++++------
 jc/parsers/git_log.py   | 51 +++++++++++++++++++++++++++++++++++++++++++------
 2 files changed, 90 insertions(+), 12 deletions(-)
b53e42aca623181aa9bc72194e6eeef1e9a3a237 add calculated timestamp
 docs/parsers/git_log.md |  8 ++++++++
 docs/utils.md           |  4 ++--
 jc/parsers/git_log.py   | 14 ++++++++++++++
 jc/utils.py             |  7 ++++---
 man/jc.1                |  2 +-
 5 files changed, 29 insertions(+), 6 deletions(-)
477329ce5b8f5c2a8e4384ba3f59289fc18c957d add linefeed to version text
 jc/cli.py | 1 +
 1 file changed, 1 insertion(+)
283dc4efd55030188f17c7e1dfbc5315103494b7 add python interpreter version and path to -v and -a output
 CHANGELOG | 1 +
 jc/cli.py | 7 ++++++-
 2 files changed, 7 insertions(+), 1 deletion(-)
d490bbcaa0291a691b95fa5b61807eebb0b088eb normalize add/update
 CHANGELOG | 52 ++++++++++++++++++++++++++--------------------------
 1 file changed, 26 insertions(+), 26 deletions(-)
f49ddf8e5c5009702155fc62d83c63e3c08c594d doc update
 docs/parsers/git_log.md | 4 ++--
 jc/parsers/git_log.py   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
e1e341652b51b823844e76ef7e68f9373a323435 doc update
 CHANGELOG | 2 ++
 1 file changed, 2 insertions(+)
ecda667549137bed5622cca69f2022e7a75ea833 process integers
 docs/parsers/git_log.md |  2 +-
 jc/parsers/git_log.py   | 18 +++++++++++-------
 2 files changed, 12 insertions(+), 8 deletions(-)
a0d96a188a9f875b2d59625aa97d4f80bba290f2 doc update
 docs/parsers/yaml.md | 4 +++-
 jc/parsers/yaml.py   | 2 ++
 2 files changed, 5 insertions(+), 1 deletion(-)
6c0f0cddfe4dd2d5169f7c55416c6725912557f6 fix for datetime objects in yaml files
 jc/parsers/yaml.py | 7 ++++++-
 tests/test_yaml.py | 8 ++++++++
 2 files changed, 14 insertions(+), 1 deletion(-)
c7173ecd89742c8cf8a7bc4a8021baac5c3cd483 fix mypy issues
 jc/parsers/git_log.py | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)
e98240c905394e3ebd6a45fa31b6d432c150afc4 extend instead of append list
 jc/parsers/git_log.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
6cb7e25974b11afe57d7d0e8550b3b1a56b14c67 add docs
 README.md               |  1 +
 docs/parsers/git_log.md | 86 +++++++++++++++++++++++++++++++++++++++++++++++++
 man/jc.1                |  7 +++-
 3 files changed, 93 insertions(+), 1 deletion(-)
c37980c05c7fbd4f811ce5fcfcfddaf5f3ab5414 add stat support
 jc/parsers/git_log.py | 48 +++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 41 insertions(+), 7 deletions(-)
b5943bd39d776fc4c3b3dea03c0f3d4b6f4bb260 initial docstring
 jc/parsers/git_log.py | 33 +++++++++++++++++++++++----------
 1 file changed, 23 insertions(+), 10 deletions(-)
49a3a7db3b2b0b292489a41691c9dcbce816cfed initial git-log parser
 jc/lib.py             |   1 +
 jc/parsers/git_log.py | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 175 insertions(+)
0c55240e9da30ac4293cc324f1094de2abd3da91 move test templates to fix test failures on some systems
 CHANGELOG                            | 1 +
 tests/{ => templates}/_test_foo.py   | 0
 tests/{ => templates}/_test_foo_s.py | 0
 3 files changed, 1 insertion(+)
f91988aed5499d25acf7a7e87b2b0d0cd37b62af iterator -> iterable
 docs/lib.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
3c3ad9fc6adf865b3814a1f03814d0bc17d1c6bd iterator -> iterable in doc
 jc/lib.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
291ab79e22a59cb31814e7a5af9dbc9f2ec863e2 fix arch linux command
 README.md                 | 24 ++++++++++++------------
 man/jc.1                  |  2 +-
 templates/readme_template | 22 +++++++++++-----------
 3 files changed, 24 insertions(+), 24 deletions(-)
e6d5892c146762cd41a966adadb77db333d98ace Merge pull request #226 from kellyjonbrazil/master
dcca7a57d558721a61fbba44f07b1d53116827e1 Merge pull request #225 from adrianteri/patch-1
4ee8a69337b24e199983fe657643abcb0a56a8e6 Update README
 README.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
c0414e7db7f5d785b72ad616517f2ec63af151a2 clean up background tasks
 docgen.sh | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
a419175fe6dffe9c5fd20cfbd82ee552bc82a993 enhance parallelization
 docgen.sh     | 30 ++++++++++++++++++++----------
 updatedocs.sh | 21 ++++++++++++++-------
 2 files changed, 34 insertions(+), 17 deletions(-)
cd6dead034f3c72aebd22afeb2aea6591ae6d94d man page update
 man/jc.1 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
45342ea9fea29947d8d90260c7665ffbca612cce parallelize doc gneration
 docgen.sh     | 16 ++++++++++------
 updatedocs.sh |  9 ++++++---
 2 files changed, 16 insertions(+), 9 deletions(-)
585bf0e159c7839869cf3e458938dcc5fa2ceb81 xrandr update
 CHANGELOG | 1 +
 1 file changed, 1 insertion(+)
3a860b9babe93d455f68ef21436edf7470d375af add rotation field
 docs/parsers/xrandr.md | 4 ++--
 jc/parsers/xrandr.py   | 8 +++++---
 2 files changed, 7 insertions(+), 5 deletions(-)
269180df77f9ff953b07222e8ae790c7e7a8298e Merge pull request #223 from anekos/fix/support-rotated-devices
a1afed8d95e33fbbc618c7b5778a9faeea2f628f doc update
 docs/parsers/xrandr.md | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
e39f150a216e4e184444dfc88a63e0f303e51631 Support rotated devices
 jc/parsers/xrandr.py                      | 4 +++-
 tests/fixtures/generic/xrandr_simple.json | 1 +
 tests/test_xrandr.py                      | 8 +++++---
 3 files changed, 9 insertions(+), 4 deletions(-)
e85f11c6fcad5461bae612dd5a945c20d300e59a doc formatting
 docs/parsers/ini.md | 6 +++---
 docs/parsers/kv.md  | 6 +++---
 jc/parsers/ini.py   | 6 +++---
 jc/parsers/kv.py    | 6 +++---
 4 files changed, 12 insertions(+), 12 deletions(-)
49a9d7b07e89696f2e022655d7256b7d6ad4bf7b doc update
 docs/parsers/ini.md |  8 +++++---
 docs/parsers/kv.md  | 10 ++++++----
 man/jc.1            |  2 +-
 3 files changed, 12 insertions(+), 8 deletions(-)
a2ef9c429e4bb9f70d033511dce77ccdb9013971 allow duplicate keys
 jc/parsers/ini.py | 12 ++++++++----
 jc/parsers/kv.py  | 10 ++++++----
 tests/test_ini.py | 12 ++++++++++++
 tests/test_kv.py  | 12 ++++++++++++
 4 files changed, 38 insertions(+), 8 deletions(-)
d5e9074f1c8facb3f15b8c41a008917178626978 version bump
 CHANGELOG | 3 +++
 jc/lib.py | 2 +-
 setup.py  | 2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)
774699f085d97f22ae2dab0cf64d72aa1e1709f7 Merge pull request #220 from kellyjonbrazil/master
7138eef3d137bc64286d4af453d8d4e7b3f4408d fix newline chars in doc
 docs/parsers/asciitable_m.md | 6 +++---
 jc/parsers/asciitable_m.py   | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)
fad5e544aa9e57d31473190e196f59c616901207 formatting
 docs/parsers/asciitable.md | 2 +-
 jc/parsers/asciitable.py   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
64757e2cf55448bccfbbd60d31930ab3f59af21b doc formatting
 docs/parsers/asciitable.md | 12 ++++++------
 jc/parsers/asciitable.py   | 12 ++++++------
 2 files changed, 12 insertions(+), 12 deletions(-)
e05be3f08beae1b600fc55a3a7b4e28163e15bc0 Merge pull request #213 from kellyjonbrazil/dev
789f0735dfd63e728b8716d97cf0c6045ede5011 doc update
 CHANGELOG | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
34bc7753174be28d6c1a00dadc662bc374e554c1 doc update
 man/jc.1 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
38de059a1bc285c8681086d9fb43d0d23ac01d49 doc update
 docs/parsers/asciitable.md | 6 ++++++
 docs/parsers/universal.md  | 4 ++--
 man/jc.1                   | 2 +-
 3 files changed, 9 insertions(+), 3 deletions(-)
304ae6268f4dff6e6f901628e7ff89db1d6e0767 minor optimization by changing the expression order
 jc/parsers/asciitable_m.py | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
978caf45221188a29c0e67147804f20f317c066d minor optimization by reordering expressions
 jc/parsers/asciitable.py | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)
17df5bfcfc25f226a2976aa7ab8a80e4aaa915c3 cache _is_separator function
 jc/parsers/asciitable.py   | 10 +++++++++-
 jc/parsers/asciitable_m.py |  4 +++-
 2 files changed, 12 insertions(+), 2 deletions(-)
5e6a5068cff71b3b30525d0a12868bdf6551456c allow iterables for simple table parser
 jc/parsers/universal.py | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
619de68a61be0117e635032347dde417d77c748c formatting
 jc/parsers/asciitable.py   |  7 ++++---
 jc/parsers/asciitable_m.py | 10 ++++------
 2 files changed, 8 insertions(+), 9 deletions(-)
6748c3cc91f90bddea3d07b8b30a049ee55eaf35 remove lines from corner detection and add rounded corners
 jc/parsers/asciitable.py   | 52 ++++++++++++++++----------------
 jc/parsers/asciitable_m.py | 74 ++++++++++++++++++++++++----------------------
 2 files changed, 65 insertions(+), 61 deletions(-)
0a462978b731770d1290187a502706c2322f5f91 fix for special characters in headers
 jc/parsers/asciitable.py   | 25 +++++++++++++++++++++++--
 jc/parsers/asciitable_m.py |  8 +++++++-
 tests/test_asciitable.py   | 43 +++++++++++++++++++++++++++++++++++++++++++
 tests/test_asciitable_m.py | 28 ++++++++++++++++++++++++++++
 4 files changed, 101 insertions(+), 3 deletions(-)
e66a82ff49b40a674f9ef373a12d59fc71bfa730 doc update
 CHANGELOG                  | 5 +++--
 jc/parsers/asciitable_m.py | 4 ++--
 man/jc.1                   | 2 +-
 3 files changed, 6 insertions(+), 5 deletions(-)
f3aa797d96c8e2cef2124dbb2f49d1fadaee3fa2 add more pretty table separators
 jc/parsers/asciitable.py   | 43 +++++++++++++++++++++++++++++++++++--------
 jc/parsers/asciitable_m.py | 35 ++++++++++++++++++++++++++++++++++-
 2 files changed, 69 insertions(+), 9 deletions(-)
e5b478218c4ba3781afd085056dba888c3f6ae02 add quiet=True to parse tests
 tests/test_xrandr.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
35e0e9c32afbc5450c661bcb3a23904d135358ad remove print statement
 jc/parsers/asciitable.py | 1 -
 1 file changed, 1 deletion(-)
17c3c2f029a0a47eb02d681567619d471b99949c add bold bar seperator and ANSI code tests
 jc/parsers/asciitable.py   |  3 ++-
 jc/parsers/asciitable_m.py |  2 +-
 tests/test_asciitable.py   | 31 +++++++++++++++++++++++++++++++
 tests/test_asciitable_m.py | 24 ++++++++++++++++++++++++
 4 files changed, 58 insertions(+), 2 deletions(-)
cf83e6398b3314b233581eb313510872177de20a add fancy separators
 jc/parsers/asciitable.py   | 4 ++++
 jc/parsers/asciitable_m.py | 3 +++
 2 files changed, 7 insertions(+)
94e061b881e2ed28d2b462ad038e5ba77182b6c4 add asciitable parser tests
 tests/test_asciitable.py | 275 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 275 insertions(+)
720480e39ce3cc2079d7f4f5bcff2725081fec34 doc update
 docs/parsers/asciitable.md   | 3 +++
 docs/parsers/asciitable_m.md | 3 ++-
 jc/parsers/asciitable.py     | 3 +++
 jc/parsers/asciitable_m.py   | 3 ++-
 4 files changed, 10 insertions(+), 2 deletions(-)
82a63fe15922456853aa4597aa10a5a02b20bdef doc update
 docs/parsers/asciitable.md | 7 +++----
 jc/parsers/asciitable.py   | 7 +++----
 2 files changed, 6 insertions(+), 8 deletions(-)
9c1ec9940e68ce9848da20e81b8c0b7e35a215df doc update
 docs/parsers/asciitable.md   | 44 +++++++++++++++++++++++++++++++++++++++-----
 docs/parsers/asciitable_m.md |  4 ++--
 jc/parsers/asciitable.py     | 44 +++++++++++++++++++++++++++++++++++++++-----
 jc/parsers/asciitable_m.py   |  4 ++--
 4 files changed, 82 insertions(+), 14 deletions(-)
f23f19da453a0f7bcf70e417a10f87e27571aa43 doc update
 README.md                    |  1 +
 docs/parsers/asciitable.md   | 97 ++++++++++++++++++++++++++++++++++++++++++++
 docs/parsers/asciitable_m.md |  4 +-
 jc/parsers/asciitable_m.py   | 24 +++++++----
 man/jc.1                     |  5 +++
 5 files changed, 122 insertions(+), 9 deletions(-)
aea2e1b0a9c6bb2a02a6e73889bb04e8f4f22588 fix tests so blank strings are now None
 tests/test_asciitable_m.py | 48 +++++++++++++++++++++++-----------------------
 1 file changed, 24 insertions(+), 24 deletions(-)
7d95d679bf4093ea77f30a1be55384b6dbf08341 add asciitable parser
 jc/lib.py                |   2 +-
 jc/parsers/asciitable.py | 211 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 212 insertions(+), 1 deletion(-)
b3b140066b74ee31dd1c460502caf2f26df321b6 doc update
 docs/parsers/asciitable_m.md | 4 ++--
 jc/parsers/asciitable_m.py   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
b204c423c1b947c17cb251a5dd3c444cd71dd2c0 doc update
 README.md                    |   1 +
 docs/parsers/asciitable_m.md | 122 +++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/asciitable_m.py   |  78 ++++++++++++++++++++++-----
 man/jc.1                     |   7 ++-
 4 files changed, 193 insertions(+), 15 deletions(-)
d451c309bb0d8889dc09a698212bf01c2154a582 change multiple or statements to any()
 jc/parsers/asciitable_m.py | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)
01d53da68ed04b736934851137c59216ad02d8c8 remove debug print
 jc/parsers/asciitable_m.py | 1 -
 1 file changed, 1 deletion(-)
53dd05e52c329a15c30a756a36a165ac59ef8a14 fix rstrip and add tests
 jc/parsers/asciitable_m.py |  3 ++-
 tests/test_asciitable_m.py | 27 +++++++++++++++++++++++++++
 2 files changed, 29 insertions(+), 1 deletion(-)
ab564f5be8282f1c7ee2d602bcef398fdfd4570f add tests
 jc/parsers/asciitable_m.py |  16 +++-
 tests/test_asciitable_m.py | 222 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 237 insertions(+), 1 deletion(-)
00c39450f9878527b60545ad61c04cfb98f418dc enhance type annotation
 jc/parsers/asciitable_m.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
f611d08b50219f4e573c1d1f0beae27583e76432 formatting
 jc/parsers/asciitable_m.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
90e79b7df3a4d5b37835fdf1c2debc1bad0a40b9 formatting
 jc/parsers/asciitable_m.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
4eb2d725d5fe6f2cc7935c7dc891912cf7b8e940 formatting
 jc/parsers/asciitable_m.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
51ae5ebcac7263ef2571c11975b275eff352bbc5 new streamlined parser
 jc/parsers/asciitable_m.py | 323 +++++++++++++++++++++------------------------
 1 file changed, 148 insertions(+), 175 deletions(-)
9ecbdb09162da4d563799aa93d422db85b2c324b use generator instead of iterable in function return annotation
 docs/parsers/mpstat_s.md  | 10 ++++++----
 docs/parsers/pidstat_s.md | 10 ++++++----
 docs/parsers/rsync_s.md   | 10 ++++++----
 docs/parsers/universal.md | 19 +++++++++----------
 jc/parsers/foo_s.py       |  4 ++--
 jc/parsers/mpstat_s.py    |  4 ++--
 jc/parsers/pidstat_s.py   |  4 ++--
 jc/parsers/rsync_s.py     |  4 ++--
 8 files changed, 35 insertions(+), 30 deletions(-)
b3a2886fd0af0cd06890f37f1edfc6890bb83e6c formatting
 docs/lib.md | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
ceacec0f462bd7c2d9e92ddb9029ccd71aef481c remove errant os sep import
 jc/parsers/asciitable_m.py | 1 -
 1 file changed, 1 deletion(-)
ff0f794b01395ed9b65fac75a6b07f0772d45a2d working
 jc/parsers/asciitable_m.py | 42 ++++++++++++++++++++++++++++++++----------
 1 file changed, 32 insertions(+), 10 deletions(-)
70fafbf3f80f35c5db2c306978b2a488adad40bb remove asciitable so tests pass for now
 jc/lib.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
5a248a8fc58952a5eab3d4aac025d7422ba82d08 add multiline asciitable parser
 jc/parsers/asciitable_m.py | 344 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 344 insertions(+)
4a3a4e10df8a552a4db3510640695f02b166dc40 add asciitable and asciitable-m parsers
 jc/lib.py | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)
c27bd5ff39f21c6377e661d4d7de1200d2fdd72f pad lines in sparse_table_parse and use str.isspace()
 jc/parsers/universal.py | 39 +++++++++++++++++++++++----------------
 1 file changed, 23 insertions(+), 16 deletions(-)
f804c9627fb71341429ca80aec2887e23e0277db copy input list so we don't mutate the caller's data
 jc/parsers/universal.py | 1 +
 1 file changed, 1 insertion(+)
3ab25d02f9dc248706aa1105e1766b2a84bc55a3 use _parser_is_streaming from lib
 jc/cli.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
9e80fd2b97b9bfe38fdaa6acdf2e8ed26d34b49d fallback if info and doc items don't exist
 jc/cli.py | 21 +++++++++++----------
 jc/lib.py |  5 ++++-
 2 files changed, 15 insertions(+), 11 deletions(-)
ff9527a098a94c996641fb3fe2f905c8ae5e3063 import cleanup and use all_parser_info in parsers_text
 jc/cli.py | 22 +++++++++-------------
 1 file changed, 9 insertions(+), 13 deletions(-)
7dac2f8dc3baf619105e3c6ca4d3e45300b86287 doc update
 docs/lib.md    | 23 +++++++++++++++++------
 docs/readme.md |  7 +++++--
 man/jc.1       |  2 +-
 3 files changed, 23 insertions(+), 9 deletions(-)
32e4d55e86c3e7d94488ec69f13a4f6400c4cef3 use parser_info for help_doc
 jc/cli.py | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
f9a9062147256d0949457cc7fde838f87202524d add documentation argument to parser_info and all_parser_info
 CHANGELOG      |  1 +
 jc/__init__.py |  7 +++++--
 jc/lib.py      | 29 +++++++++++++++++++++--------
 3 files changed, 27 insertions(+), 10 deletions(-)
89e5919796f7da585285901dca461aae21336415 add -A to second example
 docs/parsers/mpstat_s.md | 2 +-
 jc/parsers/mpstat_s.py   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
e5f5b2591d8ac3abeb9571688c7fb8de34d647f4 changelog update
 CHANGELOG | 2 ++
 1 file changed, 2 insertions(+)
77c667eec045daff5cbd062fe9d6e83f237727e5 ubuntu fixes
 docs/parsers/mpstat.md                              |  2 ++
 docs/parsers/mpstat_s.md                            |  2 ++
 jc/parsers/mpstat.py                                | 12 +++++++++---
 jc/parsers/mpstat_s.py                              | 12 +++++++++---
 tests/fixtures/ubuntu-18.04/mpstat-A-streaming.json |  1 +
 tests/fixtures/ubuntu-18.04/mpstat-A.json           |  1 +
 tests/fixtures/ubuntu-18.04/mpstat-A.out            | 19 +++++++++++++++++++
 tests/test_mpstat.py                                | 12 ++++++++++++
 tests/test_mpstat_s.py                              | 12 ++++++++++++
 9 files changed, 67 insertions(+), 6 deletions(-)
b257ce8c2fe6825fe435b4d04b4184091030db10 add mpstat_s tests
 .../centos-7.7/mpstat-A-2-5-streaming.json         |  1 +
 tests/fixtures/centos-7.7/mpstat-A-streaming.json  |  1 +
 tests/fixtures/centos-7.7/mpstat-streaming.json    |  1 +
 tests/test_mpstat_s.py                             | 62 ++++++++++++++++++++++
 4 files changed, 65 insertions(+)
c693c868cacbcd81f44fd383719723dd7a137c87 add mpstat streaming parser
 README.md                |   1 +
 docs/parsers/mpstat.md   |   2 +
 docs/parsers/mpstat_s.md | 130 +++++++++++++++++++++++++++++
 jc/lib.py                |   1 +
 jc/parsers/mpstat.py     |   2 +
 jc/parsers/mpstat_s.py   | 211 +++++++++++++++++++++++++++++++++++++++++++++++
 man/jc.1                 |   5 ++
 7 files changed, 352 insertions(+)
6f98b27a05d6e1f7571a97316b193f096521b959 add mpstat tests
 tests/fixtures/centos-7.7/mpstat-A-2-5.json |  1 +
 tests/fixtures/centos-7.7/mpstat-A-2-5.out  | 86 +++++++++++++++++++++++++++++
 tests/fixtures/centos-7.7/mpstat-A.json     |  1 +
 tests/fixtures/centos-7.7/mpstat-A.out      | 15 +++++
 tests/fixtures/centos-7.7/mpstat.json       |  1 +
 tests/fixtures/centos-7.7/mpstat.out        |  5 ++
 tests/test_mpstat.py                        | 59 ++++++++++++++++++++
 7 files changed, 168 insertions(+)
d7efd25d88a8f489564ce48223845a16e4ab1cc7 add mpstat to docs
 EXAMPLES.md            |  64 +++++++++++++++++++++++
 README.md              |   1 +
 docs/parsers/mpstat.md | 136 +++++++++++++++++++++++++++++++++++++++++++++++++
 man/jc.1               |   7 ++-
 4 files changed, 207 insertions(+), 1 deletion(-)
2cddb1f0bb497be0be071cdcb56bf49d2dafc920 working mpstat
 jc/parsers/mpstat.py | 109 ++++++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 94 insertions(+), 15 deletions(-)
ae1c331595dd857d8ae7f8cf93daee1b26be2c3e initial working version
 jc/parsers/mpstat.py | 35 ++++++++++++++++++++++++++++++-----
 1 file changed, 30 insertions(+), 5 deletions(-)
bc97052ed4ee3bf3f25127968139f2e89a659fe3 initial add mpstat parser
 CHANGELOG            |   1 +
 jc/lib.py            |   1 +
 jc/parsers/mpstat.py | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 109 insertions(+)
6c3e0e2aa0e8cc375d9f7473930b18957d33f1aa formatting
 jc/utils.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
dd052e01469e9e3328f7326d3591365a8e7322eb add underscores to column examples
 docs/parsers/universal.md | 25 +++++++++++++------------
 jc/parsers/universal.py   | 25 +++++++++++++------------
 2 files changed, 26 insertions(+), 24 deletions(-)
54e8f58145f6c4332fbd375d112259ea7abb2d72 add table result examples
 docs/parsers/universal.md | 15 ++++++++++++++-
 jc/parsers/universal.py   | 15 ++++++++++++++-
 2 files changed, 28 insertions(+), 2 deletions(-)
def7aa5764e69cd0cf2c5b70aa62c62023f76c9c formatting
 docs/parsers/universal.md | 16 ++++++++--------
 jc/parsers/universal.py   | 16 ++++++++--------
 2 files changed, 16 insertions(+), 16 deletions(-)
6986c74f6dceca907ea2e469a332deeb093a122c remove direct parser module example from doc
 docs/parsers/acpi.md          |  5 -----
 docs/parsers/airport.md       |  5 -----
 docs/parsers/airport_s.md     |  5 -----
 docs/parsers/arp.md           |  5 -----
 docs/parsers/blkid.md         |  5 -----
 docs/parsers/cksum.md         |  5 -----
 docs/parsers/crontab.md       |  5 -----
 docs/parsers/crontab_u.md     |  5 -----
 docs/parsers/csv.md           |  5 -----
 docs/parsers/date.md          |  5 -----
 docs/parsers/df.md            |  5 -----
 docs/parsers/dig.md           |  5 -----
 docs/parsers/dir.md           |  5 -----
 docs/parsers/dmidecode.md     |  5 -----
 docs/parsers/dpkg_l.md        |  5 -----
 docs/parsers/du.md            |  5 -----
 docs/parsers/env.md           |  5 -----
 docs/parsers/file.md          |  5 -----
 docs/parsers/finger.md        |  5 -----
 docs/parsers/free.md          |  5 -----
 docs/parsers/fstab.md         |  5 -----
 docs/parsers/group.md         |  5 -----
 docs/parsers/gshadow.md       |  5 -----
 docs/parsers/hash.md          |  5 -----
 docs/parsers/hashsum.md       |  5 -----
 docs/parsers/hciconfig.md     |  5 -----
 docs/parsers/history.md       |  5 -----
 docs/parsers/hosts.md         |  5 -----
 docs/parsers/id.md            |  5 -----
 docs/parsers/ifconfig.md      |  5 -----
 docs/parsers/ini.md           |  5 -----
 docs/parsers/iostat.md        |  5 -----
 docs/parsers/iptables.md      |  5 -----
 docs/parsers/iw_scan.md       |  5 -----
 docs/parsers/jar_manifest.md  |  5 -----
 docs/parsers/jobs.md          |  5 -----
 docs/parsers/kv.md            |  5 -----
 docs/parsers/last.md          |  5 -----
 docs/parsers/ls.md            |  5 -----
 docs/parsers/lsblk.md         |  5 -----
 docs/parsers/lsmod.md         |  5 -----
 docs/parsers/lsof.md          |  5 -----
 docs/parsers/lsusb.md         |  5 -----
 docs/parsers/mount.md         |  5 -----
 docs/parsers/netstat.md       |  5 -----
 docs/parsers/nmcli.md         |  5 -----
 docs/parsers/ntpq.md          |  5 -----
 docs/parsers/passwd.md        |  5 -----
 docs/parsers/pidstat.md       |  5 -----
 docs/parsers/ping.md          |  5 -----
 docs/parsers/pip_list.md      |  5 -----
 docs/parsers/pip_show.md      |  5 -----
 docs/parsers/ps.md            |  5 -----
 docs/parsers/route.md         |  5 -----
 docs/parsers/rpm_qi.md        |  5 -----
 docs/parsers/rsync.md         |  5 -----
 docs/parsers/sfdisk.md        |  5 -----
 docs/parsers/shadow.md        |  5 -----
 docs/parsers/ss.md            |  5 -----
 docs/parsers/stat.md          |  5 -----
 docs/parsers/sysctl.md        |  5 -----
 docs/parsers/systemctl.md     |  5 -----
 docs/parsers/systemctl_lj.md  |  5 -----
 docs/parsers/systemctl_ls.md  |  5 -----
 docs/parsers/systemctl_luf.md |  5 -----
 docs/parsers/systeminfo.md    |  5 -----
 docs/parsers/time.md          |  5 -----
 docs/parsers/timedatectl.md   |  5 -----
 docs/parsers/tracepath.md     |  5 -----
 docs/parsers/traceroute.md    |  5 -----
 docs/parsers/ufw.md           |  5 -----
 docs/parsers/ufw_appinfo.md   |  5 -----
 docs/parsers/uname.md         |  5 -----
 docs/parsers/universal.md     | 18 +++++++++++++++++-
 docs/parsers/upower.md        |  5 -----
 docs/parsers/uptime.md        |  5 -----
 docs/parsers/vmstat.md        |  5 -----
 docs/parsers/w.md             |  5 -----
 docs/parsers/wc.md            |  5 -----
 docs/parsers/who.md           |  5 -----
 docs/parsers/xml.md           |  5 -----
 docs/parsers/xrandr.md        |  5 -----
 docs/parsers/yaml.md          |  5 -----
 docs/parsers/zipinfo.md       |  5 -----
 jc/parsers/acpi.py            |  5 -----
 jc/parsers/airport.py         |  5 -----
 jc/parsers/airport_s.py       |  5 -----
 jc/parsers/arp.py             |  5 -----
 jc/parsers/blkid.py           |  5 -----
 jc/parsers/cksum.py           |  5 -----
 jc/parsers/crontab.py         |  5 -----
 jc/parsers/crontab_u.py       |  5 -----
 jc/parsers/csv.py             |  5 -----
 jc/parsers/date.py            |  5 -----
 jc/parsers/df.py              |  5 -----
 jc/parsers/dig.py             |  5 -----
 jc/parsers/dir.py             |  5 -----
 jc/parsers/dmidecode.py       |  5 -----
 jc/parsers/dpkg_l.py          |  5 -----
 jc/parsers/du.py              |  5 -----
 jc/parsers/env.py             |  5 -----
 jc/parsers/file.py            |  5 -----
 jc/parsers/finger.py          |  5 -----
 jc/parsers/foo.py             |  5 -----
 jc/parsers/free.py            |  5 -----
 jc/parsers/fstab.py           |  5 -----
 jc/parsers/group.py           |  5 -----
 jc/parsers/gshadow.py         |  5 -----
 jc/parsers/hash.py            |  5 -----
 jc/parsers/hashsum.py         |  5 -----
 jc/parsers/hciconfig.py       |  5 -----
 jc/parsers/history.py         |  5 -----
 jc/parsers/hosts.py           |  5 -----
 jc/parsers/id.py              |  5 -----
 jc/parsers/ifconfig.py        |  5 -----
 jc/parsers/ini.py             |  5 -----
 jc/parsers/iostat.py          |  5 -----
 jc/parsers/iptables.py        |  5 -----
 jc/parsers/iw_scan.py         |  5 -----
 jc/parsers/jar_manifest.py    |  5 -----
 jc/parsers/jobs.py            |  5 -----
 jc/parsers/kv.py              |  5 -----
 jc/parsers/last.py            |  5 -----
 jc/parsers/ls.py              |  5 -----
 jc/parsers/lsblk.py           |  5 -----
 jc/parsers/lsmod.py           |  5 -----
 jc/parsers/lsof.py            |  5 -----
 jc/parsers/lsusb.py           |  5 -----
 jc/parsers/mount.py           |  5 -----
 jc/parsers/netstat.py         |  5 -----
 jc/parsers/nmcli.py           |  5 -----
 jc/parsers/ntpq.py            |  5 -----
 jc/parsers/passwd.py          |  5 -----
 jc/parsers/pidstat.py         |  5 -----
 jc/parsers/ping.py            |  5 -----
 jc/parsers/pip_list.py        |  5 -----
 jc/parsers/pip_show.py        |  5 -----
 jc/parsers/ps.py              |  5 -----
 jc/parsers/route.py           |  5 -----
 jc/parsers/rpm_qi.py          |  5 -----
 jc/parsers/rsync.py           |  5 -----
 jc/parsers/sfdisk.py          |  5 -----
 jc/parsers/shadow.py          |  5 -----
 jc/parsers/ss.py              |  5 -----
 jc/parsers/stat.py            |  5 -----
 jc/parsers/sysctl.py          |  5 -----
 jc/parsers/systemctl.py       |  5 -----
 jc/parsers/systemctl_lj.py    |  5 -----
 jc/parsers/systemctl_ls.py    |  5 -----
 jc/parsers/systemctl_luf.py   |  5 -----
 jc/parsers/systeminfo.py      |  5 -----
 jc/parsers/time.py            |  5 -----
 jc/parsers/timedatectl.py     |  5 -----
 jc/parsers/tracepath.py       |  5 -----
 jc/parsers/traceroute.py      |  5 -----
 jc/parsers/ufw.py             |  5 -----
 jc/parsers/ufw_appinfo.py     |  5 -----
 jc/parsers/uname.py           |  5 -----
 jc/parsers/universal.py       | 18 +++++++++++++++++-
 jc/parsers/upower.py          |  5 -----
 jc/parsers/uptime.py          |  5 -----
 jc/parsers/vmstat.py          |  5 -----
 jc/parsers/w.py               |  5 -----
 jc/parsers/wc.py              |  5 -----
 jc/parsers/who.py             |  5 -----
 jc/parsers/xml.py             |  5 -----
 jc/parsers/xrandr.py          |  5 -----
 jc/parsers/yaml.py            |  5 -----
 jc/parsers/zipinfo.py         |  5 -----
 169 files changed, 34 insertions(+), 837 deletions(-)
b784db404d0569a4c630eb124b37b0b1d0846453 streaming doc formatting update
 docs/parsers/csv_s.md     | 13 +++----------
 docs/parsers/iostat_s.md  | 20 ++++++++++----------
 docs/parsers/ls_s.md      | 16 ++++------------
 docs/parsers/pidstat_s.md |  9 ++++++++-
 docs/parsers/ping_s.md    | 13 +++----------
 docs/parsers/rsync_s.md   | 13 +++----------
 docs/parsers/stat_s.md    | 13 +++----------
 docs/parsers/vmstat_s.md  | 23 ++++++++---------------
 jc/parsers/csv_s.py       | 13 +++----------
 jc/parsers/foo_s.py       | 13 +++----------
 jc/parsers/iostat_s.py    | 20 ++++++++++----------
 jc/parsers/ls_s.py        | 16 ++++------------
 jc/parsers/pidstat_s.py   |  9 ++++++++-
 jc/parsers/ping_s.py      | 13 +++----------
 jc/parsers/rsync_s.py     | 13 +++----------
 jc/parsers/stat_s.py      | 13 +++----------
 jc/parsers/vmstat_s.py    | 23 ++++++++---------------
 17 files changed, 87 insertions(+), 166 deletions(-)
8aee4517bb4c2eebdd9873f7eb0827cd33b85519 doc formatting
 docs/parsers/pidstat_s.md | 19 ++++++-------------
 jc/parsers/pidstat_s.py   | 19 ++++++-------------
 2 files changed, 12 insertions(+), 26 deletions(-)
a5fb8fbf94b3b80bef82f078ad6582260b13e374 streaming doc update
 docs/parsers/csv_s.md     | 12 +++++------
 docs/parsers/iostat_s.md  | 14 ++++++-------
 docs/parsers/ls_s.md      | 14 ++++++-------
 docs/parsers/pidstat_s.md | 53 +++++++++++++++++++++++++++++++++--------------
 docs/parsers/ping_s.md    | 14 ++++++-------
 docs/parsers/rsync_s.md   | 14 ++++++-------
 docs/parsers/stat_s.md    | 14 ++++++-------
 docs/parsers/vmstat_s.md  | 14 ++++++-------
 jc/parsers/csv_s.py       | 12 +++++------
 jc/parsers/foo_s.py       | 14 ++++++-------
 jc/parsers/iostat_s.py    | 14 ++++++-------
 jc/parsers/ls_s.py        | 14 ++++++-------
 jc/parsers/pidstat_s.py   | 53 +++++++++++++++++++++++++++++++++--------------
 jc/parsers/ping_s.py      | 14 ++++++-------
 jc/parsers/rsync_s.py     | 14 ++++++-------
 jc/parsers/stat_s.py      | 14 ++++++-------
 jc/parsers/vmstat_s.py    | 14 ++++++-------
 17 files changed, 164 insertions(+), 148 deletions(-)
b9365e2ac28c3eacf53bc101857f7f1d7286ec20 add pidstat-s tests
 .../centos-7.7/pidstat-hdlrsuw-2-5-streaming.json  |  1 +
 .../centos-7.7/pidstat-hdlrsuw-streaming.json      |  1 +
 .../fixtures/centos-7.7/pidstat-hl-streaming.json  |  1 +
 tests/test_pidstat_s.py                            | 71 ++++++++++++++++++++++
 4 files changed, 74 insertions(+)
696338c1a3d462afbe677a6f2ebe08d06ef4046a add streaming test template
 tests/_test_foo_s.py | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)
4f0616190bb842411353d65650b78a65d8cbdc28 doc update
 docs/parsers/pidstat_s.md | 2 +-
 docs/parsers/rsync_s.md   | 2 +-
 man/jc.1                  | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
3278cb0de301ee542b1fe8245a6c359193373b6b add type hints
 docs/parsers/arp.md |  2 +-
 jc/parsers/arp.py   | 23 ++++++++++++++---------
 2 files changed, 15 insertions(+), 10 deletions(-)
4fc04256a567c502a88ac8a1bd189746387c93f1 rollback noReturn to tuple
 jc/parsers/foo_s.py     | 4 ++--
 jc/parsers/pidstat_s.py | 4 ++--
 jc/parsers/rsync_s.py   | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)
e4ae0fea63c0386c1b3239607fd6a58738d23633 fix type annotation
 docs/parsers/pidstat_s.md | 2 +-
 docs/parsers/rsync_s.md   | 2 +-
 jc/parsers/foo_s.py       | 4 ++--
 jc/parsers/pidstat_s.py   | 4 ++--
 jc/parsers/rsync_s.py     | 4 ++--
 5 files changed, 8 insertions(+), 8 deletions(-)
d3727ea0906d6167aa48c340519242b010469d98 doc update
 CHANGELOG                 |  3 +-
 README.md                 |  1 +
 docs/parsers/pidstat_s.md | 91 +++++++++++++++++++++++++++++++++++++++++++++++
 man/jc.1                  |  5 +++
 4 files changed, 99 insertions(+), 1 deletion(-)
0d13909cf63d14008607c5640d074ab4073115e5 add pidstat-s parser
 jc/lib.py               |   1 +
 jc/parsers/pidstat_s.py | 167 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 168 insertions(+)
c52ca20e285895d2afb685a2a5ca275de7901033 fix comment
 jc/parsers/pidstat.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
21f27f26c81c75234221a5193c7d3903323e2032 add pidstat tests
 tests/fixtures/centos-7.7/pidstat-hdlrsuw-2-5.json |  1 +
 tests/fixtures/centos-7.7/pidstat-hdlrsuw.json     |  1 +
 tests/fixtures/centos-7.7/pidstat-hl.json          |  1 +
 tests/test_pidstat.py                              | 69 ++++++++++++++++++++++
 4 files changed, 72 insertions(+)
5e7a87f39782d12070a895440ff541800df91b9c add test template
 tests/_test_foo.py | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)
845d763829acd03fff1d2fad6e9691f04bd1a2aa format docs to fit 80 columns
 docs/parsers/pidstat.md | 4 ++--
 jc/parsers/pidstat.py   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
f5c7d52ec72f5ff4b77d5ac4491f330575b9f10f formatting
 man/jc.1                   | 6 +-----
 templates/manpage_template | 6 +-----
 2 files changed, 2 insertions(+), 10 deletions(-)
c3198a58744803f52113f80967c7259d781e2328 formatting
 man/jc.1                   | 17 +++++++++++------
 templates/manpage_template | 17 +++++++++++------
 2 files changed, 22 insertions(+), 12 deletions(-)
bbd4afa73542ba6596aed77426bb494fbcf23196 add pidstat to docs
 README.md | 1 +
 man/jc.1  | 7 ++++++-
 2 files changed, 7 insertions(+), 1 deletion(-)
ae754a84bf5fc35b248bbc5f7b0fa8e871765819 doc update
 docs/parsers/arp.md     |   2 +-
 docs/parsers/pidstat.md | 156 ++++++++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/pidstat.py   | 138 ++++++++++++++++++++++++++++++++----------
 3 files changed, 263 insertions(+), 33 deletions(-)
3389eb5debe0f0ba01ece01e20048608bf357e70 initial working parser
 jc/parsers/pidstat.py                             | 52 +++++++++++---
 tests/fixtures/centos-7.7/pidstat-hdlrsuw-2-5.out | 47 +++++++++++++
 tests/fixtures/centos-7.7/pidstat-hdlrsuw.out     | 83 +++++++++++++++++++++++
 tests/fixtures/centos-7.7/pidstat-hl.out          | 46 +++++++++++++
 4 files changed, 219 insertions(+), 9 deletions(-)
01f2c1e71f87ab401d487be4d6d150cb67c91437 add pidstat parser
 CHANGELOG                             |   3 +
 jc/lib.py                             |   3 +-
 jc/parsers/pidstat.py                 | 112 ++++++++++++++++++++++++++++++++++
 setup.py                              |   2 +-
 tests/fixtures/centos-7.7/pidstat.out |  44 +++++++++++++
 5 files changed, 162 insertions(+), 2 deletions(-)
8bfbf8f1bcd233a8ecd34012e140eb29164ca5fb simplify error message
 jc/cli.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
f4242669bac3af5eb196c46d4146823aacec40ab minor cleanup
 jc/parsers/arp.py | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)
bebd9331f1fb9b80f8cb4a5cfacd68461743004e Merge pull request #211 from kellyjonbrazil/master
ac61e9ad2c9c4e864db02db04cbf907fb0efd99b add pypi link
 README.md                 | 1 +
 templates/readme_template | 1 +
 2 files changed, 2 insertions(+)
648ef4d8a9c33a36d4bb2c135fe59b031de8f24c update badge links
 README.md                 | 4 ++--
 templates/readme_template | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
727fc9a701e9aae75d3d2b708010da1d0dc8781a doc update
 docs/parsers/date.md | 2 +-
 man/jc.1             | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
306512d6bb53af18516fc10b15c7ec79cb02cc98 force AM/PM to uppercase in date parser
 CHANGELOG          | 3 +++
 jc/lib.py          | 2 +-
 jc/parsers/date.py | 4 ++--
 setup.py           | 2 +-
 4 files changed, 7 insertions(+), 4 deletions(-)
6afb1d389ca9dfd7880386d380fee032b7eb92e2 Merge pull request #209 from kellyjonbrazil/dev
98619834818c181cb50a9605fe166b6153c46095 doc update
 man/jc.1 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
ca79053db08542849136ae13fdb4d1d90b79a7e5 document pydoc version
 docgen.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
29c263f87810f8566ebdad2358e99896391adfd8 pydoc formatting fixes
 docs/lib.md                   | 16 ++++++++--------
 docs/parsers/acpi.md          |  2 +-
 docs/parsers/airport.md       |  2 +-
 docs/parsers/airport_s.md     |  2 +-
 docs/parsers/arp.md           |  2 +-
 docs/parsers/blkid.md         |  2 +-
 docs/parsers/cksum.md         |  2 +-
 docs/parsers/crontab.md       |  2 +-
 docs/parsers/crontab_u.md     |  2 +-
 docs/parsers/csv.md           |  2 +-
 docs/parsers/csv_s.md         |  2 +-
 docs/parsers/date.md          |  2 +-
 docs/parsers/df.md            |  2 +-
 docs/parsers/dig.md           |  2 +-
 docs/parsers/dir.md           |  2 +-
 docs/parsers/dmidecode.md     |  2 +-
 docs/parsers/dpkg_l.md        |  2 +-
 docs/parsers/du.md            |  2 +-
 docs/parsers/env.md           |  2 +-
 docs/parsers/file.md          |  2 +-
 docs/parsers/finger.md        |  2 +-
 docs/parsers/free.md          |  2 +-
 docs/parsers/fstab.md         |  2 +-
 docs/parsers/group.md         |  2 +-
 docs/parsers/gshadow.md       |  2 +-
 docs/parsers/hash.md          |  2 +-
 docs/parsers/hashsum.md       |  2 +-
 docs/parsers/hciconfig.md     |  2 +-
 docs/parsers/history.md       |  2 +-
 docs/parsers/hosts.md         |  2 +-
 docs/parsers/id.md            |  2 +-
 docs/parsers/ifconfig.md      |  2 +-
 docs/parsers/ini.md           |  2 +-
 docs/parsers/iostat.md        |  2 +-
 docs/parsers/iostat_s.md      |  2 +-
 docs/parsers/iptables.md      |  2 +-
 docs/parsers/iw_scan.md       |  2 +-
 docs/parsers/jar_manifest.md  |  2 +-
 docs/parsers/jobs.md          |  2 +-
 docs/parsers/kv.md            |  2 +-
 docs/parsers/last.md          |  2 +-
 docs/parsers/ls.md            |  2 +-
 docs/parsers/ls_s.md          |  2 +-
 docs/parsers/lsblk.md         |  2 +-
 docs/parsers/lsmod.md         |  2 +-
 docs/parsers/lsof.md          |  2 +-
 docs/parsers/lsusb.md         |  2 +-
 docs/parsers/mount.md         |  2 +-
 docs/parsers/netstat.md       |  2 +-
 docs/parsers/nmcli.md         |  2 +-
 docs/parsers/ntpq.md          |  2 +-
 docs/parsers/passwd.md        |  2 +-
 docs/parsers/ping.md          |  2 +-
 docs/parsers/ping_s.md        |  2 +-
 docs/parsers/pip_list.md      |  2 +-
 docs/parsers/pip_show.md      |  2 +-
 docs/parsers/ps.md            |  2 +-
 docs/parsers/route.md         |  2 +-
 docs/parsers/rpm_qi.md        |  2 +-
 docs/parsers/rsync.md         |  2 +-
 docs/parsers/rsync_s.md       |  2 +-
 docs/parsers/sfdisk.md        |  2 +-
 docs/parsers/shadow.md        |  2 +-
 docs/parsers/ss.md            |  2 +-
 docs/parsers/stat.md          |  2 +-
 docs/parsers/stat_s.md        |  2 +-
 docs/parsers/sysctl.md        |  2 +-
 docs/parsers/systemctl.md     |  2 +-
 docs/parsers/systemctl_lj.md  |  2 +-
 docs/parsers/systemctl_ls.md  |  2 +-
 docs/parsers/systemctl_luf.md |  2 +-
 docs/parsers/systeminfo.md    |  2 +-
 docs/parsers/time.md          |  2 +-
 docs/parsers/timedatectl.md   |  2 +-
 docs/parsers/tracepath.md     |  2 +-
 docs/parsers/traceroute.md    |  2 +-
 docs/parsers/ufw.md           |  2 +-
 docs/parsers/ufw_appinfo.md   |  2 +-
 docs/parsers/uname.md         |  2 +-
 docs/parsers/universal.md     |  4 ++--
 docs/parsers/upower.md        |  2 +-
 docs/parsers/uptime.md        |  2 +-
 docs/parsers/vmstat.md        |  2 +-
 docs/parsers/vmstat_s.md      |  2 +-
 docs/parsers/w.md             |  2 +-
 docs/parsers/wc.md            |  2 +-
 docs/parsers/who.md           |  2 +-
 docs/parsers/xml.md           |  2 +-
 docs/parsers/xrandr.md        |  2 +-
 docs/parsers/yaml.md          |  2 +-
 docs/parsers/zipinfo.md       |  2 +-
 docs/streaming.md             | 12 ++++++------
 docs/utils.md                 | 20 ++++++++++----------
 93 files changed, 115 insertions(+), 115 deletions(-)
128c3c170abc6a702ae044b073fb9d992d4262b1 doc update
 CHANGELOG | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
a531ab8864fca27b55d83b55055eaef1c36128cd formatting
 docs/readme.md | 4 ++--
 jc/__init__.py | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
0c1be7cc11ec75a5738483d68d053e702eb34fc1 reduce dig example size
 README.md                 | 11 ++---------
 templates/readme_template | 11 ++---------
 2 files changed, 4 insertions(+), 18 deletions(-)
e4222b45f54e6179e22d7924c083e4642b9974ae fix names to mod names
 jc/lib.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
ac32c69c31e8eff22252d7aded08f6cb14622086 formatting
 docs/parsers/universal.md | 2 +-
 jc/parsers/universal.py   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
cb2dfeac8d44b733ad9d364e8c6d233a381bfae1 change name to JSON Convert
 README.md                         |  4 +---
 docgen.sh                         |  6 +++---
 docs/lib.md                       | 25 +++++++++++++++----------
 docs/parsers/acpi.md              |  4 ++--
 docs/parsers/airport.md           |  4 ++--
 docs/parsers/airport_s.md         |  4 ++--
 docs/parsers/arp.md               |  4 ++--
 docs/parsers/blkid.md             |  4 ++--
 docs/parsers/cksum.md             |  4 ++--
 docs/parsers/crontab.md           |  4 ++--
 docs/parsers/crontab_u.md         |  4 ++--
 docs/parsers/csv.md               |  4 ++--
 docs/parsers/csv_s.md             |  4 ++--
 docs/parsers/date.md              |  4 ++--
 docs/parsers/df.md                |  4 ++--
 docs/parsers/dig.md               |  4 ++--
 docs/parsers/dir.md               |  4 ++--
 docs/parsers/dmidecode.md         |  4 ++--
 docs/parsers/dpkg_l.md            |  4 ++--
 docs/parsers/du.md                |  4 ++--
 docs/parsers/env.md               |  4 ++--
 docs/parsers/file.md              |  4 ++--
 docs/parsers/finger.md            |  4 ++--
 docs/parsers/free.md              |  4 ++--
 docs/parsers/fstab.md             |  4 ++--
 docs/parsers/group.md             |  4 ++--
 docs/parsers/gshadow.md           |  4 ++--
 docs/parsers/hash.md              |  4 ++--
 docs/parsers/hashsum.md           |  4 ++--
 docs/parsers/hciconfig.md         |  4 ++--
 docs/parsers/history.md           |  4 ++--
 docs/parsers/hosts.md             |  4 ++--
 docs/parsers/id.md                |  4 ++--
 docs/parsers/ifconfig.md          |  4 ++--
 docs/parsers/ini.md               |  4 ++--
 docs/parsers/iostat.md            |  4 ++--
 docs/parsers/iostat_s.md          |  4 ++--
 docs/parsers/iptables.md          |  4 ++--
 docs/parsers/iw_scan.md           |  4 ++--
 docs/parsers/jar_manifest.md      |  4 ++--
 docs/parsers/jobs.md              |  4 ++--
 docs/parsers/kv.md                |  4 ++--
 docs/parsers/last.md              |  4 ++--
 docs/parsers/ls.md                |  4 ++--
 docs/parsers/ls_s.md              |  4 ++--
 docs/parsers/lsblk.md             |  4 ++--
 docs/parsers/lsmod.md             |  4 ++--
 docs/parsers/lsof.md              |  4 ++--
 docs/parsers/lsusb.md             |  4 ++--
 docs/parsers/mount.md             |  4 ++--
 docs/parsers/netstat.md           |  4 ++--
 docs/parsers/nmcli.md             |  4 ++--
 docs/parsers/ntpq.md              |  4 ++--
 docs/parsers/passwd.md            |  4 ++--
 docs/parsers/ping.md              |  4 ++--
 docs/parsers/ping_s.md            |  4 ++--
 docs/parsers/pip_list.md          |  4 ++--
 docs/parsers/pip_show.md          |  4 ++--
 docs/parsers/ps.md                |  4 ++--
 docs/parsers/route.md             |  4 ++--
 docs/parsers/rpm_qi.md            |  4 ++--
 docs/parsers/rsync.md             |  4 ++--
 docs/parsers/rsync_s.md           |  9 ++++++---
 docs/parsers/sfdisk.md            |  4 ++--
 docs/parsers/shadow.md            |  4 ++--
 docs/parsers/ss.md                |  4 ++--
 docs/parsers/stat.md              |  4 ++--
 docs/parsers/stat_s.md            |  4 ++--
 docs/parsers/sysctl.md            |  4 ++--
 docs/parsers/systemctl.md         |  4 ++--
 docs/parsers/systemctl_lj.md      |  4 ++--
 docs/parsers/systemctl_ls.md      |  4 ++--
 docs/parsers/systemctl_luf.md     |  4 ++--
 docs/parsers/systeminfo.md        |  4 ++--
 docs/parsers/time.md              |  4 ++--
 docs/parsers/timedatectl.md       |  4 ++--
 docs/parsers/tracepath.md         |  4 ++--
 docs/parsers/traceroute.md        |  4 ++--
 docs/parsers/ufw.md               |  4 ++--
 docs/parsers/ufw_appinfo.md       |  4 ++--
 docs/parsers/uname.md             |  4 ++--
 docs/parsers/universal.md         |  6 +++---
 docs/parsers/upower.md            |  4 ++--
 docs/parsers/uptime.md            |  4 ++--
 docs/parsers/vmstat.md            |  4 ++--
 docs/parsers/vmstat_s.md          |  4 ++--
 docs/parsers/w.md                 |  4 ++--
 docs/parsers/wc.md                |  4 ++--
 docs/parsers/who.md               |  4 ++--
 docs/parsers/xml.md               |  4 ++--
 docs/parsers/xrandr.md            |  4 ++--
 docs/parsers/yaml.md              |  4 ++--
 docs/parsers/zipinfo.md           |  4 ++--
 docs/readme.md                    |  2 +-
 docs/streaming.md                 | 17 +++++++++--------
 docs/utils.md                     | 29 ++++++++++++++++-------------
 jc/__init__.py                    |  2 +-
 jc/cli.py                         |  4 ++--
 jc/exceptions.py                  |  2 +-
 jc/lib.py                         |  2 +-
 jc/parsers/acpi.py                |  2 +-
 jc/parsers/airport.py             |  2 +-
 jc/parsers/airport_s.py           |  2 +-
 jc/parsers/arp.py                 |  2 +-
 jc/parsers/blkid.py               |  2 +-
 jc/parsers/cksum.py               |  2 +-
 jc/parsers/crontab.py             |  2 +-
 jc/parsers/crontab_u.py           |  2 +-
 jc/parsers/csv.py                 |  2 +-
 jc/parsers/csv_s.py               |  2 +-
 jc/parsers/date.py                |  2 +-
 jc/parsers/df.py                  |  2 +-
 jc/parsers/dig.py                 |  2 +-
 jc/parsers/dir.py                 |  2 +-
 jc/parsers/dmidecode.py           |  2 +-
 jc/parsers/dpkg_l.py              |  2 +-
 jc/parsers/du.py                  |  2 +-
 jc/parsers/env.py                 |  2 +-
 jc/parsers/file.py                |  2 +-
 jc/parsers/finger.py              |  2 +-
 jc/parsers/foo.py                 |  2 +-
 jc/parsers/foo_s.py               |  2 +-
 jc/parsers/free.py                |  2 +-
 jc/parsers/fstab.py               |  2 +-
 jc/parsers/group.py               |  2 +-
 jc/parsers/gshadow.py             |  2 +-
 jc/parsers/hash.py                |  2 +-
 jc/parsers/hashsum.py             |  2 +-
 jc/parsers/hciconfig.py           |  2 +-
 jc/parsers/history.py             |  2 +-
 jc/parsers/hosts.py               |  2 +-
 jc/parsers/id.py                  |  2 +-
 jc/parsers/ifconfig.py            |  2 +-
 jc/parsers/ini.py                 |  2 +-
 jc/parsers/iostat.py              |  2 +-
 jc/parsers/iostat_s.py            |  2 +-
 jc/parsers/iptables.py            |  2 +-
 jc/parsers/iw_scan.py             |  2 +-
 jc/parsers/jar_manifest.py        |  2 +-
 jc/parsers/jobs.py                |  2 +-
 jc/parsers/kv.py                  |  2 +-
 jc/parsers/last.py                |  2 +-
 jc/parsers/ls.py                  |  2 +-
 jc/parsers/ls_s.py                |  2 +-
 jc/parsers/lsblk.py               |  2 +-
 jc/parsers/lsmod.py               |  2 +-
 jc/parsers/lsof.py                |  2 +-
 jc/parsers/lsusb.py               |  2 +-
 jc/parsers/mount.py               |  2 +-
 jc/parsers/netstat.py             |  2 +-
 jc/parsers/netstat_freebsd_osx.py |  2 +-
 jc/parsers/netstat_linux.py       |  2 +-
 jc/parsers/nmcli.py               |  2 +-
 jc/parsers/ntpq.py                |  2 +-
 jc/parsers/passwd.py              |  2 +-
 jc/parsers/ping.py                |  2 +-
 jc/parsers/ping_s.py              |  2 +-
 jc/parsers/pip_list.py            |  2 +-
 jc/parsers/pip_show.py            |  2 +-
 jc/parsers/ps.py                  |  2 +-
 jc/parsers/route.py               |  2 +-
 jc/parsers/rpm_qi.py              |  2 +-
 jc/parsers/rsync.py               |  2 +-
 jc/parsers/rsync_s.py             |  2 +-
 jc/parsers/sfdisk.py              |  2 +-
 jc/parsers/shadow.py              |  2 +-
 jc/parsers/ss.py                  |  2 +-
 jc/parsers/stat.py                |  2 +-
 jc/parsers/stat_s.py              |  2 +-
 jc/parsers/sysctl.py              |  2 +-
 jc/parsers/systemctl.py           |  2 +-
 jc/parsers/systemctl_lj.py        |  2 +-
 jc/parsers/systemctl_ls.py        |  2 +-
 jc/parsers/systemctl_luf.py       |  2 +-
 jc/parsers/systeminfo.py          |  2 +-
 jc/parsers/time.py                |  2 +-
 jc/parsers/timedatectl.py         |  2 +-
 jc/parsers/tracepath.py           |  2 +-
 jc/parsers/traceroute.py          |  2 +-
 jc/parsers/ufw.py                 |  2 +-
 jc/parsers/ufw_appinfo.py         |  2 +-
 jc/parsers/uname.py               |  2 +-
 jc/parsers/universal.py           |  2 +-
 jc/parsers/upower.py              |  2 +-
 jc/parsers/uptime.py              |  2 +-
 jc/parsers/vmstat.py              |  2 +-
 jc/parsers/vmstat_s.py            |  2 +-
 jc/parsers/w.py                   |  2 +-
 jc/parsers/wc.py                  |  2 +-
 jc/parsers/who.py                 |  2 +-
 jc/parsers/xml.py                 |  2 +-
 jc/parsers/xrandr.py              |  2 +-
 jc/parsers/yaml.py                |  2 +-
 jc/parsers/zipinfo.py             |  2 +-
 jc/streaming.py                   |  2 +-
 jc/utils.py                       |  2 +-
 man/jc.1                          |  2 +-
 templates/manpage_template        |  2 +-
 templates/readme_template         |  4 +---
 199 files changed, 334 insertions(+), 326 deletions(-)
9a3602e70b865a3015bd700b30d1076e17511a9b doc update
 docs/lib.md | 4 +---
 jc/lib.py   | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)
a9f53ee258e18bc90934e263d8dc96feee84e939 optimize streaming parser detection in cli
 jc/cli.py |  4 ++--
 jc/lib.py | 15 +++++++++++++--
 2 files changed, 15 insertions(+), 4 deletions(-)
6be3d3d98222a262c5138bb09f2951ccfab96110 doc update
 CHANGELOG      |  3 ++-
 docs/lib.md    | 25 +++++++++++++++++++++++++
 docs/readme.md | 16 ++++++++++++++++
 3 files changed, 43 insertions(+), 1 deletion(-)
e49df7208377ab34a74240a06f35f17fee4b8203 use streaming parser list to find streaming parsers
 jc/cli.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
7ede7be7bf7b1a7d29d158b3b21c20fff4990e72 add standard and streaming list functions
 jc/__init__.py | 17 +++++++++++++++++
 jc/lib.py      | 25 +++++++++++++++++++++++++
 2 files changed, 42 insertions(+)
4758e28a36e2a55497e4f722d386a6b5cc30dc4d formatting
 docs/readme.md | 18 ++++++++++--------
 jc/__init__.py | 18 ++++++++++--------
 2 files changed, 20 insertions(+), 16 deletions(-)
4a1ee151b3cb054d84cd964fd62f5855f765751d add dhcp6 options to docs
 docs/parsers/nmcli.md |  4 ++++
 jc/parsers/nmcli.py   | 16 +++++-----------
 2 files changed, 9 insertions(+), 11 deletions(-)
8c8afc1a922e3c30fcf501d169b33a68b65cd3e0 formatting
 docs/readme.md | 42 ++++++++++++++++++++++++++++++------------
 jc/__init__.py | 42 ++++++++++++++++++++++++++++++------------
 2 files changed, 60 insertions(+), 24 deletions(-)
ed205f7720d98c225c917c252ed7a6c9e6e8c2b8 doc update
 docs/parsers/nmcli.md | 8 ++++----
 jc/parsers/nmcli.py   | 8 ++++----
 man/jc.1              | 2 +-
 3 files changed, 9 insertions(+), 9 deletions(-)
d65f7ae992abc33140c00714d442290103661757 add nmcli
 EXAMPLES.md | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)
e2ffef57b9a474048fe72cf42aebfa6bfaf2e42b fix test
 tests/test_nmcli.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
002caa9fb3b65f1ae64df25cc39c3de130403e76 add fedora tests
 .../fedora32/nmcli-connection-show-ens33.json      |   1 +
 .../fedora32/nmcli-connection-show-ens33.out       | 148 +++++++++++++++++++++
 .../fixtures/fedora32/nmcli-device-show-ens33.json |   1 +
 .../fixtures/fedora32/nmcli-device-show-ens33.out  |  26 ++++
 tests/fixtures/fedora32/nmcli-device-show.json     |   1 +
 tests/fixtures/fedora32/nmcli-device-show.out      |  39 ++++++
 tests/test_nmcli.py                                |  36 +++++
 7 files changed, 252 insertions(+)
b7c6faf3daf8eb0c42a222778baa440c5a018c75 enhance error message
 jc/cli.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
554ca61d1764b81dea06b6b013d0444072f0662a add tests
 .../fixtures/centos-7.7/nmcli-connection-all.json  |   1 +
 .../centos-7.7/nmcli-connection-show-ens33.json    |   1 +
 tests/fixtures/centos-7.7/nmcli-connection.json    |   1 +
 tests/fixtures/centos-7.7/nmcli-device-all.json    |   1 +
 .../centos-7.7/nmcli-device-show-ens33.json        |   1 +
 .../fixtures/centos-7.7/nmcli-device-show-lo.json  |   1 +
 tests/fixtures/centos-7.7/nmcli-device-show.json   |   1 +
 tests/fixtures/centos-7.7/nmcli-device.json        |   1 +
 tests/fixtures/centos-7.7/nmcli-general-all.json   |   1 +
 .../centos-7.7/nmcli-general-permissions.json      |   1 +
 tests/test_nmcli.py                                | 155 +++++++++++++++++++++
 11 files changed, 165 insertions(+)
7b9722d255a16981099dc803beda7abe0d46106a fix formatting
 man/jc.1                   | 30 +++++++++++++-----------------
 templates/manpage_template | 30 +++++++++++++-----------------
 2 files changed, 26 insertions(+), 34 deletions(-)
5505bde8ef77db0885f08d8d04160cbc4418dd67 doc update
 docs/parsers/zipinfo.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
dbcd9a4060647be24bca2a8d577f11925a9ac210 bump version to 1.0
 jc/parsers/zipinfo.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
4bdeb2b3aa063c2772f5c44e52acbe16e915cc3a simplify warning message
 jc/parsers/xrandr.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
6ae1d03187c6d4b669f6f74db1be7c9cf07adaed doc fix
 docs/parsers/nmcli.md | 2 +-
 jc/parsers/nmcli.py   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
f75b06abe4af152be094f8bc1ba5ce66b25e35e2 doc update
 README.md             |   1 +
 docs/parsers/nmcli.md | 172 ++++++++++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/nmcli.py   |   3 +-
 man/jc.1              |   7 +-
 4 files changed, 180 insertions(+), 3 deletions(-)
1923925710dadc4116202855ae884ef18394d428 update changelog
 CHANGELOG | 4 ++++
 1 file changed, 4 insertions(+)
2c5c57ae04df3b7abfb1c3423c3350c7c2ab5dcd version bump
 jc/lib.py | 2 +-
 setup.py  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
f4d11d697e000135720a971edf84dcad31a1bec8 finish use cases and doc
 jc/parsers/nmcli.py | 170 +++++++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 155 insertions(+), 15 deletions(-)
7f409b7082aa9525cc9280e3c5c92bc82089cf14 enhance ParseError cli message
 jc/cli.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
937fa5aad2519f588c6d0feb8f08211f6b99872f split dhcp options
 jc/parsers/nmcli.py | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
19dcef513565c34a31f6d735577da5e25f9bd2cd firm up flow. add/remove text. parse routes
 jc/parsers/nmcli.py | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 69 insertions(+), 2 deletions(-)
3d01356461eb2790f859968da7f5cb4fd2ee9898 add text_kv function
 jc/parsers/nmcli.py | 30 +++++++++++++++++++++++++++---
 1 file changed, 27 insertions(+), 3 deletions(-)
2d6f666fa4c791e7995f6b0c1490dac73ce224c3 add dev show and conn show parsers
 jc/parsers/nmcli.py | 77 ++++++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 61 insertions(+), 16 deletions(-)
4dda895f122ecc19b267ed1485cf656bae76ff07 initial nmcli parser
 jc/lib.py                                          |   1 +
 jc/parsers/nmcli.py                                | 130 ++++++++++++++++++++
 tests/fixtures/centos-7.7/nmcli-connection-all.out |   3 +
 .../centos-7.7/nmcli-connection-show-ens33.out     | 136 +++++++++++++++++++++
 tests/fixtures/centos-7.7/nmcli-connection.out     |   3 +
 tests/fixtures/centos-7.7/nmcli-device-all.out     |   5 +
 .../centos-7.7/nmcli-device-show-ens33.out         |  18 +++
 tests/fixtures/centos-7.7/nmcli-device-show-lo.out |  12 ++
 tests/fixtures/centos-7.7/nmcli-device-show.out    |  42 +++++++
 tests/fixtures/centos-7.7/nmcli-device.out         |   4 +
 tests/fixtures/centos-7.7/nmcli-general-all.out    |   3 +
 .../centos-7.7/nmcli-general-permissions.out       |  18 +++
 tests/fixtures/centos-7.7/nmcli.out                |  29 +++++
 13 files changed, 404 insertions(+)
52617b1722ba2f089716b069f78f70a865430d61 Merge pull request #208 from kellyjonbrazil/master
961968a0fcaf37b64bc850c4945ba4b805a1fe54 fix schema
 docs/parsers/xrandr.md | 24 +++++++++++++-----------
 jc/parsers/xrandr.py   | 25 +++++++++++++------------
 2 files changed, 26 insertions(+), 23 deletions(-)
f026a788e5ca1231927e71fdbb1dadb2365a6518 add xrandr example
 EXAMPLES.md | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)
2f7c03eb35520be916c28a687031f8c6425839ba Merge pull request #207 from kellyjonbrazil/dev
3afaa48eee081e28262d1762c5ec23d318012822 doc update
 docs/parsers/csv_s.md    | 2 +-
 docs/parsers/iostat_s.md | 2 +-
 docs/parsers/ls_s.md     | 2 +-
 docs/parsers/ping_s.md   | 2 +-
 docs/parsers/rsync_s.md  | 2 +-
 docs/parsers/stat_s.md   | 2 +-
 docs/parsers/vmstat_s.md | 2 +-
 jc/parsers/csv_s.py      | 2 +-
 jc/parsers/foo_s.py      | 2 +-
 jc/parsers/iostat_s.py   | 2 +-
 jc/parsers/ls_s.py       | 2 +-
 jc/parsers/ping_s.py     | 2 +-
 jc/parsers/rsync_s.py    | 2 +-
 jc/parsers/stat_s.py     | 2 +-
 jc/parsers/vmstat_s.py   | 2 +-
 15 files changed, 15 insertions(+), 15 deletions(-)
3201452564fb0fb44ef9cc32217339370bd2521e add -p to example
 docs/parsers/xrandr.md | 2 +-
 jc/parsers/xrandr.py   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
7ee1e34fc71c0dbc08ba482b787d560fd5125f64 doc update
 docs/parsers/xrandr.md | 60 ++++++++++++++++++++++++++++++++++++++++++++++++--
 jc/parsers/xrandr.py   | 60 ++++++++++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 116 insertions(+), 4 deletions(-)
67dbf050161201f5016899591e81ab6253ac2322 add type annotations
 docs/parsers/xrandr.md | 2 +-
 jc/parsers/xrandr.py   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
4ac9f2e3dad4e7bd270bf5a8e61b729838b2c89c doc update
 CHANGELOG               | 3 ++-
 docs/parsers/rsync.md   | 6 ++----
 docs/parsers/rsync_s.md | 6 ++----
 jc/parsers/rsync.py     | 6 ++----
 jc/parsers/rsync_s.py   | 6 ++----
 5 files changed, 10 insertions(+), 17 deletions(-)
3f5f6e39a777ef524cb3a06a01321bb8c31d930d formatting
 docs/parsers/xrandr.md | 99 +++++++++++++++++++++++++-------------------------
 jc/parsers/xrandr.py   | 99 +++++++++++++++++++++++++-------------------------
 2 files changed, 100 insertions(+), 98 deletions(-)
4723db8e3cc4946b14c83b25d6e8c6d2309aa72e doc updates
 README.md               |   1 +
 docs/parsers/rsync.md   |   2 +-
 docs/parsers/rsync_s.md |   2 +-
 docs/parsers/xrandr.md  | 109 +++++++++++++++++++++++++++++++++++
 jc/parsers/rsync.py     |   2 +-
 jc/parsers/rsync_s.py   |   2 +-
 jc/parsers/xrandr.py    | 147 ++++++++++++++++++++++++------------------------
 man/jc.1                |   7 ++-
 8 files changed, 195 insertions(+), 77 deletions(-)
ca914ec77d1fc77e42860189e62ac2fb203d4931 add nodata test
 tests/test_xrandr.py | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)
dcc7f3f357ef016b4583fc1320fd2394788f271f Merge pull request #204 from lyterk/xrandr
cbdc66623671da335eafe132b7af79f884856f1d Return empty object if no results and filenames
 jc/parsers/xrandr.py                               | 32 ++--------------------
 .../{simple_xrandr.json => xrandr_simple.json}     |  0
 .../{simple_xrandr.out => xrandr_simple.out}       |  0
 3 files changed, 2 insertions(+), 30 deletions(-)
184ef3a1faeb406ce62076cff637ee86d61541fb doc update
 docs/parsers/rsync.md   | 6 +++++-
 docs/parsers/rsync_s.md | 6 +++++-
 man/jc.1                | 2 +-
 3 files changed, 11 insertions(+), 3 deletions(-)
c732f759445e335fe36586859b6fde7e27bb8901 doc update
 jc/parsers/rsync.py   | 6 +++++-
 jc/parsers/rsync_s.py | 6 +++++-
 2 files changed, 10 insertions(+), 2 deletions(-)
7a1ae4f5fc5328c32bf77235cfbd9f83ec995053 add library tests
 tests/{test_lib.py => test_jc_lib.py}     |  0
 tests/test_jc_streaming.py                | 61 +++++++++++++++++++++++++++++++
 tests/{test_utils.py => test_jc_utils.py} | 44 ++++++++++++++++++++++
 3 files changed, 105 insertions(+)
d04bc3757c482ec9062b2da91ded76c5dd6d106b add xrandr
 CHANGELOG | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
73e8391653145412cd852aca349466018c8b9084 formatting
 jc/utils.py | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)
f6c1463c1578db264ccb3d4c2677857ed906e965 formatting
 jc/cli.py | 68 +++++++++++++++++++++++++++++++++++++++++----------------------
 1 file changed, 44 insertions(+), 24 deletions(-)
d392c7f901a9d7c57617fbd03bd3f88ee0bf4132 doc update
 docs/parsers/date.md        |  2 +-
 docs/parsers/dig.md         |  2 +-
 docs/parsers/dir.md         |  2 +-
 docs/parsers/ls.md          |  2 +-
 docs/parsers/rpm_qi.md      |  2 +-
 docs/parsers/stat.md        |  2 +-
 docs/parsers/systeminfo.md  |  2 +-
 docs/parsers/timedatectl.md |  2 +-
 docs/parsers/upower.md      |  2 +-
 docs/parsers/vmstat.md      |  2 +-
 docs/parsers/who.md         |  2 +-
 docs/utils.md               | 11 +++++++++--
 12 files changed, 20 insertions(+), 13 deletions(-)
d0387f58205b2fd9b9860ce9656bb29ceec54340 add timestamp format hints for better performance
 jc/parsers/date.py        | 4 ++--
 jc/parsers/dig.py         | 4 ++--
 jc/parsers/dir.py         | 4 ++--
 jc/parsers/ls.py          | 4 ++--
 jc/parsers/ls_s.py        | 2 +-
 jc/parsers/rpm_qi.py      | 6 +++---
 jc/parsers/rsync.py       | 2 +-
 jc/parsers/rsync_s.py     | 2 +-
 jc/parsers/stat.py        | 4 ++--
 jc/parsers/stat_s.py      | 2 +-
 jc/parsers/systeminfo.py  | 8 +++++---
 jc/parsers/timedatectl.py | 4 ++--
 jc/parsers/upower.py      | 5 +++--
 jc/parsers/vmstat.py      | 5 +++--
 jc/parsers/vmstat_s.py    | 3 ++-
 jc/parsers/who.py         | 4 ++--
 16 files changed, 34 insertions(+), 29 deletions(-)
76f92908a3ba9cbadcc8e972afa8b1c4a69509bd add format hints for performance optimization
 jc/utils.py | 53 ++++++++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 44 insertions(+), 9 deletions(-)
1a115da67bdce9acfefbfb71fbac37e234b1babd add lru_cache maxsize for python 3.7 support
 jc/utils.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
f0a37ccf301eee5133a83b5dd96986fef0c38e7c use lru_cache for significant performance boost to timestamp
 jc/utils.py | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)
f331f53a531169520a4d8ea15d277560a49aedb5 use !r formatting instead of quotes
 CHANGELOG   | 1 +
 jc/utils.py | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
8611aff06b18212b7292d564beb27a2062fc3f41 add examples
 docs/parsers/rsync_s.md | 8 ++++----
 jc/parsers/rsync_s.py   | 8 ++++----
 2 files changed, 8 insertions(+), 8 deletions(-)
2f3f78e8d35a0ccccde0f84417400acdfe7fe0aa refine streaming parsers
 docgen.sh               |   3 ++
 docs/parsers/rsync_s.md |   2 +-
 docs/readme.md          |   2 +
 docs/streaming.md       | 114 ++++++++++++++++++++++++++++++++++++++++++++++++
 docs/utils.md           |  93 ---------------------------------------
 jc/__init__.py          |   2 +
 jc/parsers/csv_s.py     |  10 ++---
 jc/parsers/foo_s.py     |  14 +++---
 jc/parsers/iostat_s.py  |  15 +++----
 jc/parsers/ls_s.py      |  14 +++---
 jc/parsers/ping_s.py    |   4 +-
 jc/parsers/rsync_s.py   |  25 ++++-------
 jc/parsers/stat_s.py    |  22 ++++------
 jc/parsers/vmstat_s.py  |  16 +++----
 jc/streaming.py         |  41 +++++++++--------
 man/jc.1                |   2 +-
 16 files changed, 194 insertions(+), 185 deletions(-)
d1e0ee6123dfecd48d074cb7a40e98a15b6adcb9 use new streaming functions
 jc/parsers/ping_s.py | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)
45314c98083067f1f6fae9c477c99fabec223f29 move some functions to streaming
 jc/streaming.py | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 jc/utils.py     | 103 +---------------------------------------------------
 2 files changed, 112 insertions(+), 102 deletions(-)
df00945b46e27e10107f48d186eedf80b55bd40e move try/except inside for loop
 jc/parsers/foo_s.py    | 15 +++++++--------
 jc/parsers/iostat_s.py | 15 +++++++--------
 jc/parsers/ls_s.py     | 17 ++++++++---------
 jc/parsers/ping_s.py   | 19 +++++++++----------
 jc/parsers/rsync_s.py  | 21 ++++++++++++++-------
 jc/parsers/stat_s.py   | 21 ++++++++++++++-------
 6 files changed, 59 insertions(+), 49 deletions(-)
fda0050d867bcbe4f1d7e024b08e9881d0f57735 add rsync-s tests
 .../centos-7.7/rsync-i-logfile-streaming.json      |   1 +
 tests/fixtures/centos-7.7/rsync-i-streaming.json   |   1 +
 .../centos-7.7/rsync-i-v-logfile-streaming.json    |   1 +
 .../centos-7.7/rsync-i-vv-logfile-streaming.json   |   1 +
 .../rsync-i-vvv-logfile-nochange-streaming.json    |   1 +
 .../centos-7.7/rsync-i-vvv-logfile-streaming.json  |   1 +
 .../centos-7.7/rsync-ivvv-nochange-streaming.json  |   1 +
 .../fixtures/centos-7.7/rsync-ivvv-streaming.json  |   1 +
 tests/fixtures/generic/rsync-i-streaming.json      |   1 +
 .../rsync-i-vvv-logfile-nochange-streaming.json    |   1 +
 .../rsync-i-vvv-nochange-streaming.json            |   1 +
 .../osx-10.14.6/rsync-i-vvv-streaming.json         |   1 +
 tests/test_rsync_s.py                              | 179 +++++++++++++++++++++
 13 files changed, 191 insertions(+)
a76d46f9ecb1eff4d6cc7ad633c97cec0e99001a refactor ignore_exceptions
 CHANGELOG                |  2 +-
 docs/parsers/csv_s.md    |  5 +----
 docs/parsers/iostat_s.md |  5 +----
 docs/parsers/ls_s.md     |  5 +----
 docs/parsers/ping_s.md   |  5 +----
 docs/parsers/rsync_s.md  |  5 +----
 docs/parsers/stat_s.md   |  5 +----
 docs/parsers/vmstat_s.md |  5 +----
 docs/utils.md            | 15 +++++++++++----
 jc/parsers/csv_s.py      | 13 +++++++------
 jc/parsers/foo_s.py      | 11 ++++++-----
 jc/parsers/iostat_s.py   | 23 +++++++++++++----------
 jc/parsers/ls_s.py       | 20 +++++++++++---------
 jc/parsers/ping_s.py     | 22 ++++++++++++----------
 jc/parsers/rsync_s.py    | 11 ++++++-----
 jc/parsers/stat_s.py     | 30 ++++++++++++++----------------
 jc/parsers/vmstat_s.py   | 11 ++++++-----
 jc/utils.py              | 24 +++++++++++++++---------
 man/jc.1                 |  2 +-
 19 files changed, 110 insertions(+), 109 deletions(-)
6b069a82d0fa19c8d83b19b934bace556cb758d7 Add xrandr to lib.py
 jc/lib.py | 1 +
 1 file changed, 1 insertion(+)
6b793d052147406f388c4d5dc04f506a3456f409 Clean up types
 jc/parsers/xrandr.py | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)
ce9103f7cc666895dc7840d32797d8c7274cf1b8 Delete old files in template folder
 templates/xrandr_sample.txt         |  38 ------
 templates/xrandr_sample_verbose.txt | 249 ------------------------------------
 2 files changed, 287 deletions(-)
671d6dee36a37317257e09a080849205d301bceb doc update
 docs/parsers/csv_s.md    |  8 ++++++--
 docs/parsers/iostat_s.md |  8 ++++++--
 docs/parsers/ls_s.md     |  8 ++++++--
 docs/parsers/ping_s.md   |  8 ++++++--
 docs/parsers/rsync_s.md  | 10 +++++++---
 docs/parsers/stat_s.md   |  8 ++++++--
 docs/parsers/vmstat_s.md |  8 ++++++--
 docs/utils.md            | 40 ++++++++++++++++++++++++++++++++++++++++
 8 files changed, 83 insertions(+), 15 deletions(-)
49929c714c2d71a310b1dd95138dbd02f8704138 add add_jc_meta decorator
 jc/parsers/csv_s.py    | 14 ++++++++-----
 jc/parsers/foo_s.py    | 16 +++++++++------
 jc/parsers/iostat_s.py | 15 +++++++++-----
 jc/parsers/ls_s.py     | 14 ++++++++-----
 jc/parsers/ping_s.py   | 14 ++++++++-----
 jc/parsers/rsync_s.py  | 30 +++++++++++++++-------------
 jc/parsers/stat_s.py   | 21 ++++++++++++--------
 jc/parsers/vmstat_s.py | 14 ++++++++-----
 jc/utils.py            | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++
 9 files changed, 139 insertions(+), 52 deletions(-)
2986771f07de87bfee44dd3bbb4f285e249aad76 require python v3.7 and above since v3.6 is now deprecated
 setup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
520082d963b93d2bafeff921da3899686b22cadf New parser: xrandr
 jc/parsers/xrandr.py                      | 353 ++++++++++++++++++++++++++++++
 templates/xrandr_sample.txt               |  38 ++++
 templates/xrandr_sample_verbose.txt       | 249 +++++++++++++++++++++
 tests/fixtures/generic/simple_xrandr.json |  56 +++++
 tests/fixtures/generic/simple_xrandr.out  |   4 +
 tests/fixtures/generic/xrandr.out         |  38 ++++
 tests/fixtures/generic/xrandr_2.out       |  43 ++++
 tests/fixtures/generic/xrandr_device.out  |  15 ++
 tests/test_xrandr.py                      | 172 +++++++++++++++
 9 files changed, 968 insertions(+)
021e296d457140c32b5256c2b0acf66efc458896 move variable inits and regexes up
 jc/parsers/rsync_s.py | 204 +++++++++++++++++++++++++-------------------------
 1 file changed, 104 insertions(+), 100 deletions(-)
42e56fbcea6db64ea7f7045e7755af492c95aec2 move regex up
 jc/parsers/rsync.py | 23 +++++++++++------------
 1 file changed, 11 insertions(+), 12 deletions(-)
a5b62a4055df37b84751a7cdc14eb6f1ed907cd9 add processing and docs
 docs/parsers/rsync_s.md | 124 ++++++++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/rsync_s.py   | 124 +++++++++++++++++++++++++++++++++++++++++-------
 2 files changed, 230 insertions(+), 18 deletions(-)
be98c9b7f6c67e23ea101223934d67bba512e645 simplify try/except by moving outside for loop
 jc/parsers/foo_s.py | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)
aceeb8450796ae748a4d4abf75643f309d0a42e5 doc update
 CHANGELOG | 5 +++++
 README.md | 1 +
 man/jc.1  | 7 ++++++-
 3 files changed, 12 insertions(+), 1 deletion(-)
13910632173e7c815ff1161cf52fd1d17153c4a9 first draft rsync streaming parser
 jc/lib.py             |   1 +
 jc/parsers/rsync_s.py | 366 ++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 367 insertions(+)
52157addd0d6dff3bdb34f179ec14b07c8c27ccc fix compatible list
 jc/parsers/foo_s.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
ec0bc6615e22fdc536623e290d88b9725cb6a0ec formatting
 docs/utils.md | 2 +-
 jc/utils.py   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
2f80800e38256b363a4122195ec4aaffebe67d87 simplify all_parser_info comprehension
 jc/lib.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
3959d3347c8d3e838f8c3158c4db74e2fa2eb856 doc update
 docs/lib.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
b57d25c69a193d3866ea86a3a34edd67049b198d clean up return type for parser_info
 jc/lib.py | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)
63e43a7cabb51c624c962cdcc92a1199f18c77e5 doc updates
 README.md                 |   3 +-
 docs/lib.md               |   4 +-
 docs/parsers/rsync.md     | 163 ++++++++++++++++++++++++++++++++++++++++++++++
 docs/parsers/universal.md |   2 +-
 docs/parsers/zipinfo.md   |   2 +-
 docs/utils.md             |  28 ++++----
 man/jc.1                  |   7 +-
 7 files changed, 188 insertions(+), 21 deletions(-)
21719f9a26c25d896b0a5d49c9d7814175835e16 type annotation updates
 jc/lib.py   |  2 +-
 jc/utils.py | 36 +++++++++++++++++-------------------
 2 files changed, 18 insertions(+), 20 deletions(-)
96ec70de4f6178b0669fd9ab47cb303dc45e55c2 remove unneeded optional
 jc/parsers/universal.py | 6 +++---
 jc/utils.py             | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)
a15a1967dc06169ceeda0fd5b4857ce1a351f3d5 fix typo
 jc/lib.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
a10d7566294fe5246e68a16e355ce56dd3557ac5 fixy mypy issues
 jc/parsers/universal.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
0700dc7a64b121cf0243416e2cbb82fcef15f5a0 remove cygwin from compatible
 jc/parsers/rsync.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
ca654b214057e19839b89e0d9a66f1110f679c1e fix parser order
 jc/lib.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
4ff3b87c1c96d720f4e7fd39e613944e322cb388 remove future field from docstring
 jc/parsers/rsync.py | 1 -
 1 file changed, 1 deletion(-)
ea244fb7a91f1d1f8ffe0ea6dc10dfe5ab836878 formatting
 tests/test_rsync.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
8061f30e6fa58d22ed1a52e02c4d9c7f0bf132cf add centos -i nochange test
 tests/fixtures/centos-7.7/rsync-ivvv-nochange.json |   1 +
 tests/fixtures/centos-7.7/rsync-ivvv-nochange.out  | 224 +++++++++++++++++++++
 tests/test_rsync.py                                |  17 +-
 3 files changed, 236 insertions(+), 6 deletions(-)
8f3b12e81e1b4f0d4394c33db5b3a352f4cfb391 add fixes for mac -i output
 jc/parsers/rsync.py                                |  22 +++
 .../fixtures/osx-10.14.6/rsync-i-vvv-nochange.json |   1 +
 .../fixtures/osx-10.14.6/rsync-i-vvv-nochange.out  |  88 ++++++++++++
 tests/fixtures/osx-10.14.6/rsync-i-vvv.json        |   1 +
 tests/fixtures/osx-10.14.6/rsync-i-vvv.out         | 156 +++++++++++++++++++++
 tests/test_rsync.py                                |  31 ++++
 6 files changed, 299 insertions(+)
d0694ce0db5ea2d06b5787429adf23095c4c2df0 add nochange log test for mac
 .../osx-10.14.6/rsync-i-vvv-logfile-nochange.json  |   1 +
 .../osx-10.14.6/rsync-i-vvv-logfile-nochange.out   | 233 +++++++++++++++++++++
 tests/test_rsync.py                                |  17 +-
 3 files changed, 245 insertions(+), 6 deletions(-)
0cd4c4bc7f3ffe13cb2f1920187e25636b88af61 add nochange tests
 .../centos-7.7/rsync-i-vvv-logfile-nochange.json   |   1 +
 .../centos-7.7/rsync-i-vvv-logfile-nochange.out    | 657 +++++++++++++++++++++
 2 files changed, 658 insertions(+)
12f90c349c903634def4225ce87924b475be46d0 update regexes for unchanged files
 jc/parsers/rsync.py | 68 +++++++++++++++++++++++++++++++++++++++++++++--------
 tests/test_rsync.py | 20 ++++++++--------
 2 files changed, 68 insertions(+), 20 deletions(-)
26b8a1f167c4b1ec3f9fb4077254a27ed8548933 remove packages from binaries and packages header
 templates/readme_template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
3abe382c064f605d915912f9b726d76784eba8a2 add examples
 EXAMPLES.md         | 33 +++++++++++++++++++++++++++++
 jc/parsers/rsync.py | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 2 files changed, 90 insertions(+), 3 deletions(-)
1e2edc2c7b5dc104a9efe4da7df9be61b9e1be32 add timestamp
 jc/parsers/rsync.py                                | 74 ++++++++++++++--------
 tests/fixtures/centos-7.7/rsync-i-logfile.json     |  2 +-
 tests/fixtures/centos-7.7/rsync-i-v-logfile.json   |  2 +-
 tests/fixtures/centos-7.7/rsync-i-vv-logfile.json  |  2 +-
 tests/fixtures/centos-7.7/rsync-i-vvv-logfile.json |  2 +-
 5 files changed, 53 insertions(+), 29 deletions(-)
5fe032a6741b7b6586c60eb28be74bd0e56277a0 fix typo
 jc/parsers/zipinfo.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
e825c02df1cdae67c7f335fe3c675685eb1a8d02 add rsync tests
 tests/fixtures/centos-7.7/rsync-i-logfile.json     |   1 +
 tests/fixtures/centos-7.7/rsync-i-v-logfile.json   |   1 +
 tests/fixtures/centos-7.7/rsync-i-vv-logfile.json  |   1 +
 tests/fixtures/centos-7.7/rsync-i-vvv-logfile.json |   1 +
 tests/fixtures/centos-7.7/rsync-i-vvv-logfile.out  | 434 +++++++++++++++++++++
 tests/fixtures/centos-7.7/rsync-i.json             |   1 +
 tests/fixtures/centos-7.7/rsync-i.out              |  28 ++
 tests/fixtures/centos-7.7/rsync-ivvv.json          |   1 +
 tests/fixtures/generic/rsync-i.json                |   1 +
 tests/fixtures/generic/rsync-i.out                 |  11 +
 tests/test_rsync.py                                | 125 ++++++
 11 files changed, 605 insertions(+)
a4a4d170b5ae8c189de982adea5bdc9bf1f26e6c update docstring
 jc/parsers/rsync.py | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)
d0fcd523cb2cbb59d0f90369721749b54222961d fix process conversions
 jc/parsers/rsync.py | 36 +++++++++++++++++++-----------------
 1 file changed, 19 insertions(+), 17 deletions(-)
f72b7dc75dbd1c3f5daee3ecee28487258a04873 change keyname to files and remove future key
 jc/parsers/rsync.py | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)
4101dc6bf7bab7d00899426e2f6271a7480d558f add log-file support
 jc/parsers/rsync.py                               |  60 +-
 tests/fixtures/centos-7.7/rsync-i-v-logfile.out   |  61 ++
 tests/fixtures/centos-7.7/rsync-i-vv-logfile.out  |  65 ++
 tests/fixtures/centos-7.7/rsync-i-vvv-logfile.out | 841 ++++++++++++++++++++++
 4 files changed, 1008 insertions(+), 19 deletions(-)
ea5011b616365b5c10c04416d43035d84e3dacba updated schema. add log-file option support
 jc/parsers/rsync.py                           | 157 +++++++++++++++++++-------
 tests/fixtures/centos-7.7/rsync-i-logfile.out |  59 ++++++++++
 2 files changed, 175 insertions(+), 41 deletions(-)
d6de81747fd92642dbd5cb1fb097e375aa38be35 add int/float conversions
 jc/parsers/rsync.py | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)
38f04b1c9699246d85332b20df5b6a91ae0c48d9 add summary
 jc/parsers/rsync.py | 39 ++++++++++++++++++++++++++++++++-------
 1 file changed, 32 insertions(+), 7 deletions(-)
84169e1a913d035744f71472be81fe3a7d774b97 add rsync parser
 jc/lib.py                                |   3 +-
 jc/parsers/rsync.py                      | 212 ++++++++++++++++
 setup.py                                 |   2 +-
 tests/fixtures/centos-7.7/rsync-ivvv.out | 422 +++++++++++++++++++++++++++++++
 4 files changed, 637 insertions(+), 2 deletions(-)
1f96586a5e883709f436526de6dcb21ff44bf97b reorder imports
 jc/parsers/foo.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
681176e4c958157ef1f2151b3e57963a6ba48e09 Merge pull request #203 from kellyjonbrazil/dev
8bb266352207f95040b72750e5b3ae3b8ceb2b98 date update
 CHANGELOG | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
663abf313931b49fad64b425ece6a5a257dc7938 clean up scripts
 MANIFEST.in   | 1 -
 mangen.py     | 3 ---
 runtests.sh   | 1 +
 updatedocs.sh | 2 ++
 4 files changed, 3 insertions(+), 4 deletions(-)
f7ac41db95c16fd21d83fbce678c5dec28ab40f0 final doc update
 README.md |  2 --
 man/jc.1  | 12 +-----------
 2 files changed, 1 insertion(+), 13 deletions(-)
5502cda9e591b531d6b452b02d8ec322c3287800 add additional test for dict inside list for all_parser_info()
 tests/test_lib.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
a2b165565f54d91489bf38577a0785e78a4523d8 add lib tests for new functions
 tests/test_lib.py | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
b426369815984bd2aae8bcb14e306ba73b8cd4ae use all_parser_info() from lib in about function
 jc/cli.py | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)
ac0840cc0afb4aeee2c99076710c987e09cfa5f7 fix typo
 docs/readme.md | 4 ++--
 jc/__init__.py | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
ee98ab0a4a7671ae34ee79f7b0b97c061a8c2944 doc update
 docs/lib.md   | 6 +++---
 docs/utils.md | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)
2adec2c0035b84ca0242f2494b6c2651b9898ca5 update type hints with mypy help
 jc/lib.py           | 18 ++++++++++--------
 jc/parsers/foo.py   |  8 ++++----
 jc/parsers/foo_s.py | 10 +++++-----
 jc/utils.py         |  4 ++--
 4 files changed, 21 insertions(+), 19 deletions(-)
f19c9c71bf4f592f55a5176458acd478b462fdbe add type hints
 jc/parsers/foo.py   |  9 +++++++--
 jc/parsers/foo_s.py | 10 ++++++++--
 2 files changed, 15 insertions(+), 4 deletions(-)
e93adf1884c0006a64123513070a5fd96a940da2 fix doc
 docs/readme.md | 5 +++--
 jc/__init__.py | 5 +++--
 2 files changed, 6 insertions(+), 4 deletions(-)
254c4fc507842ca72064c0196418a7b939d54d06 add new functions
 docs/readme.md | 13 ++++++++++---
 jc/__init__.py | 13 ++++++++++---
 2 files changed, 20 insertions(+), 6 deletions(-)
74d5f60d14fc42cfd5768c7ffd6efc890a65d442 update console interview description
 README.md                 | 2 +-
 man/jc.1                  | 2 +-
 templates/readme_template | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
db7dc0634bc17b4daadc8bc21bba5975c093efe5 make **kwargs optional
 docs/lib.md | 2 +-
 jc/lib.py   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
e156b0db453e99fb0f74b618fd343218f978ff68 add type hints
 docs/parsers/universal.md | 4 ++--
 jc/parsers/universal.py   | 5 +++--
 2 files changed, 5 insertions(+), 4 deletions(-)
50adc05fbd6a0dcd9e4fb38aa41917bb57332f36 formatting
 docs/utils.md | 6 +++---
 jc/utils.py   | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)
446cac7c217103eb66cfdee97e3a208b7144b644 doc update
 docs/utils.md | 11 ++++++-----
 jc/utils.py   | 15 +++++++++------
 2 files changed, 15 insertions(+), 11 deletions(-)
28ffe3076bb5f23aeaf2624344856dbd02b4c0e8 formatting
 docs/lib.md | 8 ++++----
 jc/lib.py   | 9 ++++-----
 2 files changed, 8 insertions(+), 9 deletions(-)
d4d5e206cae14acd25445952f820810818b3fdce type hints update
 docs/lib.md   | 15 +++++++++++++--
 docs/utils.md | 26 +++++++++++++-------------
 jc/utils.py   | 27 ++++++++++++++-------------
 3 files changed, 40 insertions(+), 28 deletions(-)
42fbe40a4ae02b9d09acdbf9b22573844959d2ad simplify type hints
 jc/lib.py | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)
27e4a120e21dcbb3eadc6c4cf224ddb33859328d remove trailing comma
 docs/lib.md | 2 +-
 jc/lib.py   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
b5d5b7c73a96d4335b178ccfac60af90913e6f0f remove private classes
 docgen.sh                  | 35 ++++++++++++++---
 docs/parsers/ifconfig.md   | 94 ----------------------------------------------
 docs/parsers/traceroute.md | 48 -----------------------
 3 files changed, 29 insertions(+), 148 deletions(-)
e7471556ba5fb0586ac5b0d7404cabd98a58db2e remove sed lines
 docgen.sh | 5 -----
 1 file changed, 5 deletions(-)
640a21341bb1c562cb2124155b511dfc74277fc0 fix indentation
 docs/utils.md | 20 ++++++++---------
 jc/utils.py   | 69 ++++++++++++++++++++++++++++++++---------------------------
 2 files changed, 47 insertions(+), 42 deletions(-)
f5befad3e41ba2864abc795a2fdf63e0f1d37c21 move docstring under __init__
 docs/utils.md | 21 +++++++++++++++------
 jc/utils.py   | 37 ++++++++++++++++++-------------------
 2 files changed, 33 insertions(+), 25 deletions(-)
f8223023c31093c1a34130b4e4cfc23b1d80a30c change header depth
 docgen.sh                  | 28 +++++++++++++++++++++-------
 docs/parsers/ifconfig.md   |  2 +-
 docs/parsers/traceroute.md |  2 +-
 docs/utils.md              |  2 +-
 4 files changed, 24 insertions(+), 10 deletions(-)
7028e87f9b411c0cfb92eee7fc0667cdcb9a54ff remove TOC for parsers
 docgen.sh                     | 26 ++++++++++++++++++++++----
 docs/parsers/acpi.md          |  5 -----
 docs/parsers/airport.md       |  5 -----
 docs/parsers/airport_s.md     |  5 -----
 docs/parsers/arp.md           |  5 -----
 docs/parsers/blkid.md         |  5 -----
 docs/parsers/cksum.md         |  5 -----
 docs/parsers/crontab.md       |  5 -----
 docs/parsers/crontab_u.md     |  5 -----
 docs/parsers/csv.md           |  5 -----
 docs/parsers/csv_s.md         |  5 -----
 docs/parsers/date.md          |  5 -----
 docs/parsers/df.md            |  5 -----
 docs/parsers/dig.md           |  5 -----
 docs/parsers/dir.md           |  5 -----
 docs/parsers/dmidecode.md     |  5 -----
 docs/parsers/dpkg_l.md        |  5 -----
 docs/parsers/du.md            |  5 -----
 docs/parsers/env.md           |  5 -----
 docs/parsers/file.md          |  5 -----
 docs/parsers/finger.md        |  5 -----
 docs/parsers/free.md          |  5 -----
 docs/parsers/fstab.md         |  5 -----
 docs/parsers/group.md         |  5 -----
 docs/parsers/gshadow.md       |  5 -----
 docs/parsers/hash.md          |  5 -----
 docs/parsers/hashsum.md       |  5 -----
 docs/parsers/hciconfig.md     |  5 -----
 docs/parsers/history.md       |  5 -----
 docs/parsers/hosts.md         |  5 -----
 docs/parsers/id.md            |  5 -----
 docs/parsers/ifconfig.md      | 14 --------------
 docs/parsers/ini.md           |  5 -----
 docs/parsers/iostat.md        |  5 -----
 docs/parsers/iostat_s.md      |  5 -----
 docs/parsers/iptables.md      |  5 -----
 docs/parsers/iw_scan.md       |  5 -----
 docs/parsers/jar_manifest.md  |  5 -----
 docs/parsers/jobs.md          |  5 -----
 docs/parsers/kv.md            |  5 -----
 docs/parsers/last.md          |  5 -----
 docs/parsers/ls.md            |  5 -----
 docs/parsers/ls_s.md          |  5 -----
 docs/parsers/lsblk.md         |  5 -----
 docs/parsers/lsmod.md         |  5 -----
 docs/parsers/lsof.md          |  5 -----
 docs/parsers/lsusb.md         |  5 -----
 docs/parsers/mount.md         |  5 -----
 docs/parsers/netstat.md       |  5 -----
 docs/parsers/ntpq.md          |  5 -----
 docs/parsers/passwd.md        |  5 -----
 docs/parsers/ping.md          |  5 -----
 docs/parsers/ping_s.md        |  5 -----
 docs/parsers/pip_list.md      |  5 -----
 docs/parsers/pip_show.md      |  5 -----
 docs/parsers/ps.md            |  5 -----
 docs/parsers/route.md         |  5 -----
 docs/parsers/rpm_qi.md        |  5 -----
 docs/parsers/sfdisk.md        |  5 -----
 docs/parsers/shadow.md        |  5 -----
 docs/parsers/ss.md            |  5 -----
 docs/parsers/stat.md          |  5 -----
 docs/parsers/stat_s.md        |  5 -----
 docs/parsers/sysctl.md        |  5 -----
 docs/parsers/systemctl.md     |  5 -----
 docs/parsers/systemctl_lj.md  |  5 -----
 docs/parsers/systemctl_ls.md  |  5 -----
 docs/parsers/systemctl_luf.md |  5 -----
 docs/parsers/systeminfo.md    |  5 -----
 docs/parsers/time.md          |  5 -----
 docs/parsers/timedatectl.md   |  5 -----
 docs/parsers/tracepath.md     |  5 -----
 docs/parsers/traceroute.md    |  8 --------
 docs/parsers/ufw.md           |  5 -----
 docs/parsers/ufw_appinfo.md   |  5 -----
 docs/parsers/uname.md         |  5 -----
 docs/parsers/upower.md        |  5 -----
 docs/parsers/uptime.md        |  5 -----
 docs/parsers/vmstat.md        |  5 -----
 docs/parsers/vmstat_s.md      |  5 -----
 docs/parsers/w.md             |  5 -----
 docs/parsers/wc.md            |  5 -----
 docs/parsers/who.md           |  5 -----
 docs/parsers/xml.md           |  5 -----
 docs/parsers/yaml.md          |  5 -----
 docs/parsers/zipinfo.md       |  5 -----
 docs/readme.md                |  4 ----
 87 files changed, 22 insertions(+), 445 deletions(-)
590728f9c1ccfdc078e600d1f35ad4ba51f70d36 try new pydoc-markdown formatting options
 docgen.sh                     | 28 +++++++++++++++++++++++-----
 docs/lib.md                   | 13 ++++++++++---
 docs/parsers/acpi.md          |  5 +++++
 docs/parsers/airport.md       |  5 +++++
 docs/parsers/airport_s.md     |  5 +++++
 docs/parsers/arp.md           |  5 +++++
 docs/parsers/blkid.md         |  5 +++++
 docs/parsers/cksum.md         |  5 +++++
 docs/parsers/crontab.md       |  5 +++++
 docs/parsers/crontab_u.md     |  5 +++++
 docs/parsers/csv.md           |  5 +++++
 docs/parsers/csv_s.md         |  5 +++++
 docs/parsers/date.md          |  5 +++++
 docs/parsers/df.md            |  5 +++++
 docs/parsers/dig.md           |  5 +++++
 docs/parsers/dir.md           |  5 +++++
 docs/parsers/dmidecode.md     |  5 +++++
 docs/parsers/dpkg_l.md        |  5 +++++
 docs/parsers/du.md            |  5 +++++
 docs/parsers/env.md           |  5 +++++
 docs/parsers/file.md          |  5 +++++
 docs/parsers/finger.md        |  5 +++++
 docs/parsers/free.md          |  5 +++++
 docs/parsers/fstab.md         |  5 +++++
 docs/parsers/group.md         |  5 +++++
 docs/parsers/gshadow.md       |  5 +++++
 docs/parsers/hash.md          |  5 +++++
 docs/parsers/hashsum.md       |  5 +++++
 docs/parsers/hciconfig.md     |  5 +++++
 docs/parsers/history.md       |  5 +++++
 docs/parsers/hosts.md         |  5 +++++
 docs/parsers/id.md            |  5 +++++
 docs/parsers/ifconfig.md      | 14 ++++++++++++++
 docs/parsers/ini.md           |  5 +++++
 docs/parsers/iostat.md        |  5 +++++
 docs/parsers/iostat_s.md      |  5 +++++
 docs/parsers/iptables.md      |  5 +++++
 docs/parsers/iw_scan.md       |  5 +++++
 docs/parsers/jar_manifest.md  |  5 +++++
 docs/parsers/jobs.md          |  5 +++++
 docs/parsers/kv.md            |  5 +++++
 docs/parsers/last.md          |  5 +++++
 docs/parsers/ls.md            |  5 +++++
 docs/parsers/ls_s.md          |  5 +++++
 docs/parsers/lsblk.md         |  5 +++++
 docs/parsers/lsmod.md         |  5 +++++
 docs/parsers/lsof.md          |  5 +++++
 docs/parsers/lsusb.md         |  5 +++++
 docs/parsers/mount.md         |  5 +++++
 docs/parsers/netstat.md       |  5 +++++
 docs/parsers/ntpq.md          |  5 +++++
 docs/parsers/passwd.md        |  5 +++++
 docs/parsers/ping.md          |  5 +++++
 docs/parsers/ping_s.md        |  5 +++++
 docs/parsers/pip_list.md      |  5 +++++
 docs/parsers/pip_show.md      |  5 +++++
 docs/parsers/ps.md            |  5 +++++
 docs/parsers/route.md         |  5 +++++
 docs/parsers/rpm_qi.md        |  5 +++++
 docs/parsers/sfdisk.md        |  5 +++++
 docs/parsers/shadow.md        |  5 +++++
 docs/parsers/ss.md            |  5 +++++
 docs/parsers/stat.md          |  5 +++++
 docs/parsers/stat_s.md        |  5 +++++
 docs/parsers/sysctl.md        |  5 +++++
 docs/parsers/systemctl.md     |  5 +++++
 docs/parsers/systemctl_lj.md  |  5 +++++
 docs/parsers/systemctl_ls.md  |  5 +++++
 docs/parsers/systemctl_luf.md |  5 +++++
 docs/parsers/systeminfo.md    |  5 +++++
 docs/parsers/time.md          |  5 +++++
 docs/parsers/timedatectl.md   |  5 +++++
 docs/parsers/tracepath.md     |  5 +++++
 docs/parsers/traceroute.md    |  8 ++++++++
 docs/parsers/ufw.md           |  5 +++++
 docs/parsers/ufw_appinfo.md   |  5 +++++
 docs/parsers/uname.md         |  5 +++++
 docs/parsers/universal.md     |  6 ++++++
 docs/parsers/upower.md        |  5 +++++
 docs/parsers/uptime.md        |  5 +++++
 docs/parsers/vmstat.md        |  5 +++++
 docs/parsers/vmstat_s.md      |  5 +++++
 docs/parsers/w.md             |  5 +++++
 docs/parsers/wc.md            |  5 +++++
 docs/parsers/who.md           |  5 +++++
 docs/parsers/xml.md           |  5 +++++
 docs/parsers/yaml.md          |  5 +++++
 docs/parsers/zipinfo.md       |  5 +++++
 docs/readme.md                |  4 ++++
 docs/utils.md                 | 17 +++++++++++++++++
 jc/lib.py                     | 18 +++++++++---------
 91 files changed, 506 insertions(+), 17 deletions(-)
7cc147fe2d7b278bcab905bc4c3b70b5265e1510 increase heading size
 docgen.sh     |  4 ++++
 docgen.sh.old | 44 --------------------------------------------
 2 files changed, 4 insertions(+), 44 deletions(-)
3cfb3965bb25024a7b03870b71f02194e278919b formatting
 docs/lib.md               | 10 +++++-----
 docs/parsers/universal.md |  4 ++--
 docs/utils.md             | 24 ++++++++++++------------
 3 files changed, 19 insertions(+), 19 deletions(-)
155d4213225fe4fcf4a059fb63c1ab9fc493177e formatting
 docgen.sh                     |  3 ++-
 docs/parsers/acpi.md          |  4 ++--
 docs/parsers/airport.md       |  4 ++--
 docs/parsers/airport_s.md     |  4 ++--
 docs/parsers/arp.md           |  4 ++--
 docs/parsers/blkid.md         |  4 ++--
 docs/parsers/cksum.md         |  4 ++--
 docs/parsers/crontab.md       |  4 ++--
 docs/parsers/crontab_u.md     |  4 ++--
 docs/parsers/csv.md           |  4 ++--
 docs/parsers/csv_s.md         |  4 ++--
 docs/parsers/date.md          |  4 ++--
 docs/parsers/df.md            |  4 ++--
 docs/parsers/dig.md           |  4 ++--
 docs/parsers/dir.md           |  4 ++--
 docs/parsers/dmidecode.md     |  4 ++--
 docs/parsers/dpkg_l.md        |  4 ++--
 docs/parsers/du.md            |  4 ++--
 docs/parsers/env.md           |  4 ++--
 docs/parsers/file.md          |  4 ++--
 docs/parsers/finger.md        |  4 ++--
 docs/parsers/free.md          |  4 ++--
 docs/parsers/fstab.md         |  4 ++--
 docs/parsers/group.md         |  4 ++--
 docs/parsers/gshadow.md       |  4 ++--
 docs/parsers/hash.md          |  4 ++--
 docs/parsers/hashsum.md       |  4 ++--
 docs/parsers/hciconfig.md     |  4 ++--
 docs/parsers/history.md       |  4 ++--
 docs/parsers/hosts.md         |  4 ++--
 docs/parsers/id.md            |  4 ++--
 docs/parsers/ifconfig.md      | 20 ++++++++++----------
 docs/parsers/ini.md           |  4 ++--
 docs/parsers/iostat.md        |  4 ++--
 docs/parsers/iostat_s.md      |  4 ++--
 docs/parsers/iptables.md      |  4 ++--
 docs/parsers/iw_scan.md       |  4 ++--
 docs/parsers/jar_manifest.md  |  4 ++--
 docs/parsers/jobs.md          |  4 ++--
 docs/parsers/kv.md            |  4 ++--
 docs/parsers/last.md          |  4 ++--
 docs/parsers/ls.md            |  4 ++--
 docs/parsers/ls_s.md          |  4 ++--
 docs/parsers/lsblk.md         |  4 ++--
 docs/parsers/lsmod.md         |  4 ++--
 docs/parsers/lsof.md          |  4 ++--
 docs/parsers/lsusb.md         |  4 ++--
 docs/parsers/mount.md         |  4 ++--
 docs/parsers/netstat.md       |  4 ++--
 docs/parsers/ntpq.md          |  4 ++--
 docs/parsers/passwd.md        |  4 ++--
 docs/parsers/ping.md          |  4 ++--
 docs/parsers/ping_s.md        |  4 ++--
 docs/parsers/pip_list.md      |  4 ++--
 docs/parsers/pip_show.md      |  4 ++--
 docs/parsers/ps.md            |  4 ++--
 docs/parsers/route.md         |  4 ++--
 docs/parsers/rpm_qi.md        |  4 ++--
 docs/parsers/sfdisk.md        |  4 ++--
 docs/parsers/shadow.md        |  4 ++--
 docs/parsers/ss.md            |  4 ++--
 docs/parsers/stat.md          |  4 ++--
 docs/parsers/stat_s.md        |  4 ++--
 docs/parsers/sysctl.md        |  4 ++--
 docs/parsers/systemctl.md     |  4 ++--
 docs/parsers/systemctl_lj.md  |  4 ++--
 docs/parsers/systemctl_ls.md  |  4 ++--
 docs/parsers/systemctl_luf.md |  4 ++--
 docs/parsers/systeminfo.md    |  4 ++--
 docs/parsers/time.md          |  4 ++--
 docs/parsers/timedatectl.md   |  4 ++--
 docs/parsers/tracepath.md     |  4 ++--
 docs/parsers/traceroute.md    |  8 ++++----
 docs/parsers/ufw.md           |  4 ++--
 docs/parsers/ufw_appinfo.md   |  4 ++--
 docs/parsers/uname.md         |  4 ++--
 docs/parsers/upower.md        |  4 ++--
 docs/parsers/uptime.md        |  4 ++--
 docs/parsers/vmstat.md        |  4 ++--
 docs/parsers/vmstat_s.md      |  4 ++--
 docs/parsers/w.md             |  4 ++--
 docs/parsers/wc.md            |  4 ++--
 docs/parsers/who.md           |  4 ++--
 docs/parsers/xml.md           |  4 ++--
 docs/parsers/yaml.md          |  4 ++--
 docs/parsers/zipinfo.md       |  4 ++--
 86 files changed, 182 insertions(+), 181 deletions(-)
d3e10bb87bdb32396bce95f74e62a023f4efaf99 add lsusb docs
 docs/parsers/lsusb.md | 291 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 291 insertions(+)
fd5433ee6220357e59633c78b689aa432d056b43 parse docstring formatting
 docs/lib.md           |   4 +-
 docs/parsers/lsusb.md | 291 --------------------------------------------------
 jc/lib.py             |   4 +-
 3 files changed, 6 insertions(+), 293 deletions(-)
4568f2d06e8fc1c465c86c318d925586481af062 formatting for parse docstring
 docs/lib.md | 4 +---
 jc/lib.py   | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)
c36e513d1bcc07cd8f01ff59199950e5396da51b formatting
 docgen.sh                     | 9 +++------
 docs/parsers/acpi.md          | 2 +-
 docs/parsers/airport.md       | 2 +-
 docs/parsers/airport_s.md     | 2 +-
 docs/parsers/arp.md           | 2 +-
 docs/parsers/blkid.md         | 2 +-
 docs/parsers/cksum.md         | 2 +-
 docs/parsers/crontab.md       | 2 +-
 docs/parsers/crontab_u.md     | 2 +-
 docs/parsers/csv.md           | 2 +-
 docs/parsers/csv_s.md         | 2 +-
 docs/parsers/date.md          | 2 +-
 docs/parsers/df.md            | 2 +-
 docs/parsers/dig.md           | 2 +-
 docs/parsers/dir.md           | 2 +-
 docs/parsers/dmidecode.md     | 2 +-
 docs/parsers/dpkg_l.md        | 2 +-
 docs/parsers/du.md            | 2 +-
 docs/parsers/env.md           | 2 +-
 docs/parsers/file.md          | 2 +-
 docs/parsers/finger.md        | 2 +-
 docs/parsers/free.md          | 2 +-
 docs/parsers/fstab.md         | 2 +-
 docs/parsers/group.md         | 2 +-
 docs/parsers/gshadow.md       | 2 +-
 docs/parsers/hash.md          | 2 +-
 docs/parsers/hashsum.md       | 2 +-
 docs/parsers/hciconfig.md     | 2 +-
 docs/parsers/history.md       | 2 +-
 docs/parsers/hosts.md         | 2 +-
 docs/parsers/id.md            | 2 +-
 docs/parsers/ifconfig.md      | 2 +-
 docs/parsers/ini.md           | 2 +-
 docs/parsers/iostat.md        | 2 +-
 docs/parsers/iostat_s.md      | 2 +-
 docs/parsers/iptables.md      | 2 +-
 docs/parsers/iw_scan.md       | 2 +-
 docs/parsers/jar_manifest.md  | 2 +-
 docs/parsers/jobs.md          | 2 +-
 docs/parsers/kv.md            | 2 +-
 docs/parsers/last.md          | 2 +-
 docs/parsers/ls.md            | 2 +-
 docs/parsers/ls_s.md          | 2 +-
 docs/parsers/lsblk.md         | 2 +-
 docs/parsers/lsmod.md         | 2 +-
 docs/parsers/lsof.md          | 2 +-
 docs/parsers/lsusb.md         | 2 +-
 docs/parsers/mount.md         | 2 +-
 docs/parsers/netstat.md       | 2 +-
 docs/parsers/ntpq.md          | 2 +-
 docs/parsers/passwd.md        | 2 +-
 docs/parsers/ping.md          | 2 +-
 docs/parsers/ping_s.md        | 2 +-
 docs/parsers/pip_list.md      | 2 +-
 docs/parsers/pip_show.md      | 2 +-
 docs/parsers/ps.md            | 2 +-
 docs/parsers/route.md         | 2 +-
 docs/parsers/rpm_qi.md        | 2 +-
 docs/parsers/sfdisk.md        | 2 +-
 docs/parsers/shadow.md        | 2 +-
 docs/parsers/ss.md            | 2 +-
 docs/parsers/stat.md          | 2 +-
 docs/parsers/stat_s.md        | 2 +-
 docs/parsers/sysctl.md        | 2 +-
 docs/parsers/systemctl.md     | 2 +-
 docs/parsers/systemctl_lj.md  | 2 +-
 docs/parsers/systemctl_ls.md  | 2 +-
 docs/parsers/systemctl_luf.md | 2 +-
 docs/parsers/systeminfo.md    | 2 +-
 docs/parsers/time.md          | 2 +-
 docs/parsers/timedatectl.md   | 2 +-
 docs/parsers/tracepath.md     | 2 +-
 docs/parsers/traceroute.md    | 2 +-
 docs/parsers/ufw.md           | 2 +-
 docs/parsers/ufw_appinfo.md   | 2 +-
 docs/parsers/uname.md         | 2 +-
 docs/parsers/upower.md        | 2 +-
 docs/parsers/uptime.md        | 2 +-
 docs/parsers/vmstat.md        | 2 +-
 docs/parsers/vmstat_s.md      | 2 +-
 docs/parsers/w.md             | 2 +-
 docs/parsers/wc.md            | 2 +-
 docs/parsers/who.md           | 2 +-
 docs/parsers/xml.md           | 2 +-
 docs/parsers/yaml.md          | 2 +-
 docs/parsers/zipinfo.md       | 2 +-
 86 files changed, 88 insertions(+), 91 deletions(-)
8e089baf3fe30fed80e1c5cdde7c3046bb70ca5a remove info class from docs
 docgen.sh                     | 13 ++++++++-----
 docs/parsers/acpi.md          | 10 ----------
 docs/parsers/airport.md       | 10 ----------
 docs/parsers/airport_s.md     | 10 ----------
 docs/parsers/arp.md           | 10 ----------
 docs/parsers/blkid.md         | 10 ----------
 docs/parsers/cksum.md         | 10 ----------
 docs/parsers/crontab.md       | 10 ----------
 docs/parsers/crontab_u.md     | 10 ----------
 docs/parsers/csv.md           | 10 ----------
 docs/parsers/csv_s.md         | 10 ----------
 docs/parsers/date.md          | 10 ----------
 docs/parsers/df.md            | 10 ----------
 docs/parsers/dig.md           | 10 ----------
 docs/parsers/dir.md           | 10 ----------
 docs/parsers/dmidecode.md     | 10 ----------
 docs/parsers/dpkg_l.md        | 10 ----------
 docs/parsers/du.md            | 10 ----------
 docs/parsers/env.md           | 10 ----------
 docs/parsers/file.md          | 10 ----------
 docs/parsers/finger.md        | 10 ----------
 docs/parsers/free.md          | 10 ----------
 docs/parsers/fstab.md         | 10 ----------
 docs/parsers/group.md         | 10 ----------
 docs/parsers/gshadow.md       | 10 ----------
 docs/parsers/hash.md          | 10 ----------
 docs/parsers/hashsum.md       | 10 ----------
 docs/parsers/hciconfig.md     | 10 ----------
 docs/parsers/history.md       | 10 ----------
 docs/parsers/hosts.md         | 10 ----------
 docs/parsers/id.md            | 10 ----------
 docs/parsers/ifconfig.md      | 10 ----------
 docs/parsers/ini.md           | 10 ----------
 docs/parsers/iostat.md        | 10 ----------
 docs/parsers/iostat_s.md      | 10 ----------
 docs/parsers/iptables.md      | 10 ----------
 docs/parsers/iw_scan.md       | 10 ----------
 docs/parsers/jar_manifest.md  | 10 ----------
 docs/parsers/jobs.md          | 10 ----------
 docs/parsers/kv.md            | 10 ----------
 docs/parsers/last.md          | 10 ----------
 docs/parsers/ls.md            | 10 ----------
 docs/parsers/ls_s.md          | 10 ----------
 docs/parsers/lsblk.md         | 10 ----------
 docs/parsers/lsmod.md         | 10 ----------
 docs/parsers/lsof.md          | 10 ----------
 docs/parsers/lsusb.md         | 10 ----------
 docs/parsers/mount.md         | 10 ----------
 docs/parsers/netstat.md       | 10 ----------
 docs/parsers/ntpq.md          | 10 ----------
 docs/parsers/passwd.md        | 10 ----------
 docs/parsers/ping.md          | 10 ----------
 docs/parsers/ping_s.md        | 10 ----------
 docs/parsers/pip_list.md      | 10 ----------
 docs/parsers/pip_show.md      | 10 ----------
 docs/parsers/ps.md            | 10 ----------
 docs/parsers/route.md         | 10 ----------
 docs/parsers/rpm_qi.md        | 10 ----------
 docs/parsers/sfdisk.md        | 10 ----------
 docs/parsers/shadow.md        | 10 ----------
 docs/parsers/ss.md            | 10 ----------
 docs/parsers/stat.md          | 10 ----------
 docs/parsers/stat_s.md        | 10 ----------
 docs/parsers/sysctl.md        | 10 ----------
 docs/parsers/systemctl.md     | 10 ----------
 docs/parsers/systemctl_lj.md  | 10 ----------
 docs/parsers/systemctl_ls.md  | 10 ----------
 docs/parsers/systemctl_luf.md | 10 ----------
 docs/parsers/systeminfo.md    | 10 ----------
 docs/parsers/time.md          | 10 ----------
 docs/parsers/timedatectl.md   | 10 ----------
 docs/parsers/tracepath.md     | 10 ----------
 docs/parsers/traceroute.md    | 10 ----------
 docs/parsers/ufw.md           | 10 ----------
 docs/parsers/ufw_appinfo.md   | 10 ----------
 docs/parsers/uname.md         | 10 ----------
 docs/parsers/upower.md        | 10 ----------
 docs/parsers/uptime.md        | 10 ----------
 docs/parsers/vmstat.md        | 10 ----------
 docs/parsers/vmstat_s.md      | 10 ----------
 docs/parsers/w.md             | 10 ----------
 docs/parsers/wc.md            | 10 ----------
 docs/parsers/who.md           | 10 ----------
 docs/parsers/xml.md           | 10 ----------
 docs/parsers/yaml.md          | 10 ----------
 docs/parsers/zipinfo.md       | 10 ----------
 86 files changed, 8 insertions(+), 855 deletions(-)
386f6c317e104e797c2b55e3d21c8b064a83ac78 update markdown processor settings
 docgen.sh                     |  10 +-
 docs/lib.md                   | 105 +++----
 docs/parsers/acpi.md          | 440 +++++++++++++--------------
 docs/parsers/airport.md       | 146 +++++----
 docs/parsers/airport_s.md     | 202 ++++++-------
 docs/parsers/arp.md           | 220 +++++++-------
 docs/parsers/blkid.md         | 230 +++++++-------
 docs/parsers/cksum.md         |  90 +++---
 docs/parsers/crontab.md       | 330 ++++++++++----------
 docs/parsers/crontab_u.md     | 326 ++++++++++----------
 docs/parsers/csv.md           | 140 +++++----
 docs/parsers/csv_s.md         | 114 ++++---
 docs/parsers/date.md          | 132 ++++----
 docs/parsers/df.md            | 184 ++++++-----
 docs/parsers/dig.md           | 614 +++++++++++++++++++------------------
 docs/parsers/dir.md           | 210 +++++++------
 docs/parsers/dmidecode.md     | 240 ++++++++-------
 docs/parsers/dpkg_l.md        | 244 ++++++++-------
 docs/parsers/du.md            | 164 +++++-----
 docs/parsers/env.md           | 126 ++++----
 docs/parsers/file.md          | 114 ++++---
 docs/parsers/finger.md        | 166 +++++-----
 docs/parsers/free.md          | 134 ++++----
 docs/parsers/fstab.md         | 164 +++++-----
 docs/parsers/group.md         | 212 +++++++------
 docs/parsers/gshadow.md       | 148 +++++----
 docs/parsers/hash.md          |  68 ++---
 docs/parsers/hashsum.md       | 106 ++++---
 docs/parsers/hciconfig.md     | 620 +++++++++++++++++++------------------
 docs/parsers/history.md       | 106 ++++---
 docs/parsers/hosts.md         | 142 +++++----
 docs/parsers/id.md            | 200 ++++++------
 docs/parsers/ifconfig.md      | 388 ++++++++++++------------
 docs/parsers/ini.md           | 110 ++++---
 docs/parsers/iostat.md        | 304 +++++++++----------
 docs/parsers/iostat_s.md      | 198 ++++++------
 docs/parsers/iptables.md      | 312 ++++++++++---------
 docs/parsers/iw_scan.md       | 226 +++++++-------
 docs/parsers/jar_manifest.md  | 148 +++++----
 docs/parsers/jobs.md          | 170 +++++------
 docs/parsers/kv.md            |  86 +++---
 docs/parsers/last.md          | 186 ++++++------
 docs/parsers/ls.md            | 190 ++++++------
 docs/parsers/ls_s.md          | 130 ++++----
 docs/parsers/lsblk.md         | 534 ++++++++++++++++----------------
 docs/parsers/lsmod.md         | 240 ++++++++-------
 docs/parsers/lsof.md          | 228 +++++++-------
 docs/parsers/lsusb.md         | 502 +++++++++++++++---------------
 docs/parsers/mount.md         | 140 +++++----
 docs/parsers/netstat.md       | 688 +++++++++++++++++++++---------------------
 docs/parsers/ntpq.md          | 402 ++++++++++++------------
 docs/parsers/passwd.md        | 182 ++++++-----
 docs/parsers/ping.md          | 308 ++++++++++---------
 docs/parsers/ping_s.md        | 160 +++++-----
 docs/parsers/pip_list.md      |  84 +++---
 docs/parsers/pip_show.md      | 120 ++++----
 docs/parsers/ps.md            | 394 ++++++++++++------------
 docs/parsers/route.md         | 206 +++++++------
 docs/parsers/rpm_qi.md        | 296 +++++++++---------
 docs/parsers/sfdisk.md        | 376 ++++++++++++-----------
 docs/parsers/shadow.md        | 196 ++++++------
 docs/parsers/ss.md            | 538 ++++++++++++++++-----------------
 docs/parsers/stat.md          | 318 ++++++++++---------
 docs/parsers/stat_s.md        | 152 +++++-----
 docs/parsers/sysctl.md        | 100 +++---
 docs/parsers/systemctl.md     | 106 ++++---
 docs/parsers/systemctl_lj.md  | 140 +++++----
 docs/parsers/systemctl_ls.md  |  90 +++---
 docs/parsers/systemctl_luf.md |  82 +++--
 docs/parsers/systeminfo.md    | 396 ++++++++++++------------
 docs/parsers/time.md          | 242 ++++++++-------
 docs/parsers/timedatectl.md   | 112 ++++---
 docs/parsers/tracepath.md     | 248 ++++++++-------
 docs/parsers/traceroute.md    | 220 +++++++-------
 docs/parsers/ufw.md           | 390 ++++++++++++------------
 docs/parsers/ufw_appinfo.md   | 250 ++++++++-------
 docs/parsers/uname.md         |  80 +++--
 docs/parsers/universal.md     |  72 ++---
 docs/parsers/upower.md        | 374 ++++++++++++-----------
 docs/parsers/uptime.md        | 120 ++++----
 docs/parsers/vmstat.md        | 226 +++++++-------
 docs/parsers/vmstat_s.md      | 172 +++++------
 docs/parsers/w.md             | 196 ++++++------
 docs/parsers/wc.md            |  98 +++---
 docs/parsers/who.md           | 250 ++++++++-------
 docs/parsers/xml.md           | 134 ++++----
 docs/parsers/yaml.md          | 162 +++++-----
 docs/parsers/zipinfo.md       | 138 ++++-----
 docs/utils.md                 | 134 ++++----
 89 files changed, 9552 insertions(+), 9939 deletions(-)
75cd84ce8a86b3357c6cf5fe4fbc62d0f298a29a try new markdown conversion
 README.md                     |   2 +
 docgen.sh                     |  12 +-
 docgen.sh.old                 |  44 +++
 docs/lib.md                   | 151 +++++----
 docs/parsers/acpi.md          | 454 ++++++++++++++-------------
 docs/parsers/airport.md       | 166 +++++-----
 docs/parsers/airport_s.md     | 224 +++++++-------
 docs/parsers/arp.md           | 240 ++++++++-------
 docs/parsers/blkid.md         | 250 ++++++++-------
 docs/parsers/cksum.md         | 110 ++++---
 docs/parsers/crontab.md       | 350 +++++++++++----------
 docs/parsers/crontab_u.md     | 348 +++++++++++----------
 docs/parsers/csv.md           | 160 +++++-----
 docs/parsers/csv_s.md         | 120 ++++----
 docs/parsers/date.md          | 152 ++++-----
 docs/parsers/df.md            | 204 ++++++------
 docs/parsers/dig.md           | 634 +++++++++++++++++++-------------------
 docs/parsers/dir.md           | 230 +++++++-------
 docs/parsers/dmidecode.md     | 260 ++++++++--------
 docs/parsers/dpkg_l.md        | 266 ++++++++--------
 docs/parsers/du.md            | 184 +++++------
 docs/parsers/env.md           | 146 +++++----
 docs/parsers/file.md          | 134 ++++----
 docs/parsers/finger.md        | 186 +++++------
 docs/parsers/free.md          | 154 ++++-----
 docs/parsers/fstab.md         | 184 +++++------
 docs/parsers/group.md         | 232 +++++++-------
 docs/parsers/gshadow.md       | 168 +++++-----
 docs/parsers/hash.md          |  88 +++---
 docs/parsers/hashsum.md       | 126 ++++----
 docs/parsers/hciconfig.md     | 634 +++++++++++++++++++-------------------
 docs/parsers/history.md       | 126 ++++----
 docs/parsers/hosts.md         | 162 +++++-----
 docs/parsers/id.md            | 220 ++++++-------
 docs/parsers/ifconfig.md      | 472 +++++++++++++++++-----------
 docs/parsers/ini.md           | 130 ++++----
 docs/parsers/iostat.md        | 324 +++++++++----------
 docs/parsers/iostat_s.md      | 220 ++++++-------
 docs/parsers/iptables.md      | 332 ++++++++++----------
 docs/parsers/iw_scan.md       | 248 ++++++++-------
 docs/parsers/jar_manifest.md  | 170 +++++-----
 docs/parsers/jobs.md          | 190 ++++++------
 docs/parsers/kv.md            | 106 ++++---
 docs/parsers/last.md          | 207 +++++++------
 docs/parsers/ls.md            | 210 +++++++------
 docs/parsers/ls_s.md          | 152 ++++-----
 docs/parsers/lsblk.md         | 548 +++++++++++++++++----------------
 docs/parsers/lsmod.md         | 260 ++++++++--------
 docs/parsers/lsof.md          | 248 ++++++++-------
 docs/parsers/lsusb.md         | 518 ++++++++++++++++---------------
 docs/parsers/mount.md         | 160 +++++-----
 docs/parsers/netstat.md       | 702 +++++++++++++++++++++---------------------
 docs/parsers/ntpq.md          | 422 +++++++++++++------------
 docs/parsers/passwd.md        | 202 ++++++------
 docs/parsers/ping.md          | 328 ++++++++++----------
 docs/parsers/ping_s.md        | 182 ++++++-----
 docs/parsers/pip_list.md      | 106 ++++---
 docs/parsers/pip_show.md      | 142 +++++----
 docs/parsers/ps.md            | 414 +++++++++++++------------
 docs/parsers/route.md         | 226 +++++++-------
 docs/parsers/rpm_qi.md        | 318 ++++++++++---------
 docs/parsers/sfdisk.md        | 396 ++++++++++++------------
 docs/parsers/shadow.md        | 216 +++++++------
 docs/parsers/ss.md            | 552 +++++++++++++++++----------------
 docs/parsers/stat.md          | 338 ++++++++++----------
 docs/parsers/stat_s.md        | 174 ++++++-----
 docs/parsers/sysctl.md        | 120 ++++----
 docs/parsers/systemctl.md     | 126 ++++----
 docs/parsers/systemctl_lj.md  | 162 +++++-----
 docs/parsers/systemctl_ls.md  | 112 ++++---
 docs/parsers/systemctl_luf.md | 104 ++++---
 docs/parsers/systeminfo.md    | 416 +++++++++++++------------
 docs/parsers/time.md          | 262 ++++++++--------
 docs/parsers/timedatectl.md   | 132 ++++----
 docs/parsers/tracepath.md     | 268 ++++++++--------
 docs/parsers/traceroute.md    | 288 ++++++++++-------
 docs/parsers/ufw.md           | 410 ++++++++++++------------
 docs/parsers/ufw_appinfo.md   | 272 ++++++++--------
 docs/parsers/uname.md         | 100 +++---
 docs/parsers/universal.md     |  85 ++---
 docs/parsers/upower.md        | 394 ++++++++++++------------
 docs/parsers/uptime.md        | 140 +++++----
 docs/parsers/vmstat.md        | 246 ++++++++-------
 docs/parsers/vmstat_s.md      | 194 ++++++------
 docs/parsers/w.md             | 216 +++++++------
 docs/parsers/wc.md            | 118 +++----
 docs/parsers/who.md           | 270 ++++++++--------
 docs/parsers/xml.md           | 154 ++++-----
 docs/parsers/yaml.md          | 182 ++++++-----
 docs/parsers/zipinfo.md       | 158 +++++-----
 docs/readme.md                |   2 +
 docs/utils.md                 | 223 +++++++++-----
 jc/cli.py                     |   4 +-
 man/jc.1                      |  12 +-
 94 files changed, 11423 insertions(+), 10081 deletions(-)
6fad44e35df5d0e33e716d0fcb84ed309e6fd30b fix type hint
 jc/lib.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
1caac750daa25a5abeb1289964e918ec06289bfc Update type hints
 jc/lib.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
16370dcb3d5cf1304c2340ef2253ef2987a982b4 update type hints
 jc/lib.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
c1302f2573993a6908001d6df0697486f54a9e7e add type-hints to public api
 jc/lib.py | 27 +++++++++++++++++++--------
 1 file changed, 19 insertions(+), 8 deletions(-)
6f0ffe0955e4d9d6cc82552cf4e4f419e3ff3756 docu update
 CHANGELOG | 2 ++
 1 file changed, 2 insertions(+)
1f89745fe7cca3a0ac27445942098b717675a481 version bump
 setup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
a46ac18ef775bb2c52675e61e11c5d92f33cbe81 doc update
 CHANGELOG | 5 +++++
 1 file changed, 5 insertions(+)
1a05f1c575b57456481e41baaf551cef30115966 add parser info functions. move _get_parser functionality from cli to lib
 jc/__init__.py |  4 ++--
 jc/cli.py      | 48 +++++++-----------------------------------
 jc/lib.py      | 66 +++++++++++++++++++++++++++++++++++++++++++++++-----------
 3 files changed, 64 insertions(+), 54 deletions(-)
08f818aa42ca68050a79ec387c42bff265257fd5 Merge pull request #199 from kellyjonbrazil/master
b3896650c230b4acc73704a50c93ee74e4034eef revert column formatting
 README.md                 | 83 ++++++++++++++++++-----------------------------
 templates/readme_template | 83 ++++++++++++++++++-----------------------------
 2 files changed, 62 insertions(+), 104 deletions(-)
f285539526998a5097943c71dcecb2979036b2b0 conform to 80 columns
 README.md                 | 83 +++++++++++++++++++++++++++++------------------
 templates/readme_template | 83 +++++++++++++++++++++++++++++------------------
 2 files changed, 104 insertions(+), 62 deletions(-)
a896dcdf3b31b60582ebb1b3bca5d1103f998dd6 formatting
 README.md                 | 229 ++++++++++++++++++++++++++++++++++------------
 templates/readme_template | 229 ++++++++++++++++++++++++++++++++++------------
 2 files changed, 338 insertions(+), 120 deletions(-)
0a187d4ed08173ec360a006ae2367bb1f2f96c52 add console interview links
 README.md                 | 4 +++-
 man/jc.1                  | 2 +-
 templates/readme_template | 4 +++-
 3 files changed, 7 insertions(+), 3 deletions(-)
2d65bc57d5a396e6683f970194de29494b5c1272 add quotes
 docs/readme.md | 6 +++---
 jc/__init__.py | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)
ab63809fde0cefe1f0401d957a3736fdb760f0cf update description
 docs/readme.md | 4 ++--
 jc/__init__.py | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
6f04707dc63936efd0e533ae36e1b39ead10c466 add python package doc info to top of page
 README.md                 | 2 ++
 templates/readme_template | 2 ++
 2 files changed, 4 insertions(+)
d14a86a9b58bdc3cb0c8df1dfa495aefdaab8033 fix typo
 docs/readme.md | 2 +-
 jc/__init__.py | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
8e6a31d3da19926ac46744e02b27a899ca5fbd7c minor fix for macOS binary
 CHANGELOG      | 3 +++
 docs/readme.md | 4 ++--
 jc/__init__.py | 4 ++--
 jc/lib.py      | 7 +++++--
 man/jc.1       | 2 +-
 setup.py       | 2 +-
 6 files changed, 14 insertions(+), 8 deletions(-)
6e7b6afe87355e96422bb2560ffcbd5e79d28f04 Merge pull request #198 from kellyjonbrazil/dev
027c231097a002526350a93322407582a85db0cb formatting
 CHANGELOG | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
f1cf7d1f953586dd44a4463d924f1a1f52717c37 add helper function info
 jc/parsers/foo.py   | 6 ++++--
 jc/parsers/foo_s.py | 6 +++---
 2 files changed, 7 insertions(+), 5 deletions(-)
df611cc263f50285e74ceb3381f55b43a74870a0 formatting
 docs/readme.md | 6 ++++--
 jc/__init__.py | 6 ++++--
 2 files changed, 8 insertions(+), 4 deletions(-)
0f3143bbbb593340190e66729580146410012e14 formatting
 docs/readme.md | 6 ++++--
 jc/__init__.py | 6 ++++--
 2 files changed, 8 insertions(+), 4 deletions(-)
c280757b7624a46543e481ca47a6e084d2d6f519 formatting
 docs/readme.md | 4 ++--
 jc/__init__.py | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
d30b9d84ef5ec3a2a504f7ea251c932b8c9ea878 formatting
 docs/readme.md | 4 +++-
 jc/__init__.py | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)
50ded1dbd97d26cf01d7e1a98b40e0f0f7d02202 doc update
 docs/readme.md | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)
e319aea5a45c598a44f35b4e58131d977509e4f3 add doc version info
 jc/__init__.py | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)
ba86509c1d8700a50fe14e9d931ee57261306c5f simplify OSError exception handling
 jc/cli.py | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)
0a9279ae6bfdd1aa59f5e9b31ce0af3bfec19f96 doc update
 CHANGELOG         | 5 +++--
 tests/test_lib.py | 1 +
 2 files changed, 4 insertions(+), 2 deletions(-)
a13dde12af01b4473aa9a34b8a0d7387fb48500a change raw output wording
 docs/parsers/acpi.md          | 2 +-
 docs/parsers/airport.md       | 2 +-
 docs/parsers/airport_s.md     | 2 +-
 docs/parsers/arp.md           | 2 +-
 docs/parsers/blkid.md         | 2 +-
 docs/parsers/cksum.md         | 2 +-
 docs/parsers/crontab.md       | 2 +-
 docs/parsers/crontab_u.md     | 2 +-
 docs/parsers/csv.md           | 2 +-
 docs/parsers/csv_s.md         | 2 +-
 docs/parsers/date.md          | 2 +-
 docs/parsers/df.md            | 2 +-
 docs/parsers/dig.md           | 2 +-
 docs/parsers/dir.md           | 2 +-
 docs/parsers/dmidecode.md     | 2 +-
 docs/parsers/dpkg_l.md        | 2 +-
 docs/parsers/du.md            | 2 +-
 docs/parsers/env.md           | 2 +-
 docs/parsers/file.md          | 2 +-
 docs/parsers/finger.md        | 2 +-
 docs/parsers/free.md          | 2 +-
 docs/parsers/fstab.md         | 2 +-
 docs/parsers/group.md         | 2 +-
 docs/parsers/gshadow.md       | 2 +-
 docs/parsers/hash.md          | 2 +-
 docs/parsers/hashsum.md       | 2 +-
 docs/parsers/hciconfig.md     | 2 +-
 docs/parsers/history.md       | 2 +-
 docs/parsers/hosts.md         | 2 +-
 docs/parsers/id.md            | 2 +-
 docs/parsers/ifconfig.md      | 2 +-
 docs/parsers/ini.md           | 2 +-
 docs/parsers/iostat.md        | 2 +-
 docs/parsers/iostat_s.md      | 2 +-
 docs/parsers/iptables.md      | 2 +-
 docs/parsers/iw_scan.md       | 2 +-
 docs/parsers/jar_manifest.md  | 2 +-
 docs/parsers/jobs.md          | 2 +-
 docs/parsers/kv.md            | 2 +-
 docs/parsers/last.md          | 2 +-
 docs/parsers/ls.md            | 2 +-
 docs/parsers/ls_s.md          | 2 +-
 docs/parsers/lsblk.md         | 2 +-
 docs/parsers/lsmod.md         | 2 +-
 docs/parsers/lsof.md          | 2 +-
 docs/parsers/lsusb.md         | 2 +-
 docs/parsers/mount.md         | 2 +-
 docs/parsers/netstat.md       | 2 +-
 docs/parsers/ntpq.md          | 2 +-
 docs/parsers/passwd.md        | 2 +-
 docs/parsers/ping.md          | 2 +-
 docs/parsers/ping_s.md        | 2 +-
 docs/parsers/pip_list.md      | 2 +-
 docs/parsers/pip_show.md      | 2 +-
 docs/parsers/ps.md            | 2 +-
 docs/parsers/route.md         | 2 +-
 docs/parsers/rpm_qi.md        | 2 +-
 docs/parsers/sfdisk.md        | 2 +-
 docs/parsers/shadow.md        | 2 +-
 docs/parsers/ss.md            | 2 +-
 docs/parsers/stat.md          | 2 +-
 docs/parsers/stat_s.md        | 2 +-
 docs/parsers/sysctl.md        | 2 +-
 docs/parsers/systemctl.md     | 2 +-
 docs/parsers/systemctl_lj.md  | 2 +-
 docs/parsers/systemctl_ls.md  | 2 +-
 docs/parsers/systemctl_luf.md | 2 +-
 docs/parsers/systeminfo.md    | 2 +-
 docs/parsers/time.md          | 2 +-
 docs/parsers/timedatectl.md   | 2 +-
 docs/parsers/tracepath.md     | 2 +-
 docs/parsers/traceroute.md    | 2 +-
 docs/parsers/ufw.md           | 2 +-
 docs/parsers/ufw_appinfo.md   | 2 +-
 docs/parsers/uname.md         | 2 +-
 docs/parsers/upower.md        | 2 +-
 docs/parsers/uptime.md        | 2 +-
 docs/parsers/vmstat.md        | 2 +-
 docs/parsers/vmstat_s.md      | 2 +-
 docs/parsers/w.md             | 2 +-
 docs/parsers/wc.md            | 2 +-
 docs/parsers/who.md           | 2 +-
 docs/parsers/xml.md           | 2 +-
 docs/parsers/yaml.md          | 2 +-
 docs/parsers/zipinfo.md       | 2 +-
 jc/parsers/acpi.py            | 2 +-
 jc/parsers/airport.py         | 2 +-
 jc/parsers/airport_s.py       | 2 +-
 jc/parsers/arp.py             | 2 +-
 jc/parsers/blkid.py           | 2 +-
 jc/parsers/cksum.py           | 2 +-
 jc/parsers/crontab.py         | 2 +-
 jc/parsers/crontab_u.py       | 2 +-
 jc/parsers/csv.py             | 2 +-
 jc/parsers/csv_s.py           | 2 +-
 jc/parsers/date.py            | 2 +-
 jc/parsers/df.py              | 2 +-
 jc/parsers/dig.py             | 2 +-
 jc/parsers/dir.py             | 2 +-
 jc/parsers/dmidecode.py       | 2 +-
 jc/parsers/dpkg_l.py          | 2 +-
 jc/parsers/du.py              | 2 +-
 jc/parsers/env.py             | 2 +-
 jc/parsers/file.py            | 2 +-
 jc/parsers/finger.py          | 2 +-
 jc/parsers/foo.py             | 2 +-
 jc/parsers/foo_s.py           | 2 +-
 jc/parsers/free.py            | 2 +-
 jc/parsers/fstab.py           | 2 +-
 jc/parsers/group.py           | 2 +-
 jc/parsers/gshadow.py         | 2 +-
 jc/parsers/hash.py            | 2 +-
 jc/parsers/hashsum.py         | 2 +-
 jc/parsers/hciconfig.py       | 2 +-
 jc/parsers/history.py         | 2 +-
 jc/parsers/hosts.py           | 2 +-
 jc/parsers/id.py              | 2 +-
 jc/parsers/ifconfig.py        | 2 +-
 jc/parsers/ini.py             | 2 +-
 jc/parsers/iostat.py          | 2 +-
 jc/parsers/iostat_s.py        | 2 +-
 jc/parsers/iptables.py        | 2 +-
 jc/parsers/iw_scan.py         | 2 +-
 jc/parsers/jar_manifest.py    | 2 +-
 jc/parsers/jobs.py            | 2 +-
 jc/parsers/kv.py              | 2 +-
 jc/parsers/last.py            | 2 +-
 jc/parsers/ls.py              | 2 +-
 jc/parsers/ls_s.py            | 2 +-
 jc/parsers/lsblk.py           | 2 +-
 jc/parsers/lsmod.py           | 2 +-
 jc/parsers/lsof.py            | 2 +-
 jc/parsers/lsusb.py           | 2 +-
 jc/parsers/mount.py           | 2 +-
 jc/parsers/netstat.py         | 2 +-
 jc/parsers/ntpq.py            | 2 +-
 jc/parsers/passwd.py          | 2 +-
 jc/parsers/ping.py            | 2 +-
 jc/parsers/ping_s.py          | 2 +-
 jc/parsers/pip_list.py        | 2 +-
 jc/parsers/pip_show.py        | 2 +-
 jc/parsers/ps.py              | 2 +-
 jc/parsers/route.py           | 2 +-
 jc/parsers/rpm_qi.py          | 2 +-
 jc/parsers/sfdisk.py          | 2 +-
 jc/parsers/shadow.py          | 2 +-
 jc/parsers/ss.py              | 2 +-
 jc/parsers/stat.py            | 2 +-
 jc/parsers/stat_s.py          | 2 +-
 jc/parsers/sysctl.py          | 2 +-
 jc/parsers/systemctl.py       | 2 +-
 jc/parsers/systemctl_lj.py    | 2 +-
 jc/parsers/systemctl_ls.py    | 2 +-
 jc/parsers/systemctl_luf.py   | 2 +-
 jc/parsers/systeminfo.py      | 2 +-
 jc/parsers/time.py            | 2 +-
 jc/parsers/timedatectl.py     | 2 +-
 jc/parsers/tracepath.py       | 2 +-
 jc/parsers/traceroute.py      | 2 +-
 jc/parsers/ufw.py             | 2 +-
 jc/parsers/ufw_appinfo.py     | 2 +-
 jc/parsers/uname.py           | 2 +-
 jc/parsers/upower.py          | 2 +-
 jc/parsers/uptime.py          | 2 +-
 jc/parsers/vmstat.py          | 2 +-
 jc/parsers/vmstat_s.py        | 2 +-
 jc/parsers/w.py               | 2 +-
 jc/parsers/wc.py              | 2 +-
 jc/parsers/who.py             | 2 +-
 jc/parsers/xml.py             | 2 +-
 jc/parsers/yaml.py            | 2 +-
 jc/parsers/zipinfo.py         | 2 +-
 man/jc.1                      | 2 +-
 173 files changed, 173 insertions(+), 173 deletions(-)
e2ed358de1abefd737c187a324cbe4734d6975e8 changelog update
 CHANGELOG | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
a2cd3666210be3727a00c3405972f32fbd421046 Delete _config.yml
 docs/_config.yml | 1 -
 1 file changed, 1 deletion(-)
15addd9bfc18a0e87beb97040b431c872b783662 doc fix
 docs/parsers/universal.md | 5 +----
 jc/parsers/universal.py   | 7 +++----
 2 files changed, 4 insertions(+), 8 deletions(-)
a4e34b0053ec0c032f4783caaa3e07fc2c685a98 add universal parser docs
 docgen.sh                 |  3 +++
 docs/parsers/universal.md | 60 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 63 insertions(+)
d09529ac302fbcc156d58cf836f8397c98121a76 changelog update
 CHANGELOG | 2 ++
 1 file changed, 2 insertions(+)
553097b5050dc02fbdaeec2e2e138e01bc6811d9 docstring update
 jc/parsers/universal.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
49c556857708307f617b2b516f2d281398681b5b module doc update
 README.md                 |  2 +-
 docs/lib.md               |  9 ++++++---
 docs/readme.md            | 13 ++++++++++---
 jc/__init__.py            | 13 ++++++++++---
 jc/lib.py                 |  9 ++++++---
 man/jc.1                  |  2 +-
 templates/readme_template |  2 +-
 7 files changed, 35 insertions(+), 15 deletions(-)
6962b9ee8a52c924dc2de6b79ddeea3636e80fe4 formatting
 docs/lib.md | 7 ++++---
 jc/lib.py   | 7 ++++---
 2 files changed, 8 insertions(+), 6 deletions(-)
b4575a3f780f9aa2751c8b4789f67aaca32dd1cb add lib docs
 docgen.sh   |  4 +++
 docs/lib.md | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 jc/lib.py   |  2 +-
 3 files changed, 91 insertions(+), 1 deletion(-)
35b54d235d73b2ce658223be3d6095906f142d89 add python package doc info
 README.md                 | 3 +++
 templates/readme_template | 3 +++
 2 files changed, 6 insertions(+)
583a5757e454a4e36b331057d1266279b55ee16a formatting
 docs/parsers/dig.md         | 2 +-
 docs/parsers/dmidecode.md   | 2 +-
 docs/parsers/file.md        | 2 +-
 docs/parsers/last.md        | 6 +++---
 docs/parsers/ls.md          | 5 +++--
 docs/parsers/ls_s.md        | 9 +++++----
 docs/parsers/ping_s.md      | 2 +-
 docs/parsers/traceroute.md  | 2 +-
 docs/parsers/ufw_appinfo.md | 2 +-
 jc/parsers/dig.py           | 2 +-
 jc/parsers/dmidecode.py     | 2 +-
 jc/parsers/file.py          | 2 +-
 jc/parsers/last.py          | 6 +++---
 jc/parsers/ls.py            | 5 +++--
 jc/parsers/ls_s.py          | 9 +++++----
 jc/parsers/ping_s.py        | 2 +-
 jc/parsers/traceroute.py    | 2 +-
 jc/parsers/ufw_appinfo.py   | 2 +-
 18 files changed, 34 insertions(+), 30 deletions(-)
f355333eeed3c4afba844dc7bed5224356552adc formatting
 docs/readme.md | 8 ++++----
 jc/__init__.py | 8 ++++----
 2 files changed, 8 insertions(+), 8 deletions(-)
4d7df109604e4f8367904968602acfc05217a7fe formatting
 docs/readme.md | 4 +---
 jc/__init__.py | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)
66b2c28f4bc75fb76800f9fb7ea485eee194a9a2 formatting
 docs/readme.md | 24 ++++++++++++------------
 jc/__init__.py | 24 ++++++++++++------------
 2 files changed, 24 insertions(+), 24 deletions(-)
299a9c6d88fdf1fede447b4057d8f4263daef733 formatting
 docs/parsers/csv.md |  4 +--
 docs/readme.md      | 78 ++++++++++++++++-------------------------------------
 2 files changed, 25 insertions(+), 57 deletions(-)
bd391d979ce98b126dab0f012a56b3fcb1f73439 add lib function docs
 jc/__init__.py | 78 +++++++++++++++++-----------------------------------------
 1 file changed, 23 insertions(+), 55 deletions(-)
7309bd2282445f6daef0b1491ff60b8104500abb add get_help
 jc/lib.py               | 15 ++++++++++++---
 jc/parsers/csv.py       |  4 ++--
 jc/parsers/universal.py | 10 +++++-----
 3 files changed, 19 insertions(+), 10 deletions(-)
ce84c09d3394b598f19a3e012ef27ce4154e3b3b add get_help()
 jc/__init__.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
b4fffbb6476daf78fbdf19dbf31bbeeab950d2dc formatting
 docs/parsers/crontab.md       |   3 +-
 docs/parsers/crontab_u.md     |  22 +++++----
 docs/parsers/csv.md           |   9 ++--
 docs/parsers/csv_s.md         |  35 ++++++++-----
 docs/parsers/date.md          |  18 ++++---
 docs/parsers/dig.md           |  16 ++++--
 docs/parsers/dir.md           |   6 ++-
 docs/parsers/dpkg_l.md        |   7 +--
 docs/parsers/du.md            |  20 ++++----
 docs/parsers/env.md           |   5 +-
 docs/parsers/file.md          |   4 +-
 docs/parsers/history.md       |   8 ++-
 docs/parsers/ini.md           |  15 +++---
 docs/parsers/iostat_s.md      |  25 ++++++----
 docs/parsers/iw_scan.md       |   5 +-
 docs/parsers/jar_manifest.md  |  25 +++++-----
 docs/parsers/jobs.md          |   3 +-
 docs/parsers/kv.md            |  11 +++--
 docs/parsers/last.md          |  10 ++--
 docs/parsers/ls.md            |  19 ++++++--
 docs/parsers/ls_s.md          |  51 ++++++++++++-------
 docs/parsers/lsblk.md         |  10 +++-
 docs/parsers/lsusb.md         |   5 +-
 docs/parsers/netstat.md       |   3 +-
 docs/parsers/ping.md          |  32 +++++++-----
 docs/parsers/ping_s.md        |  85 +++++++++++++++++++-------------
 docs/parsers/ps.md            |   8 +--
 docs/parsers/rpm_qi.md        |  37 ++++++++------
 docs/parsers/sfdisk.md        |   8 +--
 docs/parsers/ss.md            |   6 ++-
 docs/parsers/stat.md          |   6 ++-
 docs/parsers/stat_s.md        |  27 ++++++----
 docs/parsers/sysctl.md        |   7 ++-
 docs/parsers/systemctl.md     |   4 +-
 docs/parsers/systemctl_ls.md  |   3 +-
 docs/parsers/systemctl_luf.md |   3 +-
 docs/parsers/systeminfo.md    |  19 +++++---
 docs/parsers/time.md          |  33 ++++++++-----
 docs/parsers/timedatectl.md   |   5 +-
 docs/parsers/traceroute.md    |   5 +-
 docs/parsers/ufw.md           |   7 ++-
 docs/parsers/ufw_appinfo.md   |  28 +++++++----
 docs/parsers/upower.md        |  16 +++---
 docs/parsers/vmstat.md        |  13 +++--
 docs/parsers/vmstat_s.md      | 111 +++++++++++++++++++++++++-----------------
 docs/parsers/who.md           |   7 ++-
 46 files changed, 501 insertions(+), 304 deletions(-)
3701b4198aad1826ad6da571fbcaa530b057cc48 formatting
 jc/parsers/acpi.py          |   5 +-
 jc/parsers/airport.py       |   7 ++-
 jc/parsers/airport_s.py     |   3 --
 jc/parsers/arp.py           |   2 -
 jc/parsers/blkid.py         |  10 ++--
 jc/parsers/cksum.py         |   2 -
 jc/parsers/crontab.py       |   6 +--
 jc/parsers/crontab_u.py     |  25 +++++----
 jc/parsers/csv.py           |  14 ++---
 jc/parsers/csv_s.py         |  38 +++++++++-----
 jc/parsers/date.py          |  69 +++++++++++++-----------
 jc/parsers/df.py            |  13 +++--
 jc/parsers/dig.py           |  28 ++++++----
 jc/parsers/dir.py           |   8 +--
 jc/parsers/dmidecode.py     |   3 --
 jc/parsers/dpkg_l.py        |  10 ++--
 jc/parsers/du.py            |  23 ++++----
 jc/parsers/env.py           |   7 +--
 jc/parsers/file.py          |   6 +--
 jc/parsers/finger.py        |  14 +++--
 jc/parsers/foo.py           |   3 +-
 jc/parsers/foo_s.py         |  23 +++++---
 jc/parsers/free.py          |   2 -
 jc/parsers/fstab.py         |   2 -
 jc/parsers/group.py         |   3 --
 jc/parsers/gshadow.py       |   3 --
 jc/parsers/hash.py          |   2 -
 jc/parsers/hashsum.py       |   5 +-
 jc/parsers/hciconfig.py     |  13 ++---
 jc/parsers/history.py       |  10 ++--
 jc/parsers/hosts.py         |   2 -
 jc/parsers/id.py            |   3 --
 jc/parsers/ifconfig.py      |  20 +++----
 jc/parsers/ini.py           |  23 ++++----
 jc/parsers/iostat_s.py      |  25 +++++----
 jc/parsers/iptables.py      |   2 -
 jc/parsers/iw_scan.py       |  11 ++--
 jc/parsers/jar_manifest.py  |  25 ++++-----
 jc/parsers/jobs.py          |   5 +-
 jc/parsers/kv.py            |  13 +++--
 jc/parsers/last.py          |  17 +++---
 jc/parsers/ls.py            |  21 +++++---
 jc/parsers/ls_s.py          |  53 ++++++++++++-------
 jc/parsers/lsblk.py         |  15 ++++--
 jc/parsers/lsmod.py         |   2 -
 jc/parsers/lsof.py          |   2 -
 jc/parsers/lsusb.py         |   5 +-
 jc/parsers/mount.py         |   2 -
 jc/parsers/netstat.py       |  20 +++----
 jc/parsers/ntpq.py          |   2 -
 jc/parsers/passwd.py        |   3 --
 jc/parsers/ping.py          |  46 +++++++++-------
 jc/parsers/ping_s.py        |  99 ++++++++++++++++++++---------------
 jc/parsers/pip_list.py      |   2 -
 jc/parsers/pip_show.py      |   2 -
 jc/parsers/ps.py            |  10 ++--
 jc/parsers/route.py         |   6 +--
 jc/parsers/rpm_qi.py        |  40 +++++++-------
 jc/parsers/sfdisk.py        |  16 +++---
 jc/parsers/shadow.py        |   3 --
 jc/parsers/ss.py            |   8 +--
 jc/parsers/stat.py          |  12 ++---
 jc/parsers/stat_s.py        |  31 +++++++----
 jc/parsers/sysctl.py        |  10 ++--
 jc/parsers/systemctl.py     |   6 +--
 jc/parsers/systemctl_lj.py  |   2 -
 jc/parsers/systemctl_ls.py  |   5 +-
 jc/parsers/systemctl_luf.py |   5 +-
 jc/parsers/systeminfo.py    |  31 ++++++-----
 jc/parsers/time.py          |  51 ++++++++++--------
 jc/parsers/timedatectl.py   |   8 ++-
 jc/parsers/tracepath.py     |   2 -
 jc/parsers/traceroute.py    |   7 +--
 jc/parsers/ufw.py           |   7 ++-
 jc/parsers/ufw_appinfo.py   |  28 ++++++----
 jc/parsers/uname.py         |   4 +-
 jc/parsers/universal.py     |  40 ++++++++------
 jc/parsers/upower.py        |  32 +++++++-----
 jc/parsers/uptime.py        |   2 -
 jc/parsers/vmstat.py        |  28 +++++-----
 jc/parsers/vmstat_s.py      | 125 +++++++++++++++++++++++++-------------------
 jc/parsers/w.py             |   2 -
 jc/parsers/wc.py            |   2 -
 jc/parsers/who.py           |  10 ++--
 jc/parsers/xml.py           |   2 -
 jc/parsers/yaml.py          |   2 -
 86 files changed, 710 insertions(+), 606 deletions(-)
d4c34098fa7ad2098076f0fa0564467e5d06f916 formatting
 jc/lib.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
b3c531193b3fc53697e7d7823576f481f9462d53 formatting
 CHANGELOG     |   3 +-
 docs/utils.md |  79 ++++++++++++++++++++++++----------------
 jc/utils.py   | 114 +++++++++++++++++++++++++++++++++++++---------------------
 3 files changed, 125 insertions(+), 71 deletions(-)
1d0e07c77bab5c48405323e52873c7952dd0a587 formatting
 docs/readme.md | 33 +++++++++++++++------------------
 jc/__init__.py | 33 +++++++++++++++------------------
 jc/lib.py      | 46 +++++++++++++++++++++++++++-------------------
 3 files changed, 57 insertions(+), 55 deletions(-)
06a322cf9c7468dc7e8ba05914e1d07bbc51f63a rename tests and add conversion function tests
 tests/test_lib.py | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)
623d148712f93eacf9b7b5803140603f0af67acb doc update
 man/jc.1 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
647e83d0439a0937db14a2cc97929e38a6b6a43b add test to ensure there are zero plugin parsers installed during tests
 tests/test_lib.py | 3 +++
 1 file changed, 3 insertions(+)
91a554464444da0cc3ed3b4d212539232411f6cc doc update
 jc/lib.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
a1190998aef1bf403ee34c38c1a0fbd6291ac38b add jc and jc.lib tests
 tests/test_jc.py  | 41 +++++++++++++++++++++++++++++++++++++++++
 tests/test_lib.py | 41 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 82 insertions(+)
097d7a1850f6f6df73a5761c657b73ef9dbd3e29 simplify __init__
 jc/__init__.py | 4 ----
 1 file changed, 4 deletions(-)
302bf72e720b3a67fbf1300eaff4f99fc343abeb Update high-level API docs
 docs/parsers/env.md           | 5 +++++
 docs/parsers/file.md          | 5 +++++
 docs/parsers/finger.md        | 5 +++++
 docs/parsers/free.md          | 5 +++++
 docs/parsers/fstab.md         | 5 +++++
 docs/parsers/group.md         | 5 +++++
 docs/parsers/gshadow.md       | 5 +++++
 docs/parsers/hash.md          | 5 +++++
 docs/parsers/hashsum.md       | 5 +++++
 docs/parsers/hciconfig.md     | 5 +++++
 docs/parsers/history.md       | 5 +++++
 docs/parsers/hosts.md         | 5 +++++
 docs/parsers/id.md            | 5 +++++
 docs/parsers/ifconfig.md      | 5 +++++
 docs/parsers/ini.md           | 5 +++++
 docs/parsers/iostat.md        | 5 +++++
 docs/parsers/iostat_s.md      | 7 +++++++
 docs/parsers/iptables.md      | 7 ++++++-
 docs/parsers/iw_scan.md       | 9 +++++++--
 docs/parsers/jar_manifest.md  | 5 +++++
 docs/parsers/jobs.md          | 5 +++++
 docs/parsers/kv.md            | 5 +++++
 docs/parsers/last.md          | 5 +++++
 docs/parsers/ls.md            | 5 +++++
 docs/parsers/ls_s.md          | 7 +++++++
 docs/parsers/lsblk.md         | 5 +++++
 docs/parsers/lsmod.md         | 5 +++++
 docs/parsers/lsof.md          | 5 +++++
 docs/parsers/lsusb.md         | 5 +++++
 docs/parsers/mount.md         | 5 +++++
 docs/parsers/netstat.md       | 5 +++++
 docs/parsers/ntpq.md          | 5 +++++
 docs/parsers/passwd.md        | 5 +++++
 docs/parsers/ping.md          | 5 +++++
 docs/parsers/ping_s.md        | 7 +++++++
 docs/parsers/pip_list.md      | 5 +++++
 docs/parsers/pip_show.md      | 5 +++++
 docs/parsers/ps.md            | 5 +++++
 docs/parsers/route.md         | 5 +++++
 docs/parsers/rpm_qi.md        | 5 +++++
 docs/parsers/sfdisk.md        | 5 +++++
 docs/parsers/shadow.md        | 5 +++++
 docs/parsers/ss.md            | 5 +++++
 docs/parsers/stat.md          | 5 +++++
 docs/parsers/stat_s.md        | 7 +++++++
 docs/parsers/sysctl.md        | 5 +++++
 docs/parsers/systemctl.md     | 5 +++++
 docs/parsers/systemctl_lj.md  | 5 +++++
 docs/parsers/systemctl_ls.md  | 5 +++++
 docs/parsers/systemctl_luf.md | 5 +++++
 docs/parsers/systeminfo.md    | 5 +++++
 docs/parsers/time.md          | 5 +++++
 docs/parsers/timedatectl.md   | 5 +++++
 docs/parsers/tracepath.md     | 5 +++++
 docs/parsers/traceroute.md    | 5 +++++
 docs/parsers/ufw.md           | 5 +++++
 docs/parsers/ufw_appinfo.md   | 5 +++++
 docs/parsers/uname.md         | 5 +++++
 docs/parsers/upower.md        | 5 +++++
 docs/parsers/uptime.md        | 5 +++++
 docs/parsers/vmstat.md        | 5 +++++
 docs/parsers/vmstat_s.md      | 7 +++++++
 docs/parsers/w.md             | 5 +++++
 docs/parsers/wc.md            | 5 +++++
 docs/parsers/who.md           | 5 +++++
 docs/parsers/xml.md           | 5 +++++
 docs/parsers/yaml.md          | 5 +++++
 docs/parsers/zipinfo.md       | 5 +++++
 jc/parsers/env.py             | 5 +++++
 jc/parsers/file.py            | 5 +++++
 jc/parsers/finger.py          | 5 +++++
 jc/parsers/foo.py             | 5 +++++
 jc/parsers/foo_s.py           | 7 +++++++
 jc/parsers/free.py            | 5 +++++
 jc/parsers/fstab.py           | 5 +++++
 jc/parsers/group.py           | 5 +++++
 jc/parsers/gshadow.py         | 5 +++++
 jc/parsers/hash.py            | 5 +++++
 jc/parsers/hashsum.py         | 5 +++++
 jc/parsers/hciconfig.py       | 5 +++++
 jc/parsers/history.py         | 5 +++++
 jc/parsers/hosts.py           | 5 +++++
 jc/parsers/id.py              | 5 +++++
 jc/parsers/ifconfig.py        | 5 +++++
 jc/parsers/ini.py             | 5 +++++
 jc/parsers/iostat.py          | 5 +++++
 jc/parsers/iostat_s.py        | 7 +++++++
 jc/parsers/iptables.py        | 7 ++++++-
 jc/parsers/iw_scan.py         | 9 +++++++--
 jc/parsers/jar_manifest.py    | 5 +++++
 jc/parsers/jobs.py            | 5 +++++
 jc/parsers/kv.py              | 5 +++++
 jc/parsers/last.py            | 5 +++++
 jc/parsers/ls.py              | 5 +++++
 jc/parsers/ls_s.py            | 7 +++++++
 jc/parsers/lsblk.py           | 5 +++++
 jc/parsers/lsmod.py           | 5 +++++
 jc/parsers/lsof.py            | 5 +++++
 jc/parsers/lsusb.py           | 5 +++++
 jc/parsers/mount.py           | 5 +++++
 jc/parsers/netstat.py         | 5 +++++
 jc/parsers/ntpq.py            | 5 +++++
 jc/parsers/passwd.py          | 5 +++++
 jc/parsers/ping.py            | 5 +++++
 jc/parsers/ping_s.py          | 7 +++++++
 jc/parsers/pip_list.py        | 5 +++++
 jc/parsers/pip_show.py        | 5 +++++
 jc/parsers/ps.py              | 5 +++++
 jc/parsers/route.py           | 5 +++++
 jc/parsers/rpm_qi.py          | 5 +++++
 jc/parsers/sfdisk.py          | 5 +++++
 jc/parsers/shadow.py          | 5 +++++
 jc/parsers/ss.py              | 5 +++++
 jc/parsers/stat.py            | 5 +++++
 jc/parsers/stat_s.py          | 7 +++++++
 jc/parsers/sysctl.py          | 5 +++++
 jc/parsers/systemctl.py       | 5 +++++
 jc/parsers/systemctl_lj.py    | 5 +++++
 jc/parsers/systemctl_ls.py    | 5 +++++
 jc/parsers/systemctl_luf.py   | 5 +++++
 jc/parsers/systeminfo.py      | 5 +++++
 jc/parsers/time.py            | 5 +++++
 jc/parsers/timedatectl.py     | 5 +++++
 jc/parsers/tracepath.py       | 5 +++++
 jc/parsers/traceroute.py      | 5 +++++
 jc/parsers/ufw.py             | 5 +++++
 jc/parsers/ufw_appinfo.py     | 5 +++++
 jc/parsers/uname.py           | 5 +++++
 jc/parsers/upower.py          | 5 +++++
 jc/parsers/uptime.py          | 5 +++++
 jc/parsers/vmstat.py          | 5 +++++
 jc/parsers/vmstat_s.py        | 7 +++++++
 jc/parsers/w.py               | 5 +++++
 jc/parsers/wc.py              | 5 +++++
 jc/parsers/who.py             | 5 +++++
 jc/parsers/xml.py             | 5 +++++
 jc/parsers/yaml.py            | 5 +++++
 jc/parsers/zipinfo.py         | 5 +++++
 138 files changed, 718 insertions(+), 6 deletions(-)
2c42baf3a4dd6733c078f31a1becd708a05f2c36 add new high-level api info
 docs/parsers/acpi.md      | 5 +++++
 docs/parsers/airport.md   | 5 +++++
 docs/parsers/airport_s.md | 5 +++++
 docs/parsers/arp.md       | 5 +++++
 docs/parsers/blkid.md     | 5 +++++
 docs/parsers/cksum.md     | 5 +++++
 docs/parsers/crontab.md   | 5 +++++
 docs/parsers/crontab_u.md | 5 +++++
 docs/parsers/csv.md       | 5 +++++
 docs/parsers/csv_s.md     | 7 +++++++
 docs/parsers/date.md      | 5 +++++
 docs/parsers/df.md        | 5 +++++
 docs/parsers/dig.md       | 5 +++++
 docs/parsers/dir.md       | 5 +++++
 docs/parsers/dmidecode.md | 5 +++++
 docs/parsers/dpkg_l.md    | 5 +++++
 docs/parsers/du.md        | 5 +++++
 jc/parsers/acpi.py        | 5 +++++
 jc/parsers/airport.py     | 5 +++++
 jc/parsers/airport_s.py   | 5 +++++
 jc/parsers/arp.py         | 5 +++++
 jc/parsers/blkid.py       | 5 +++++
 jc/parsers/cksum.py       | 5 +++++
 jc/parsers/crontab.py     | 5 +++++
 jc/parsers/crontab_u.py   | 5 +++++
 jc/parsers/csv.py         | 5 +++++
 jc/parsers/csv_s.py       | 7 +++++++
 jc/parsers/date.py        | 5 +++++
 jc/parsers/df.py          | 5 +++++
 jc/parsers/dig.py         | 5 +++++
 jc/parsers/dir.py         | 5 +++++
 jc/parsers/dmidecode.py   | 5 +++++
 jc/parsers/dpkg_l.py      | 5 +++++
 jc/parsers/du.py          | 5 +++++
 34 files changed, 174 insertions(+)
03feb89c84096c0ea1d6ae3a0634ae7b8b507e8f add module list info
 docs/readme.md | 2 ++
 jc/__init__.py | 2 ++
 2 files changed, 4 insertions(+)
9dd553192fbca3037b3afe5df6bae88f7a8a9365 doc update
 CHANGELOG                 |  3 +++
 README.md                 | 10 +++++-----
 docs/readme.md            | 16 +++++++++++++++-
 man/jc.1                  |  2 +-
 templates/readme_template | 10 +++++-----
 5 files changed, 29 insertions(+), 12 deletions(-)
fa3f02e9d1ac7867e3465c2d214f4e4229ff4c66 version bump
 setup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
0a9dde58c5235f78c4c9ae9c013f7454482c6067 add jc.parse() high-level API
 jc/__init__.py |  22 ++++++-
 jc/cli.py      | 154 +++++++----------------------------------------
 jc/lib.py      | 186 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 228 insertions(+), 134 deletions(-)
70cb4453bebb235130e2c287633ecb1de6c2b0aa Merge pull request #195 from kellyjonbrazil/dev
830674cc6f19e107347a743baff7bbaab7f80b75 version bump
 CHANGELOG      | 2 +-
 jc/__init__.py | 2 +-
 man/jc.1       | 2 +-
 setup.py       | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)
fb406b58a12fdfe81bcff76671661af77e7f2fe5 formatting
 docs/parsers/stat_s.md | 4 ++--
 jc/parsers/stat_s.py   | 4 ++--
 man/jc.1               | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)
55b272e41259ddc835cf4eb513fb67e7b2cf1573 tighten stat data detection
 jc/parsers/stat_s.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
94f62a9bf36242310790a0f37c66b2e6c6fdc078 formatting
 docs/parsers/stat_s.md | 6 +++---
 jc/parsers/stat_s.py   | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)
8d19e4cb7b45e3b6cb8c404c959949b7593c9386 doc update
 CHANGELOG              |   3 ++
 README.md              |   1 +
 docs/parsers/stat_s.md | 105 +++++++++++++++++++++++++++++++++++++++++++++++++
 man/jc.1               |   7 +++-
 4 files changed, 115 insertions(+), 1 deletion(-)
7e510d48e0f8426a67cf8d70d06d0331c274d358 simplify non-stat parse error logic
 jc/parsers/stat_s.py                               |   3 +-
 tests/fixtures/centos-7.7/stat-streaming.json      |   1 +
 tests/fixtures/freebsd12/stat-streaming.json       |   1 +
 .../stat-filename-with-spaces-streaming.json       |   1 +
 tests/fixtures/osx-10.14.6/stat-streaming.json     |   1 +
 tests/fixtures/ubuntu-18.04/stat-streaming.json    |   1 +
 tests/test_stat_s.py                               | 100 +++++++++++++++++++++
 7 files changed, 106 insertions(+), 2 deletions(-)
7b20cffb143447f4497bc4e895eac2426e8a519f simplify last item logic
 jc/parsers/stat_s.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
5c934c43c13b69183561da8a77280feb3363e950 add continue to simplify logic
 jc/parsers/stat_s.py | 2 ++
 1 file changed, 2 insertions(+)
8609298449e997ba4804d818f4fc23cb393ded7d update docstring
 jc/parsers/stat_s.py | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
72cb0dc10b2dac486d3e2a52cf44baf0d7496034 fixup for first and last items
 jc/parsers/stat_s.py | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)
7b22fa81ded0f6f59e250ffea63c5d2a0f928b25 raise for non-stat data
 jc/parsers/stat_s.py | 8 ++++++++
 1 file changed, 8 insertions(+)
0b6a1307790e0793917bc2781e4873aa9dd67225 ignore blank lines
 jc/parsers/stat_s.py | 4 ++++
 1 file changed, 4 insertions(+)
fdcf4338e0f099699f8d48df6382be1cc97dba84 add examples to docstring
 jc/parsers/stat_s.py | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
ee43037f481286a34a766390568965fdd53af132 remove unused continue lines
 jc/parsers/stat_s.py | 2 --
 1 file changed, 2 deletions(-)
26e365563c314e694915c7a3feae490ea99a112c add schema and _process logic
 jc/parsers/stat_s.py | 61 ++++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 50 insertions(+), 11 deletions(-)
1b39586bb1b62aee8ae709512c2e3f79cefdb3d9 add stat streaming parser
 jc/cli.py            |   1 +
 jc/parsers/stat_s.py | 226 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 227 insertions(+)
8bb3a6bea34d60d49039f1ed72fd7e413edc05da Merge pull request #194 from kellyjonbrazil/master
e6900e2000bf265dfcfc09ffbfda39e9238661af add jar-manifest
 EXAMPLES.md | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
0ee244756bf39123e4873eb231156edbe7f0e0ec spelling
 docs/parsers/jar_manifest.md | 2 +-
 jc/parsers/jar_manifest.py   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
6d5ac9abe6712e01887ce0d96c278a568319f405 update docs
 docs/parsers/csv.md   | 2 +-
 docs/parsers/csv_s.md | 2 +-
 man/jc.1              | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
44f6d9e1321459be8196aeebf6db088cc5120e61 changelog update
 CHANGELOG | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
360154559c5dee6affa55bbdd5d2f473248b9168 Merge pull request #193 from kellyjonbrazil/dev
78672bd7ad66c418e0ecf31add73f887b0946d29 Merge pull request #190 from shaikustin/csv-doubleqouted
65d96e26b59e231c77c1dbba1dc91708c33de30c add streaming tests
 tests/fixtures/generic/csv-doubleqouted-streaming.json |  1 +
 tests/test_csv_s.py                                    | 12 ++++++++++++
 2 files changed, 13 insertions(+)
241d53af9a5c9bba70e28835e22c52c0060269ba Merge pull request #192 from kellyjonbrazil/dev
5563829df2849a899df2e9211d6c92bddc695f9b make dialect sniff behavior match non-streaming parser
 jc/parsers/csv_s.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
3a4a27e1f94ee07352c7616c57ec655c1aea04f6 version bump
 jc/parsers/csv.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
9c887a36a804d817c3f669a55b9b1566d09d645d update csv_s parser with csv changes
 jc/parsers/csv_s.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
bc7973af36e13006230b5faa9e201e300d468912 update copyright
 README.md | 2 +-
 jc/cli.py | 2 +-
 man/jc.1  | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
32972d8fdbdc71923978fd5c2a87fd6cfa4b7f8e doc update
 CHANGELOG                    |   3 ++
 README.md                    |   1 +
 docs/parsers/jar_manifest.md | 104 +++++++++++++++++++++++++++++++++++++++++++
 jc/__init__.py               |   2 +-
 jc/parsers/jar_manifest.py   |  12 ++---
 man/jc.1                     |   7 ++-
 setup.py                     |   2 +-
 7 files changed, 122 insertions(+), 9 deletions(-)
b128d9109cbdb1176f2473d450023bb0be02531b add MANIFEST.MF tests
 tests/test_jar_manifest.py | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)
929d7273a422c2bd5b83e5e19d32630f1a027f75 doc updates
 jc/parsers/jar_manifest.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
2a40f842743a8745d651b4b6cae645045e6c6aab fix doubleqoute in csv
 jc/parsers/csv.py                            |  4 +++-
 tests/fixtures/generic/csv-doubleqouted.csv  |  3 +++
 tests/fixtures/generic/csv-doubleqouted.json |  4 ++++
 tests/test_csv.py                            | 12 ++++++++++++
 4 files changed, 22 insertions(+), 1 deletion(-)
9ff6fa818f0857321e4b3b089d288997f2ae27af add jar-manifest
 jc/cli.py | 1 +
 1 file changed, 1 insertion(+)
dac73a4bfe24e36474fdf6ff60c23e784ca409bd Merge pull request #189 from kellyjonbrazil/master
d7895547f74744e82317eabe4c870115701872be Merge pull request #188 from listuser/new_branch
b7d439cb870e443e4f4e4a2137ab170835e77eff Renamed jar-manifest.py to jar_manifest.py, added multi manifest outputs to tests...
 jc/parsers/{jar-manifest.py => jar_manifest.py} |   18 +-
 tests/fixtures/rhel-8/MANIFEST.MF.MULTI.json    |    1 +
 tests/fixtures/rhel-8/MANIFEST.MF.MULTI.out     | 2210 +++++++++++++++++++++++
 3 files changed, 2220 insertions(+), 9 deletions(-)
7cc903a5f5ca368be97babadc72689375567a901 Removed inflating from examples in jar-manifest.py
 jc/parsers/jar-manifest.py | 3 ---
 1 file changed, 3 deletions(-)
c495a8291bd3e1fd070ee2e018b9b550f9c86314 Updated test output in MANIFEST.MF.json
 tests/fixtures/rhel-8/MANIFEST.MF.json | 293 +--------------------------------
 1 file changed, 1 insertion(+), 292 deletions(-)
5e1d7d777c627fb17feda6e51d9640bbd0f03302 Renamed metamf.py to jar-manifest.py, plus other changes
 jc/parsers/{metamf.py => jar-manifest.py}          |   34 +-
 tests/fixtures/rhel-8/MANIFEST.MF.json             |  293 ++-
 .../rhel-8/{MANIFEST.MF => MANIFEST.MF.out}        |    0
 .../rhel-8/cmds_used_to_generate_test_data.txt     |   14 -
 .../rhel-8/unzip_c_MANIFEST.MF.multi_jar.json      |    1 -
 .../rhel-8/unzip_c_MANIFEST.MF.multi_jar.out       | 2210 --------------------
 .../rhel-8/unzip_c_MANIFEST.MF.single_jar.json     |    1 -
 .../rhel-8/unzip_c_MANIFEST.MF.single_jar.out      |  295 ---
 8 files changed, 304 insertions(+), 2544 deletions(-)
7edad3f676fe5560017ca9cb05ede6f46787e78f Create key value pairs from a MANIFEST.MF file, to include key multiline value pairs.
 jc/parsers/metamf.py                               |  228 ++
 tests/fixtures/rhel-8/MANIFEST.MF                  |  292 +++
 tests/fixtures/rhel-8/MANIFEST.MF.json             |    1 +
 .../rhel-8/cmds_used_to_generate_test_data.txt     |   14 +
 .../rhel-8/unzip_c_MANIFEST.MF.multi_jar.json      |    1 +
 .../rhel-8/unzip_c_MANIFEST.MF.multi_jar.out       | 2210 ++++++++++++++++++++
 .../rhel-8/unzip_c_MANIFEST.MF.single_jar.json     |    1 +
 .../rhel-8/unzip_c_MANIFEST.MF.single_jar.out      |  295 +++
 8 files changed, 3042 insertions(+)
f7331001d4ab976e311458a16b6e5337da2e3aab use github releases instead of packaging site
 README.md                 | 5 ++++-
 man/jc.1                  | 2 +-
 templates/readme_template | 5 ++++-
 3 files changed, 9 insertions(+), 3 deletions(-)
f8e09ae2ffe185d21305d566fad20f510df9890f Merge pull request #187 from kellyjonbrazil/master
433c7cc0f05e321ffe024845a908f3e856d4cd2b formatting
 docs/parsers/zipinfo.md | 1 +
 jc/parsers/zipinfo.py   | 1 +
 2 files changed, 2 insertions(+)
d753e71a7452310d45fa605a2e4c70320ed60dbb Merge pull request #186 from kellyjonbrazil/dev
2e4f5a508b6c90f9e03dcbcf64efc0e2fc446666 version bump
 CHANGELOG      | 3 +++
 jc/__init__.py | 2 +-
 man/jc.1       | 2 +-
 setup.py       | 2 +-
 4 files changed, 6 insertions(+), 3 deletions(-)
88b960eff6cb3739d0d243c8d8b3e8ad5b8eb97c doc update
 EXAMPLES.md             |  31 ++++++++++++++
 README.md               |   1 +
 docs/parsers/zipinfo.md | 106 ++++++++++++++++++++++++++++++++++++++++++++++++
 man/jc.1                |   7 +++-
 4 files changed, 144 insertions(+), 1 deletion(-)
88c77bd89e2c2a5f023e6638816c9153b6276d35 add zipinfo tests
 tests/fixtures/osx-10.14.6/zipinfo-multi.json |  1 +
 tests/test_zipinfo.py                         | 46 +++++++++++++++++++++++++++
 2 files changed, 47 insertions(+)
51a7a4251fff518d8da78ffa41e7ba2e2cb47f12 add multi-archive test output
 tests/fixtures/osx-10.14.6/zipinfo-multi.out | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
51d2f316f388d962c26aeb4f42affebec339e5a2 add multi-archive support
 jc/parsers/zipinfo.py | 169 +++++++++++++++++++++++++++++---------------------
 1 file changed, 97 insertions(+), 72 deletions(-)
ff78a46c4854339a097992701351ef471aff1671 add zipinfo parser
 jc/cli.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
ed4a9dc1d470f64bcc9de35b2d98568ffd50257d formatting
 jc/parsers/zipinfo.py | 44 +++++++++++++++++++++-----------------------
 1 file changed, 21 insertions(+), 23 deletions(-)
63182dba26040974cb8cada6f5910bb29b1fa3ed Merge pull request #185 from listuser/new_branch
9c1eaa938934269fe4179da798acf5f119cde0cf revised zipinfo.py nested version
 jc/parsers/zipinfo.py              | 127 +++++++++++++++++++------------------
 tests/fixtures/rhel-8/zipinfo.json |   2 +-
 2 files changed, 68 insertions(+), 61 deletions(-)
bc520fcbcdfad6a53e51944391fd24512bed8128 added zipinfo.py nested version
 jc/parsers/zipinfo.py              | 114 ++++++++++++++++++++-----------------
 tests/fixtures/rhel-8/zipinfo.json |   2 +-
 2 files changed, 63 insertions(+), 53 deletions(-)
46faac1a12a5b39d6a25427f6e8fdcca1204dbcd add test data zipinfo.json and zipinfo.out
 tests/fixtures/rhel-8/zipinfo.json |    1 +
 tests/fixtures/rhel-8/zipinfo.out  | 1221 ++++++++++++++++++++++++++++++++++++
 2 files changed, 1222 insertions(+)
3c424c0cb3cff462a963183585b57bea004e974f initial commit zipinfo.py to new_branch
 jc/parsers/zipinfo.py | 165 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 165 insertions(+)
3ac8d0362b4fb9999fc55a60a9cb20ac80d114f7 use quotes around python versions
 .github/workflows/pythonapp.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
d88b998e6c7826a9ecae18663328e2d2915030fe formatting
 docs/parsers/csv_s.md | 8 ++++----
 jc/parsers/csv_s.py   | 8 ++++----
 2 files changed, 8 insertions(+), 8 deletions(-)
a9ed55c00652a563391a7930c7a4649967131ae1 fix spelling
 docs/parsers/csv_s.md    | 2 +-
 docs/parsers/iostat_s.md | 2 +-
 docs/parsers/ls_s.md     | 2 +-
 docs/parsers/ping_s.md   | 2 +-
 docs/parsers/vmstat_s.md | 2 +-
 jc/parsers/csv_s.py      | 2 +-
 jc/parsers/foo_s.py      | 2 +-
 jc/parsers/iostat_s.py   | 2 +-
 jc/parsers/ls_s.py       | 2 +-
 jc/parsers/ping_s.py     | 2 +-
 jc/parsers/vmstat_s.py   | 2 +-
 11 files changed, 11 insertions(+), 11 deletions(-)
ea614341232e5272ee0c7fd46ba0f313033c761f fix schema docs
 docs/parsers/crontab.md   | 6 ++++--
 docs/parsers/crontab_u.md | 6 ++++--
 jc/parsers/crontab.py     | 6 ++++--
 jc/parsers/crontab_u.py   | 6 ++++--
 4 files changed, 16 insertions(+), 8 deletions(-)
a73d0d26cbe2860b8374661068e09e0717a3bab2 Merge pull request #184 from kellyjonbrazil/dev
b4506976e3c865397bc657183d49c484d8bcfd7a formatting
 man/jc.1                   | 8 ++++----
 templates/manpage_template | 6 +++---
 2 files changed, 7 insertions(+), 7 deletions(-)
34cb75a09697a06c3878f2f9a84eb3bd2a90ae62 version bump
 jc/__init__.py | 2 +-
 setup.py       | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
34df643f60712ae25645cb7cddff80e43c12262b add disable colors section
 README.md                  | 3 +++
 man/jc.1                   | 6 ++++++
 templates/manpage_template | 6 ++++++
 templates/readme_template  | 3 +++
 4 files changed, 18 insertions(+)
ac7c13fcc013d386f34db51d634298fa3e97eccd add -C option to docs
 README.md                  | 1 +
 man/jc.1                   | 6 +++++-
 templates/manpage_template | 4 ++++
 templates/readme_template  | 1 +
 4 files changed, 11 insertions(+), 1 deletion(-)
4fdb34c7d5fcaa65e2ccab814c3acf2f0f70c442 add no-color.org
 CHANGELOG | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
7ac468e35aac1a63c4e22f33aead74a6e41a22a6 changelog update
 CHANGELOG | 1 +
 1 file changed, 1 insertion(+)
df190aa299f1669d1fe09380026ae086839abc02 add -C option to force color even with pipes
 jc/cli.py | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)
9621475e86fe20fcdc2902b6ce7860a833ae2ca0 changelog update
 CHANGELOG | 3 +++
 1 file changed, 3 insertions(+)
82e0160de820ad2ed6143f58458711d600b929a3 refactor NO_COLOR test
 jc/cli.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
d03fb8b626a97e81006d0b108c8f400fe4e2ce3b Merge branch 'dev' of https://github.com/kellyjonbrazil/jc into dev
b300dfb3d75fe76e2ddbb087ff742dd0b5e6155b Add support for NO_COLOR env variable
 jc/cli.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
a7de9111d97e687cafbc0709ec3ff7453d658a80 Merge pull request #183 from kellyjonbrazil/dev
7933dfdbe7bf400833d6f6b771362dfc518b9a8d Merge branch 'master' into dev
f7cb5f7d01ac01538bee4da816408072b585768e update date
 CHANGELOG | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
a26a298f1a3c141171e7d7ce459a27a297cec031 doc update
 README.md                |   1 +
 docs/parsers/iostat.md   |  15 ++++++
 docs/parsers/iostat_s.md | 126 +++++++++++++++++++++++++++++++++++++++++++++++
 man/jc.1                 |   7 ++-
 4 files changed, 148 insertions(+), 1 deletion(-)
dbd134d0dac2fc152183480958fd9e65919ac98d add examples to docs
 jc/parsers/iostat_s.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
11aa01b0d9d6913059f98f9bd7591d7cad9037cf iostat-s tests
 jc/parsers/iostat_s.py                               | 2 +-
 tests/fixtures/centos-7.7/iostat-1-streaming.json    | 1 +
 tests/fixtures/centos-7.7/iostat-m-streaming.json    | 1 +
 tests/fixtures/centos-7.7/iostat-mx-streaming.json   | 1 +
 tests/fixtures/centos-7.7/iostat-streaming.json      | 1 +
 tests/fixtures/centos-7.7/iostat-x-streaming.json    | 1 +
 tests/fixtures/ubuntu-18.04/iostat-1-streaming.json  | 1 +
 tests/fixtures/ubuntu-18.04/iostat-m-streaming.json  | 1 +
 tests/fixtures/ubuntu-18.04/iostat-mx-streaming.json | 1 +
 tests/fixtures/ubuntu-18.04/iostat-streaming.json    | 1 +
 tests/fixtures/ubuntu-18.04/iostat-x-streaming.json  | 1 +
 tests/fixtures/ubuntu-20.10/iostat-m-streaming.json  | 1 +
 tests/fixtures/ubuntu-20.10/iostat-mx-streaming.json | 1 +
 tests/fixtures/ubuntu-20.10/iostat-streaming.json    | 1 +
 tests/fixtures/ubuntu-20.10/iostat-x-streaming.json  | 1 +
 15 files changed, 15 insertions(+), 1 deletion(-)
6f18e5344356684e845ec63158c570d82156254f fix for null lines
 tests/test_iostat_s.py | 203 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 203 insertions(+)
7b467c466568ad4e7986d4d7cf3ec606681b6d46 add ubuntu 20.10 tests
 tests/fixtures/ubuntu-20.10/iostat-m.json  |  1 +
 tests/fixtures/ubuntu-20.10/iostat-m.out   | 21 +++++++++++++
 tests/fixtures/ubuntu-20.10/iostat-mx.json |  1 +
 tests/fixtures/ubuntu-20.10/iostat-mx.out  | 22 ++++++++++++++
 tests/fixtures/ubuntu-20.10/iostat-x.json  |  1 +
 tests/fixtures/ubuntu-20.10/iostat-x.out   | 21 +++++++++++++
 tests/fixtures/ubuntu-20.10/iostat.json    |  1 +
 tests/fixtures/ubuntu-20.10/iostat.out     | 22 ++++++++++++++
 tests/test_iostat.py                       | 47 ++++++++++++++++++++++++++++++
 9 files changed, 137 insertions(+)
537b8f263087894c02b5b7c121765cf96182a370 add more int conversions
 jc/parsers/iostat.py   | 4 +++-
 jc/parsers/iostat_s.py | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)
4d823575e791999e200dedd491511c4fde64fc2e add more float fields
 jc/parsers/iostat.py   | 4 +++-
 jc/parsers/iostat_s.py | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)
541aa1d09f20ff6979eabaa66790decb3895f18d Add new field float conversions for iostat v11
 jc/parsers/iostat.py   | 15 ++++++++++++-
 jc/parsers/iostat_s.py | 61 ++++++++++++++++++++++++++++++++++++++++++++------
 2 files changed, 68 insertions(+), 8 deletions(-)
8f02021014b7b19acf1a8bbd777161aa82c65d66 formatting
 jc/parsers/iostat_s.py | 1 -
 1 file changed, 1 deletion(-)
158a15157c7e5dde95dc21766d0696bd82486688 changelog update
 CHANGELOG | 1 +
 1 file changed, 1 insertion(+)
2752e0d66a9ba0b57ac86913fd302ada23c280c0 add iostat streaming parser
 jc/cli.py              |   1 +
 jc/parsers/iostat_s.py | 165 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 166 insertions(+)
6c11e912afe3c4d16da9199b5c2fc10461928ac3 update changelog
 CHANGELOG | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
43d34461e27e3e4ac5f985786831c170b348c7c5 update docs
 README.md                     |   1 +
 docs/parsers/acpi.md          |   2 +-
 docs/parsers/airport.md       |   2 +-
 docs/parsers/airport_s.md     |   2 +-
 docs/parsers/arp.md           |   2 +-
 docs/parsers/blkid.md         |   2 +-
 docs/parsers/cksum.md         |   2 +-
 docs/parsers/crontab.md       |   2 +-
 docs/parsers/crontab_u.md     |   2 +-
 docs/parsers/csv.md           |   2 +-
 docs/parsers/csv_s.md         |   2 +-
 docs/parsers/date.md          |   2 +-
 docs/parsers/df.md            |   2 +-
 docs/parsers/dig.md           |   2 +-
 docs/parsers/dir.md           |   2 +-
 docs/parsers/dmidecode.md     |   2 +-
 docs/parsers/dpkg_l.md        |   2 +-
 docs/parsers/du.md            |   2 +-
 docs/parsers/env.md           |   2 +-
 docs/parsers/file.md          |   2 +-
 docs/parsers/finger.md        |   2 +-
 docs/parsers/free.md          |   2 +-
 docs/parsers/fstab.md         |   2 +-
 docs/parsers/group.md         |   2 +-
 docs/parsers/gshadow.md       |   2 +-
 docs/parsers/hash.md          |   2 +-
 docs/parsers/hashsum.md       |   2 +-
 docs/parsers/hciconfig.md     |   2 +-
 docs/parsers/history.md       |   2 +-
 docs/parsers/hosts.md         |   2 +-
 docs/parsers/id.md            |   2 +-
 docs/parsers/ifconfig.md      |   2 +-
 docs/parsers/ini.md           |   2 +-
 docs/parsers/iostat.md        | 172 ++++++++++++++++++++++++++++++++++++++++++
 docs/parsers/iptables.md      |   2 +-
 docs/parsers/iw_scan.md       |   2 +-
 docs/parsers/jobs.md          |   2 +-
 docs/parsers/last.md          |   2 +-
 docs/parsers/ls.md            |   2 +-
 docs/parsers/ls_s.md          |   2 +-
 docs/parsers/lsblk.md         |   2 +-
 docs/parsers/lsmod.md         |   2 +-
 docs/parsers/lsof.md          |   2 +-
 docs/parsers/lsusb.md         |   2 +-
 docs/parsers/mount.md         |   2 +-
 docs/parsers/netstat.md       |   2 +-
 docs/parsers/ntpq.md          |   2 +-
 docs/parsers/passwd.md        |   2 +-
 docs/parsers/ping.md          |   2 +-
 docs/parsers/ping_s.md        |   2 +-
 docs/parsers/pip_list.md      |   2 +-
 docs/parsers/pip_show.md      |   2 +-
 docs/parsers/ps.md            |   2 +-
 docs/parsers/route.md         |   2 +-
 docs/parsers/rpm_qi.md        |   2 +-
 docs/parsers/sfdisk.md        |   2 +-
 docs/parsers/shadow.md        |   2 +-
 docs/parsers/ss.md            |   2 +-
 docs/parsers/stat.md          |   2 +-
 docs/parsers/sysctl.md        |   2 +-
 docs/parsers/systemctl.md     |   2 +-
 docs/parsers/systemctl_lj.md  |   2 +-
 docs/parsers/systemctl_ls.md  |   2 +-
 docs/parsers/systemctl_luf.md |   2 +-
 docs/parsers/systeminfo.md    |   2 +-
 docs/parsers/time.md          |   2 +-
 docs/parsers/timedatectl.md   |   2 +-
 docs/parsers/tracepath.md     |   2 +-
 docs/parsers/traceroute.md    |   2 +-
 docs/parsers/ufw.md           |   2 +-
 docs/parsers/ufw_appinfo.md   |   2 +-
 docs/parsers/uname.md         |   2 +-
 docs/parsers/upower.md        |   2 +-
 docs/parsers/uptime.md        |   2 +-
 docs/parsers/vmstat.md        |   2 +-
 docs/parsers/vmstat_s.md      |   2 +-
 docs/parsers/w.md             |   2 +-
 docs/parsers/wc.md            |   2 +-
 docs/parsers/who.md           |   2 +-
 docs/parsers/xml.md           |   2 +-
 docs/parsers/yaml.md          |   2 +-
 docs/utils.md                 |  22 +++++-
 man/jc.1                      |   7 +-
 83 files changed, 279 insertions(+), 81 deletions(-)
4dfdc9b0f65d8c950ed74545d0cc3f95c8abec6c Merge branch 'dev' of https://github.com/kellyjonbrazil/jc into dev
e2311cbb03f407414df953c8d1c07d0cf1a549ca add iostat tests
 tests/fixtures/centos-7.7/iostat-1.json    |   1 +
 tests/fixtures/centos-7.7/iostat-1.out     |  26 ++++++
 tests/fixtures/centos-7.7/iostat-m.json    |   1 +
 tests/fixtures/centos-7.7/iostat-m.out     |  10 ++
 tests/fixtures/centos-7.7/iostat-mx.json   |   1 +
 tests/fixtures/centos-7.7/iostat-mx.out    |   9 ++
 tests/fixtures/centos-7.7/iostat-x.json    |   1 +
 tests/fixtures/centos-7.7/iostat-x.out     |  10 ++
 tests/fixtures/centos-7.7/iostat.json      |   1 +
 tests/fixtures/centos-7.7/iostat.out       |   9 ++
 tests/fixtures/ubuntu-18.04/iostat-1.json  |   1 +
 tests/fixtures/ubuntu-18.04/iostat-1.out   |  77 ++++++++++++++++
 tests/fixtures/ubuntu-18.04/iostat-m.json  |   1 +
 tests/fixtures/ubuntu-18.04/iostat-m.out   |  27 ++++++
 tests/fixtures/ubuntu-18.04/iostat-mx.json |   1 +
 tests/fixtures/ubuntu-18.04/iostat-mx.out  |  26 ++++++
 tests/fixtures/ubuntu-18.04/iostat-x.json  |   1 +
 tests/fixtures/ubuntu-18.04/iostat-x.out   |  26 ++++++
 tests/fixtures/ubuntu-18.04/iostat.json    |   1 +
 tests/fixtures/ubuntu-18.04/iostat.out     |  27 ++++++
 tests/test_iostat.py                       | 143 +++++++++++++++++++++++++++++
 21 files changed, 400 insertions(+)
bf15575e90985cfec5c57dd11dfa2b86d53a41be fixes for ubunut
 jc/parsers/iostat.py | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)
406336c7185b539b5e00532b58146d5b1b73f259 add iostat example
 EXAMPLES.md | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)
6665ffaeb8107e9db3b917db0663beaf44024533 remove python 3.6 from tests
 .github/workflows/pythonapp.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
dcf552ca0c69aa5f0309a83dc33dee7c5ed81292 add _process and cleanup
 jc/parsers/iostat.py | 185 ++++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 138 insertions(+), 47 deletions(-)
7a6ebf3c9555dd82df7dc0b71981cdd32ce0061d add iostat parser
 jc/cli.py            |   1 +
 jc/parsers/iostat.py | 170 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 171 insertions(+)
d2dc4a983c86c538e13e568b908072de4ca0daaf changelog update
 CHANGELOG | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
1168259bc23862f671326d41f5282a3575205214 add doc strings
 jc/utils.py | 3 +++
 1 file changed, 3 insertions(+)
e8e4b46021557fbf5776c32dff46de022817fb6b use jc.utils type checks
 jc/parsers/csv_s.py    | 5 ++---
 jc/parsers/foo_s.py    | 7 +++----
 jc/parsers/ls_s.py     | 7 +++----
 jc/parsers/ping_s.py   | 7 +++----
 jc/parsers/vmstat_s.py | 7 +++----
 5 files changed, 14 insertions(+), 19 deletions(-)
12d2de22821fd8f57f4d412e62f53db3d89d5e30 use jc.utils.input_type_check() and simplify compatibility check
 jc/parsers/acpi.py          |  4 ++--
 jc/parsers/airport.py       |  4 ++--
 jc/parsers/airport_s.py     |  4 ++--
 jc/parsers/arp.py           |  4 ++--
 jc/parsers/blkid.py         |  4 ++--
 jc/parsers/cksum.py         |  4 ++--
 jc/parsers/crontab.py       |  4 ++--
 jc/parsers/crontab_u.py     |  4 ++--
 jc/parsers/csv.py           |  4 ++--
 jc/parsers/date.py          |  4 ++--
 jc/parsers/df.py            |  5 ++---
 jc/parsers/dig.py           |  5 ++---
 jc/parsers/dir.py           |  4 ++--
 jc/parsers/dmidecode.py     |  4 ++--
 jc/parsers/dpkg_l.py        |  4 ++--
 jc/parsers/du.py            |  4 ++--
 jc/parsers/env.py           |  4 ++--
 jc/parsers/file.py          |  4 ++--
 jc/parsers/finger.py        |  4 ++--
 jc/parsers/foo.py           |  4 ++--
 jc/parsers/free.py          |  4 ++--
 jc/parsers/fstab.py         |  4 ++--
 jc/parsers/group.py         |  4 ++--
 jc/parsers/gshadow.py       |  4 ++--
 jc/parsers/hash.py          |  4 ++--
 jc/parsers/hashsum.py       |  4 ++--
 jc/parsers/hciconfig.py     |  4 ++--
 jc/parsers/history.py       |  4 ++--
 jc/parsers/hosts.py         |  4 ++--
 jc/parsers/id.py            |  4 ++--
 jc/parsers/ifconfig.py      |  4 ++--
 jc/parsers/ini.py           |  4 ++--
 jc/parsers/iptables.py      |  4 ++--
 jc/parsers/iw_scan.py       |  4 ++--
 jc/parsers/jobs.py          |  4 ++--
 jc/parsers/last.py          |  4 ++--
 jc/parsers/ls.py            |  4 ++--
 jc/parsers/lsblk.py         |  4 ++--
 jc/parsers/lsmod.py         |  4 ++--
 jc/parsers/lsof.py          |  4 ++--
 jc/parsers/lsusb.py         |  4 ++--
 jc/parsers/mount.py         |  4 ++--
 jc/parsers/netstat.py       |  4 ++--
 jc/parsers/ntpq.py          |  4 ++--
 jc/parsers/passwd.py        |  4 ++--
 jc/parsers/ping.py          |  4 ++--
 jc/parsers/pip_list.py      |  4 ++--
 jc/parsers/pip_show.py      |  4 ++--
 jc/parsers/ps.py            |  4 ++--
 jc/parsers/route.py         |  4 ++--
 jc/parsers/rpm_qi.py        |  4 ++--
 jc/parsers/sfdisk.py        |  4 ++--
 jc/parsers/shadow.py        |  4 ++--
 jc/parsers/ss.py            |  4 ++--
 jc/parsers/stat.py          |  4 ++--
 jc/parsers/sysctl.py        |  4 ++--
 jc/parsers/systemctl.py     |  4 ++--
 jc/parsers/systemctl_lj.py  |  4 ++--
 jc/parsers/systemctl_ls.py  |  4 ++--
 jc/parsers/systemctl_luf.py |  4 ++--
 jc/parsers/systeminfo.py    |  4 ++--
 jc/parsers/time.py          |  4 ++--
 jc/parsers/timedatectl.py   |  4 ++--
 jc/parsers/tracepath.py     |  4 ++--
 jc/parsers/traceroute.py    |  4 ++--
 jc/parsers/ufw.py           |  4 ++--
 jc/parsers/ufw_appinfo.py   |  4 ++--
 jc/parsers/uname.py         |  4 ++--
 jc/parsers/upower.py        |  4 ++--
 jc/parsers/uptime.py        |  4 ++--
 jc/parsers/vmstat.py        |  4 ++--
 jc/parsers/w.py             |  4 ++--
 jc/parsers/wc.py            |  4 ++--
 jc/parsers/who.py           |  4 ++--
 jc/parsers/xml.py           |  4 ++--
 jc/parsers/yaml.py          |  4 ++--
 jc/utils.py                 | 40 +++++++++++++++++++++++++++++-----------
 77 files changed, 181 insertions(+), 165 deletions(-)
0e2fe401e1c49a9f947d7d17b72cfc4e90787f47 version bump
 jc/parsers/ls_s.py     | 2 +-
 jc/parsers/ping_s.py   | 2 +-
 jc/parsers/vmstat_s.py | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
14247adb0ae007924ca551a706eb0cfdbae97a41 add input type checks
 jc/parsers/csv_s.py | 7 ++++---
 tests/test_csv_s.py | 2 +-
 2 files changed, 5 insertions(+), 4 deletions(-)
3a9f0934c41c85ea7fa87165b9559f08814645cd add input type checks
 jc/parsers/ls_s.py | 6 ++++--
 tests/test_ls_s.py | 2 +-
 2 files changed, 5 insertions(+), 3 deletions(-)
caf0a5c8713bf0d72951a2c6fd5a2c62c9eb59d3 add input type checking
 jc/parsers/vmstat_s.py | 9 ++++++---
 tests/test_vmstat_s.py | 2 +-
 2 files changed, 7 insertions(+), 4 deletions(-)
cfb58b1cf3e3028f8e03fdd93f0165cf8d230e1e add input type checks
 jc/parsers/foo_s.py | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
975cf195cc02774f50460ca479d9ebb7b73c7870 formatting
 jc/parsers/ping_s.py | 1 -
 1 file changed, 1 deletion(-)
8a46a259a36efc55bb0b2141acb9dd5ae52b7725 add input type checks
 jc/parsers/ping_s.py | 8 +++++---
 tests/test_ping_s.py | 2 +-
 2 files changed, 6 insertions(+), 4 deletions(-)
e395142e599aa78b4a7ec80dcc3f8ccf279f97b1 version bump
 CHANGELOG      | 3 +++
 jc/__init__.py | 2 +-
 setup.py       | 2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)
caaeaf0d67cf44f8d2651cc53a7528d3ef0c74d3 add 'str' type check on input
 jc/parsers/acpi.py          | 6 +++---
 jc/parsers/airport.py       | 6 +++---
 jc/parsers/airport_s.py     | 6 +++---
 jc/parsers/arp.py           | 6 +++---
 jc/parsers/blkid.py         | 6 +++---
 jc/parsers/cksum.py         | 6 +++---
 jc/parsers/crontab.py       | 6 +++---
 jc/parsers/crontab_u.py     | 6 +++---
 jc/parsers/csv.py           | 6 +++---
 jc/parsers/date.py          | 6 +++---
 jc/parsers/df.py            | 6 +++---
 jc/parsers/dig.py           | 6 +++---
 jc/parsers/dir.py           | 6 +++---
 jc/parsers/dmidecode.py     | 6 +++---
 jc/parsers/dpkg_l.py        | 6 +++---
 jc/parsers/du.py            | 6 +++---
 jc/parsers/env.py           | 6 +++---
 jc/parsers/file.py          | 6 +++---
 jc/parsers/finger.py        | 6 +++---
 jc/parsers/foo.py           | 4 ++--
 jc/parsers/free.py          | 6 +++---
 jc/parsers/fstab.py         | 6 +++---
 jc/parsers/group.py         | 6 +++---
 jc/parsers/gshadow.py       | 6 +++---
 jc/parsers/hash.py          | 6 +++---
 jc/parsers/hashsum.py       | 6 +++---
 jc/parsers/hciconfig.py     | 6 +++---
 jc/parsers/history.py       | 6 +++---
 jc/parsers/hosts.py         | 6 +++---
 jc/parsers/id.py            | 6 +++---
 jc/parsers/ifconfig.py      | 6 +++---
 jc/parsers/ini.py           | 6 +++---
 jc/parsers/iptables.py      | 6 +++---
 jc/parsers/iw_scan.py       | 6 +++---
 jc/parsers/jobs.py          | 6 +++---
 jc/parsers/last.py          | 6 +++---
 jc/parsers/ls.py            | 6 +++---
 jc/parsers/lsblk.py         | 6 +++---
 jc/parsers/lsmod.py         | 6 +++---
 jc/parsers/lsof.py          | 6 +++---
 jc/parsers/lsusb.py         | 6 +++---
 jc/parsers/mount.py         | 6 +++---
 jc/parsers/netstat.py       | 6 +++---
 jc/parsers/ntpq.py          | 6 +++---
 jc/parsers/passwd.py        | 6 +++---
 jc/parsers/ping.py          | 6 +++---
 jc/parsers/pip_list.py      | 6 +++---
 jc/parsers/pip_show.py      | 6 +++---
 jc/parsers/ps.py            | 6 +++---
 jc/parsers/route.py         | 6 +++---
 jc/parsers/rpm_qi.py        | 6 +++---
 jc/parsers/sfdisk.py        | 6 +++---
 jc/parsers/shadow.py        | 6 +++---
 jc/parsers/ss.py            | 6 +++---
 jc/parsers/stat.py          | 6 +++---
 jc/parsers/sysctl.py        | 6 +++---
 jc/parsers/systemctl.py     | 6 +++---
 jc/parsers/systemctl_lj.py  | 6 +++---
 jc/parsers/systemctl_ls.py  | 6 +++---
 jc/parsers/systemctl_luf.py | 6 +++---
 jc/parsers/systeminfo.py    | 6 +++---
 jc/parsers/time.py          | 6 +++---
 jc/parsers/timedatectl.py   | 6 +++---
 jc/parsers/tracepath.py     | 6 +++---
 jc/parsers/traceroute.py    | 6 +++---
 jc/parsers/ufw.py           | 6 +++---
 jc/parsers/ufw_appinfo.py   | 6 +++---
 jc/parsers/uname.py         | 6 +++---
 jc/parsers/upower.py        | 6 +++---
 jc/parsers/uptime.py        | 6 +++---
 jc/parsers/vmstat.py        | 6 +++---
 jc/parsers/w.py             | 6 +++---
 jc/parsers/wc.py            | 6 +++---
 jc/parsers/who.py           | 6 +++---
 jc/parsers/xml.py           | 6 +++---
 jc/parsers/yaml.py          | 6 +++---
 76 files changed, 227 insertions(+), 227 deletions(-)
21e69a7cbf62240238f6fb78e874dda6ce2e922a ignore _config.yml
 .gitignore | 1 +
 1 file changed, 1 insertion(+)
603964935b58e02cf0614cf67ffacc6d94755e05 remove trailing whitespace
 CHANGELOG | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
47eb83ae55b9892716fff712bd2be21b6191b552 add .vscode
 .gitignore | 1 +
 1 file changed, 1 insertion(+)
fc0ce6c95923ab124961e695a26c0b68dd0f359f add streaming parser to custom parsers info
 README.md                 | 2 +-
 templates/readme_template | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
077a29fb4eedcfccb026498c5c3a64b7b7601363 add _jc_meta field info
 docs/parsers/csv_s.md | 8 +++++++-
 jc/parsers/csv_s.py   | 8 +++++++-
 2 files changed, 14 insertions(+), 2 deletions(-)
8568d0d328706a7a5b1476452e078d8cbe7b7391 fix csv_s documentation
 docs/parsers/csv_s.md | 4 +++-
 jc/parsers/csv_s.py   | 4 +++-
 man/jc.1              | 2 +-
 3 files changed, 7 insertions(+), 3 deletions(-)
597d39c28ea0c0fe3b072413e9d91ab5e27b62bd Merge pull request #180 from kellyjonbrazil/dev
eb888dcbbcf83c9197bd59aab72f65ea6eb622ba version bump
 jc/__init__.py | 2 +-
 man/jc.1       | 2 +-
 setup.py       | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
d1b9ac0841b15ee15690c4066453a322618320ed doc update
 docs/parsers/df.md      | 2 +-
 docs/parsers/netstat.md | 2 +-
 docs/parsers/ping.md    | 2 +-
 man/jc.1                | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)
89a6d9c5c39b74f1b040f410659bfd7ae1a902d1 add key-check to restore previous behavior even with non-df data
 jc/parsers/df.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
85d983761637129cb85abfb0bbdde7c507061cd2 add df info
 CHANGELOG | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
cd7731484d826d84d835ecd460d746e78cadc5fc fix for cases where the Filesystem data overflows the column length (happens on older versions of df)
 jc/parsers/df.py                               | 47 ++++++++++++++++++++++++--
 tests/fixtures/generic/df-long-filesystem.json |  1 +
 tests/fixtures/generic/df-long-filesystem.out  |  4 +++
 tests/test_df.py                               | 12 +++++++
 4 files changed, 62 insertions(+), 2 deletions(-)
086da16b1743c16a5ccdd102f889fb31f99e3caa version bump
 jc/parsers/netstat.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
20830528f04a5ecbe78420d8008249b089667767 add test for older netstat version fix
 CHANGELOG                               |  1 +
 tests/fixtures/generic/netstat-old.json |  1 +
 tests/fixtures/generic/netstat-old.out  | 14 ++++++++++++++
 tests/test_netstat.py                   | 12 ++++++++++++
 4 files changed, 28 insertions(+)
83371edd8fe3d23dfa92fc707604086522c85ab9 add space before inode to compensate for removed dash
 jc/parsers/netstat_linux.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
364a81decc16742e3caa070d90b1d605d96fe2c1 version bump
 jc/parsers/ping.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
ef09592ad3e5c9a77c1bdebe8f876fc4dde54834 update for 1.17.2
 CHANGELOG | 3 +++
 1 file changed, 3 insertions(+)
4a86e109ccb254d5195b782f84f3967c96ef726c Merge pull request #179 from shaikustin/ping-alpine-linux
7fa5391b6613e62689c624041e03f9750c9c7972 change alpine ping6 to ping
 tests/test_ping.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
9b53ba5714819ff760f2d4546f5d2ee4d521c080 support alpine linux ping
 jc/parsers/ping.py                                 |  2 +-
 .../fixtures/alpine-linux-3.13/ping-hostname.json  |  1 +
 tests/fixtures/alpine-linux-3.13/ping-hostname.out |  9 ++++++++
 tests/fixtures/alpine-linux-3.13/ping-ip.json      |  1 +
 tests/fixtures/alpine-linux-3.13/ping-ip.out       |  6 +++++
 tests/test_ping.py                                 | 27 ++++++++++++++++++++++
 6 files changed, 45 insertions(+), 1 deletion(-)
b59e38cfd2c8a7f5868e05d5562557b1c27e5e56 Merge pull request #176 from kellyjonbrazil/dev
5ba22dae597b9d154ca0a82f71cfbd8d8a6325db add JSON lines info
 docs/parsers/csv_s.md | 2 ++
 jc/parsers/csv_s.py   | 2 ++
 2 files changed, 4 insertions(+)
4232e523acc523e510b4881d2a57a95b88ec8c8b Merge branch 'master' into dev
bee80b35d2b8c15e6233f2798e9c02a11e9e1e9e update for version bump
 CHANGELOG             | 2 +-
 docs/parsers/csv_s.md | 8 ++++----
 man/jc.1              | 2 +-
 3 files changed, 6 insertions(+), 6 deletions(-)
c32395f6950d6294770ee93e8bf4d79c7d275ac3 linting
 tests/test_utils.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
735c5e1078cc27b5cba03b8ebbae15aeca6b8fbd update comments for ParseError test: https://bugs.python.org/issue45617
 tests/test_csv_s.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
d09c94b292ca3beec92a00f8a51b7259dd30a1e5 add python 3.10 testing info
 CHANGELOG | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
4d04866f48f72b9ea0d213dc1533729d3b68a503 add python bug https://bugs.python.org/issue45617 info
 jc/parsers/csv_s.py | 1 +
 1 file changed, 1 insertion(+)
a2d90f4dfcdc2cb00c6c0fa957493c95a21e256b force test
 tests/test_csv_s.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
93a5002c8b530bd6f5f81e5d8595cde1f836ae41 fix 3.10.0 version number
 .github/workflows/pythonapp.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
23bf5227a4c39ea017e55fc21150331e1af6fdb7 Merge branch 'dev' of https://github.com/kellyjonbrazil/jc into dev
77c96fa2a96148221bde7d2274e0dfb5386a166f try tests on python 3.10
 tests/test_csv_s.py | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
3f5a1f015e9c0807e227b9f7300592e25502e014 add python 3.10
 .github/workflows/pythonapp.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
b280c4fc18e60a85ab212b09aa5bf3a05a0eceff add ParseError test to streaming csv parser
 .../fixtures/generic/csv-insurance-streaming.json  |  1 -
 tests/test_csv_s.py                                | 29 ++++++++--------------
 2 files changed, 11 insertions(+), 19 deletions(-)
3ab9b43a2eebf535be98c94810ac474bf32ec515 raise ParseError on newline bug
 jc/parsers/csv_s.py | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
46f568414a5c8d2f135486e86d0ada48cfcefeb0 change streaming parser test names
 tests/test_ls_s.py     |  26 +++++-----
 tests/test_ping_s.py   | 138 ++++++++++++++++++++++++++-----------------------
 tests/test_vmstat_s.py |  21 ++++----
 3 files changed, 96 insertions(+), 89 deletions(-)
cba2fd299fff09a551b780e064a6e22bdf7e539a add tests
 .../generic/csv-10k-sales-records-streaming.json   |   1 +
 tests/fixtures/generic/csv-deniro-streaming.json   |   1 +
 tests/fixtures/generic/csv-example-streaming.json  |   1 +
 tests/fixtures/generic/csv-flyrna-streaming.json   |   1 +
 tests/fixtures/generic/csv-flyrna2-streaming.json  |   1 +
 .../fixtures/generic/csv-homes-pipe-streaming.json |   1 +
 tests/fixtures/generic/csv-homes-streaming.json    |   1 +
 .../fixtures/generic/csv-insurance-streaming.json  |   1 +
 tests/test_csv_s.py                                | 128 +++++++++++----------
 9 files changed, 75 insertions(+), 61 deletions(-)
1e6e44f656f1bbb277eb38fb485f7b48e3b9e40b fix for piping data with non-platform newlines (e.g. windows csv files on unix)
 jc/parsers/csv_s.py | 5 +++++
 1 file changed, 5 insertions(+)
acac0399946d9781193e9350dd7109f1dd3999fe working tests
 tests/fixtures/generic/csv-biostats-streaming.json |   1 +
 tests/fixtures/generic/csv-cities-streaming.json   |   1 +
 tests/test_csv_s.py                                | 147 +++++++++++++++++++++
 3 files changed, 149 insertions(+)
50a3b340164b3139f04f67a2bee16e5343c8a2da optimizations and use iter() so we can exhaust data coming from list objects
 jc/parsers/csv_s.py | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)
b45396070cf28fa36ecb44acd7be3e3bb81a712d update comment
 tests/test_vmstat_s.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
218b9aec8ac397e26e6cd4ff407f3d10ef88ea9b doc update for streaming CSV parser
 README.md             |  1 +
 docs/parsers/csv_s.md | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/csv_s.py   | 52 ++++-------------------------------
 man/jc.1              |  7 ++++-
 4 files changed, 87 insertions(+), 48 deletions(-)
2b887debc647bd533040e392465967d12869cb02 add csv streaming parser
 CHANGELOG                                        |     3 +-
 jc/cli.py                                        |     1 +
 jc/parsers/csv_s.py                              |   168 +
 tests/fixtures/generic/csv-10k-sales-records.csv | 10001 +++++++++++++++++++++
 4 files changed, 10172 insertions(+), 1 deletion(-)
0313e3f8ca0e22e1575192d765d5afedf48e94df linting
 jc/parsers/lsusb.py | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)
1669e6e20c3af3d28968558b76d0901a56775ac0 linting
 jc/parsers/lsusb.py | 51 +++++++++++++++++++++++----------------------------
 1 file changed, 23 insertions(+), 28 deletions(-)
ef6de75dda90c7221d53e0e0a942f0cac2247354 add vmstat timestamp tests to utils
 tests/test_utils.py | 4 ++++
 1 file changed, 4 insertions(+)
a6bcec425a3f44ba3c7cd06b5ebaf522b66df109 comment update
 jc/parsers/lsusb.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
596ad9a64d002ced212b08512126e52707fe73d2 update comment
 jc/parsers/lsusb.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
7a91c93319f75c37ba6bf268d8270947f0bf8b22 add lsusb
 EXAMPLES.md | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 122 insertions(+)
b5f7b35f89197879a9f13bd8fa5d2a0c77cc059a comment update
 jc/parsers/lsusb.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2f47fb7f14c4ff0e1c835897d94ee81d14590aba fix ParseError tests
 tests/test_uname.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
1b214c403657a50689f2a04892ce836dea669a1d raise ParseError if -t option is detected. add test
 jc/parsers/lsusb.py                |  5 +++++
 tests/fixtures/generic/lsusb-t.out | 15 +++++++++++++++
 tests/test_lsusb.py                | 10 ++++++++++
 3 files changed, 30 insertions(+)
8f94f8acc6bb53bbb19ba150551c7df2183a8863 add tests and update docs
 README.md                                          |   1 +
 docs/parsers/file.md                               |   2 +-
 docs/parsers/lsusb.md                              | 288 +++++++++++++++++++++
 docs/parsers/uname.md                              |   2 +-
 man/jc.1                                           |   7 +-
 tests/fixtures/centos-7.7/lsusb-v-single.json      |   1 +
 tests/fixtures/centos-7.7/lsusb-v.json             |   1 +
 tests/fixtures/centos-7.7/lsusb.json               |   1 +
 tests/fixtures/generic/lsusb-test-attributes.json  |   1 +
 tests/fixtures/generic/lsusb-test-attributes2.json |   1 +
 tests/test_lsusb.py                                |  82 ++++++
 11 files changed, 384 insertions(+), 3 deletions(-)
3a2a69cfa55e2f40d7536d923170a5cfc986998e formatting
 jc/parsers/lsusb.py | 4 ----
 1 file changed, 4 deletions(-)
f599c659881248b79c6dbc86d85a61311c9d3434 add stress test examples
 tests/fixtures/generic/lsusb-test-attributes.out  | 116 ++++++++
 tests/fixtures/generic/lsusb-test-attributes2.out | 348 ++++++++++++++++++++++
 2 files changed, 464 insertions(+)
ad12849fd9fc2177afb30740acc63cf284dc394b update docs example and
 jc/parsers/lsusb.py | 164 +++++++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 138 insertions(+), 26 deletions(-)
f36b3789e8df6673207d6c2d3d0796acfdfe011d formatting
 jc/parsers/lsusb.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
6d18c0ba61cd188dbff736f1be47b7362c841687 change variable name last_attribute and last_attr to last_item
 jc/parsers/lsusb.py | 94 ++++++++++++++++++++++++++---------------------------
 1 file changed, 47 insertions(+), 47 deletions(-)
17097abec9567a58b5a5f7bbed11ecfd69cbd28c formatting
 jc/parsers/lsusb.py | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)
b7ddd3b285f205211394edc70b611171cf72a4c5 change variable names
 jc/parsers/lsusb.py | 44 ++++++++++++++++++++++----------------------
 1 file changed, 22 insertions(+), 22 deletions(-)
75b23f62c9d7b33907af92964d1a6234332fbc78 working configuration_descriptor and device_descriptor attributes
 jc/parsers/lsusb.py | 42 +++++++++++++++++++++++++++++++++++-------
 1 file changed, 35 insertions(+), 7 deletions(-)
f88967b2a59d79e053554d1e141f71e9d2d87456 add attribute lists up to interface_association
 jc/parsers/lsusb.py | 147 ++++++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 126 insertions(+), 21 deletions(-)
ba2846664b35b2e94aa905431c55c029b24a64e3 edpoint_descriptors attributes working
 jc/parsers/lsusb.py | 24 ++++++++++++++++++++++--
 1 file changed, 22 insertions(+), 2 deletions(-)
10dba37ca2624e05eff246ef49df8ebd3f275d86 hub_descriptor attributes working
 jc/parsers/lsusb.py | 29 ++++++++++++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)
0e6f938514965503f1d86d56c047f9f8fc03ac65 working hub_port_status section
 jc/parsers/lsusb.py | 81 ++++++++++++++++++++++++-----------------------------
 1 file changed, 36 insertions(+), 45 deletions(-)
159d87c1126f4d79d5e34837bc2c353a5445803b add length guard and test for uname with no -a on linux
 jc/parsers/uname.py                 | 11 ++++++-----
 tests/fixtures/centos-7.7/uname.out |  1 +
 tests/test_uname.py                 | 13 +++++++++++--
 3 files changed, 18 insertions(+), 7 deletions(-)
9e7b1621cf232e9859bdf018737e536820f380a0 device_status working
 jc/parsers/lsusb.py | 36 ++++++++++++++++++------------------
 1 file changed, 18 insertions(+), 18 deletions(-)
2057817ef8fec85b2a978b682e7fe8bc16def828 add uname tests
 tests/fixtures/debian10/uname-a.json               | 10 ++++
 tests/fixtures/debian10/uname-a.out                |  2 +
 tests/fixtures/freebsd12/uname-a.json              |  1 +
 tests/fixtures/freebsd12/uname-a.out               |  2 +
 tests/fixtures/freebsd12/uname-a2.json             |  7 +++
 tests/fixtures/freebsd12/uname-a2.out              |  2 +
 tests/fixtures/generic/uname-a-different-proc.json |  1 +
 tests/fixtures/generic/uname-a-different-proc.out  |  1 +
 tests/fixtures/generic/uname-a.json                |  1 +
 tests/fixtures/generic/uname-a.out                 |  2 +
 tests/test_uname.py                                | 60 ++++++++++++++++++++++
 11 files changed, 89 insertions(+)
a1eabad2d37bb0d0e9407edf7305e223eba67da2 add comments
 jc/parsers/uname.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
92bf2b1ca2a172d3977d6e3c36b5ca1a8c2bab63 simplify fixup logic for uname
 CHANGELOG           |  2 +-
 jc/parsers/uname.py | 26 +++++++-------------------
 2 files changed, 8 insertions(+), 20 deletions(-)
2b2123a4ba9b77d2089d367fe85dcb5d2857a295 add FreeBSD support
 CHANGELOG           | 1 +
 jc/parsers/uname.py | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)
908b2f9200ddcce4beb531a3c90908786b6a5b02 add items
 CHANGELOG | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
deff0c7bfdf942b8d7e7bd140219e08bf80a50cb remove print debug
 jc/parsers/uname.py | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)
7cd01efa64029775042a2c145997ce30ef6b4f6b fixup for cases where the 'process' and/or 'machine' fields are blank on linux
 jc/parsers/uname.py | 26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)
2dbe56456bbea2bdfce7eacbf8b9f10a1b249f55 add nested_dict. start work on hub_port_status and device_status
 jc/parsers/lsusb.py | 88 +++++++++++++++++++++++++++++------------------------
 1 file changed, 49 insertions(+), 39 deletions(-)
6078a411ef612be8bad012aa404f34ebd74a1fd7 add initial schema doc
 jc/parsers/lsusb.py | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 79 insertions(+), 4 deletions(-)
4a3656562f161a51f5cb6f0e9ccd271859b78d62 del null keys
 jc/parsers/lsusb.py | 6 ++++++
 1 file changed, 6 insertions(+)
ba75989a24839907723ed7c3d7a497473d489a34 update comments
 jc/parsers/lsusb.py | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
9e9e2c362894f0072ab839565829881d750c8912 move state instantiation before has_data test
 jc/parsers/lsusb.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
9a2a8c6b61a46a9bfb5a4492b86774a4a78672ab shorten set_sections
 jc/parsers/lsusb.py | 72 +++++++++++++++--------------------------------------
 1 file changed, 20 insertions(+), 52 deletions(-)
dae42ef1619441637672d634f9e5d7ab26115f09 add hub_port_status and device_status
 jc/parsers/lsusb.py | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)
931f2cab78bda180443535c04b532d04c6e88dd0 add hub_descriptor
 jc/parsers/lsusb.py | 25 ++++++++++++++-----------
 1 file changed, 14 insertions(+), 11 deletions(-)
72b061bed4453686d264ccf8977cba6c2a4794ec add endpoint_descriptors
 jc/parsers/lsusb.py | 40 ++++++++++++++++++++++++++++++++--------
 1 file changed, 32 insertions(+), 8 deletions(-)
29a7c73990d9620b15a4010d17fc9a9a859f44b4 add hid_device_descriptor and report_descriptors
 jc/parsers/lsusb.py | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
2d1d68e3007f76d4c34ac07ae822935ab6021e79 simplify populate_lists. Add CDC lists
 jc/parsers/lsusb.py | 175 ++++++++++++++++++++++++++--------------------------
 1 file changed, 87 insertions(+), 88 deletions(-)
c5c1e170d1f502de5c76e9e481a23b26ffcaf237 interface descriptors working
 jc/parsers/lsusb.py | 187 +++++++++++++++++++++++++++++++---------------------
 1 file changed, 111 insertions(+), 76 deletions(-)
9c1bb66452838e704ef2277f313bb51a42dc03b9 fix remove _state field during schema_populate
 jc/parsers/lsusb.py | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)
a4f3306bae90fbc807fdd9ff2ce71e25d36a663f initial schema build. need to figure out why deleting _state from output_line causes exceptions
 jc/parsers/lsusb.py | 97 +++++++++++++++++++++++++++++++++++++----------------
 1 file changed, 69 insertions(+), 28 deletions(-)
1bc638b6ee7a820406ba4b84d3408f7cd4fe779d add bus_list and add all device_list data to the list
 jc/parsers/lsusb.py | 68 ++++++++++++++++++++++++++++-------------------------
 1 file changed, 36 insertions(+), 32 deletions(-)
9ad0cd9dae8822235c37159541ce72471eb4263e now storing state within the objects to make building the schema (later) easier.
 jc/parsers/lsusb.py | 327 +++++++++++++++++++---------------------------------
 1 file changed, 116 insertions(+), 211 deletions(-)
6d4a4691276d8659253b2ac8f8bdbd71a1fece7d use class for state
 jc/parsers/lsusb.py | 689 +++++++++++++++++++++++++++-------------------------
 1 file changed, 356 insertions(+), 333 deletions(-)
ed6997e3ff2e575a6d4daa7d7a2cbe7dddacdd4d add interface_association section
 jc/parsers/lsusb.py                          | 104 ++++++++++++++++++---------
 tests/fixtures/centos-7.7/lsusb-v-single.out | 100 ++++++++++++++++++++++++++
 2 files changed, 170 insertions(+), 34 deletions(-)
eb788fca6e25eea1fa8a43b22360c852ecf5af35 somewhat working lsusb parser. needs a lot more TLC
 jc/cli.py                             |   1 +
 jc/parsers/lsusb.py                   | 404 +++++++++++++++++++++++++++
 tests/fixtures/centos-7.7/lsusb-v.out | 509 ++++++++++++++++++++++++++++++++++
 tests/fixtures/centos-7.7/lsusb.out   |   5 +
 4 files changed, 919 insertions(+)
9186f5f37739012b8c04c776310a20ef55b1469f fix file parser for gzip cases (has ': ' in the description, which is the delimiter)
 CHANGELOG                             |  3 ++
 jc/__init__.py                        |  2 +-
 jc/parsers/file.py                    | 11 +++++-
 setup.py                              |  2 +-
 tests/fixtures/osx-10.14.6/file3.json |  1 +
 tests/fixtures/osx-10.14.6/file3.out  | 72 +++++++++++++++++++++++++++++++++++
 tests/test_file.py                    | 12 ++++++
 7 files changed, 99 insertions(+), 4 deletions(-)
30cff5f28140a5b20a617c8145c13e43b7b6685b add note that the streaming parser outputs JSON Lines
 docs/parsers/ls_s.md     | 4 +++-
 docs/parsers/ping_s.md   | 2 ++
 docs/parsers/vmstat_s.md | 2 ++
 jc/parsers/foo_s.py      | 2 ++
 jc/parsers/ls_s.py       | 4 +++-
 jc/parsers/ping_s.py     | 2 ++
 jc/parsers/vmstat_s.py   | 2 ++
 man/jc.1                 | 2 +-
 8 files changed, 17 insertions(+), 3 deletions(-)
b724e0969a0d6b22bed0c77eb8d629381179ea3f -qq instead of -q
 docs/parsers/ls_s.md | 2 +-
 jc/parsers/ls_s.py   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
a62c49e8715873b068a96da5021ea24a783acd6b Merge pull request #172 from kellyjonbrazil/master
9b160f6279bbbf0c15413c98922eef137ba2f3f4 link update
 docs/parsers/ping_s.md   | 2 +-
 docs/parsers/vmstat_s.md | 2 +-
 jc/parsers/ping_s.py     | 2 +-
 jc/parsers/vmstat_s.py   | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)
338a4e2612f70bb3e2af31f61a7db75f647293fe formatting
 docs/parsers/ping_s.md   | 2 +-
 docs/parsers/vmstat_s.md | 2 +-
 jc/parsers/ping_s.py     | 2 +-
 jc/parsers/vmstat_s.py   | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)
0140688750be61dd752059ee66734ab1c7a8f30e link updates
 README.md                 | 2 +-
 docs/parsers/ping_s.md    | 2 +-
 docs/parsers/vmstat_s.md  | 2 ++
 jc/parsers/ping_s.py      | 2 +-
 jc/parsers/vmstat_s.py    | 2 ++
 templates/readme_template | 2 +-
 6 files changed, 8 insertions(+), 4 deletions(-)
73e5ea98c1ca2b9299085e3832791162eca3b9ff Merge pull request #170 from kellyjonbrazil/dev
77dcbc544da271edab5de5ad209117e98c846f9c final doc update
 CHANGELOG      | 1 -
 jc/__init__.py | 2 +-
 man/jc.1       | 2 +-
 3 files changed, 2 insertions(+), 3 deletions(-)
c7bcb0947ae32acc9cdba7a6975d2f2557f10a39 indent subsequent error and warning lines
 jc/utils.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
5cd3f7f71d38b560a88dd6057e9c7a94991a3d71 Add example to raise ParseError if there is no output data to yield
 jc/parsers/foo_s.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
5044388ab2e8d7d8b427fd51b0ab875611bd127f raise if line data is unrecognized
 jc/parsers/vmstat_s.py | 6 +++++-
 tests/test_vmstat_s.py | 3 +--
 2 files changed, 6 insertions(+), 3 deletions(-)
ee075db59819d80e4dcb60ddbd9cfe2fd529dfe9 linting
 jc/cli.py              | 2 +-
 jc/parsers/foo_s.py    | 2 +-
 jc/parsers/vmstat.py   | 5 ++---
 jc/parsers/vmstat_s.py | 3 +--
 4 files changed, 5 insertions(+), 7 deletions(-)
9904e0be61e7c81b907bf3770f111346daeff481 formatting
 docs/utils.md | 2 +-
 jc/utils.py   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
31b69b3242eeca2c02f87c31d58193dd3f06fe49 formatting
 docs/utils.md | 6 +++---
 jc/utils.py   | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)
e6a80fea3228122dd84e17672c835c0460ad1342 formatting
 docs/utils.md | 6 +++---
 jc/utils.py   | 6 +++---
 man/jc.1      | 2 +-
 3 files changed, 7 insertions(+), 7 deletions(-)
d6aec00e038d1ecfe43c13a6909d50630455b372 add vmstat-1-long tests
 tests/fixtures/ubuntu-18.04/vmstat-1-long-streaming.json |  1 +
 tests/fixtures/ubuntu-18.04/vmstat-1-long.json           |  1 +
 tests/test_vmstat.py                                     | 12 ++++++++++++
 tests/test_vmstat_s.py                                   | 14 +++++++++++++-
 4 files changed, 27 insertions(+), 1 deletion(-)
4aa7d81e11ea7fcfbb5c9d74337cde617b1a0d5d ignore re-printed header rows in output
 jc/parsers/vmstat.py                          |  3 ++
 jc/parsers/vmstat_s.py                        |  7 +++--
 tests/fixtures/ubuntu-18.04/vmstat-1-long.out | 42 +++++++++++++++++++++++++++
 3 files changed, 50 insertions(+), 2 deletions(-)
48cdabc3b0862d6291e1ec59ab385e0e146c31eb document timestamps
 docs/parsers/vmstat.md   | 4 ++++
 docs/parsers/vmstat_s.md | 4 ++++
 jc/parsers/vmstat.py     | 4 ++++
 jc/parsers/vmstat_s.py   | 4 ++++
 4 files changed, 16 insertions(+)
a1791ef5479749692c79bbe98fc7687d70cd6cda linting
 jc/parsers/ls_s.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
7bc87f6c2d4cfcfa656a1c1b8973a4c0414c85d9 change _meta to _jc_meta
 docs/parsers/ls_s.md     | 2 +-
 docs/parsers/ping_s.md   | 2 +-
 docs/parsers/vmstat_s.md | 2 +-
 jc/parsers/foo_s.py      | 2 +-
 jc/parsers/ls_s.py       | 2 +-
 jc/parsers/ping_s.py     | 2 +-
 jc/parsers/vmstat_s.py   | 2 +-
 man/jc.1                 | 2 +-
 8 files changed, 8 insertions(+), 8 deletions(-)
bbed9e274b8252ba0518140fe7fc97029310771f linting
 jc/parsers/ping_s.py | 313 +++++++++++++++++++++++++--------------------------
 1 file changed, 154 insertions(+), 159 deletions(-)
486282b9856f5e56cf43ee1399d8e7cb78353b32 linting
 jc/parsers/vmstat_s.py | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
a4d45b653f794033978940da14910f5d607a8254 linting
 jc/parsers/foo_s.py  | 2 ++
 jc/parsers/vmstat.py | 8 ++++----
 2 files changed, 6 insertions(+), 4 deletions(-)
22e151b01c0f97c141d912c9646e46df0320d622 linting
 jc/cli.py   | 88 ++++++++++++++++++++++++++++++-------------------------------
 jc/utils.py | 28 +++++++++-----------
 2 files changed, 56 insertions(+), 60 deletions(-)
7a4ebcd1ecdb4929aae70e44b4f9b6b5ab52b393 language hints
 CONTRIBUTING.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
651cbfe02fbb354c4caf8e0d022655642e7caed3 add streaming foo parser
 CONTRIBUTING.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
8c3e764516e1c28961b09380b638a57ce98b1261 add streaming parser to contrib guidelines
 README.md                 | 2 +-
 templates/readme_template | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
b4e75da7e3f23502723ce8b2a7261b376f296864 formatting
 README.md                 | 4 ++--
 templates/readme_template | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
37223f086cabc8db5962415bd161fed151dafb9d formatting
 README.md                 | 5 +++--
 templates/readme_template | 5 +++--
 2 files changed, 6 insertions(+), 4 deletions(-)
a404033735c2c8075a8e08194197eae59db70afd add error and warning message wrap info
 CHANGELOG | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
b7433ed085c0ba22ea0d49330871a651a8d83fb4 auto wrap warning and error messages
 docs/utils.md            | 16 ++++++++-----
 jc/cli.py                | 39 +++++++++++++++----------------
 jc/parsers/file.py       |  2 +-
 jc/parsers/ls.py         |  2 +-
 jc/parsers/traceroute.py |  2 +-
 jc/utils.py              | 60 ++++++++++++++++++++++++++++++++++++++----------
 6 files changed, 80 insertions(+), 41 deletions(-)
224d3d65ada4216e28e142d411b0c2c3358517b3 Add exception class name to error message
 jc/cli.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
a349fb0bdabaf74503831f22c4efbd02254f809d change _meta to _jc_meta
 README.md     | 6 +++---
 docs/utils.md | 6 ++++--
 man/jc.1      | 6 +++---
 3 files changed, 10 insertions(+), 8 deletions(-)
e7ddcfb83fb295034db44ade407476ff3a962cd8 change _meta to _jc_meta
 jc/utils.py                                                    | 10 ++++++----
 templates/manpage_template                                     |  6 +++---
 templates/readme_template                                      |  6 +++---
 .../centos-7.7/ping-ip-O-streaming-ignore-exceptions.json      |  2 +-
 tests/test_ping_s.py                                           |  2 +-
 5 files changed, 14 insertions(+), 12 deletions(-)
abd20dfe3662f65373ac582c70aa740e53b52f68 formatting
 README.md                  | 2 +-
 man/jc.1                   | 2 +-
 templates/manpage_template | 2 +-
 templates/readme_template  | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)
dc1fd3ef1be41aee349b159059f1febff76f6caf fix -qq docs
 README.md                  | 6 +++---
 man/jc.1                   | 6 +++---
 templates/manpage_template | 6 +++---
 templates/readme_template  | 6 +++---
 4 files changed, 12 insertions(+), 12 deletions(-)
98a7686db46fbd3ed98382867976249f307d0015 use -qq to ignore streaming exceptions
 README.md                                          |   2 +-
 docs/parsers/ls_s.md                               |   9 +-
 docs/parsers/ping_s.md                             |   9 +-
 docs/parsers/vmstat_s.md                           |   9 +-
 docs/utils.md                                      |   6 +-
 jc/cli.py                                          |  23 ++--
 jc/parsers/foo_s.py                                |  13 +-
 jc/parsers/ls_s.py                                 |  13 +-
 jc/parsers/ping_s.py                               |  13 +-
 jc/parsers/vmstat_s.py                             |  13 +-
 jc/utils.py                                        |  12 +-
 man/jc.1                                           |   4 +-
 templates/manpage_template                         |   4 +-
 templates/readme_template                          |   2 +-
 ... => ping-ip-O-streaming-ignore-exceptions.json} |   0
 tests/test_ls_s.py                                 |  24 ++--
 tests/test_ping_s.py                               | 140 ++++++++++-----------
 tests/test_vmstat_s.py                             |  16 +--
 18 files changed, 160 insertions(+), 152 deletions(-)
9c6c6c4330fc68115be012de254161f36e3a8328 add next() info
 README.md                 | 2 +-
 templates/readme_template | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
f9be5651daa891e06ad0acd8980ffc0fe51fd29d add language hints
 README.md                 | 5 ++---
 templates/readme_template | 5 ++---
 2 files changed, 4 insertions(+), 6 deletions(-)
df9835a3e62bb2b3b6ec8b55f06a25a00a799d92 formatting
 README.md                 | 2 +-
 templates/readme_template | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
92363be2dd633bdd3c2dd07c72ebd281d2cb4565 fix streaming python module example
 README.md                 | 3 +--
 templates/readme_template | 3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)
31b62030156f9c826fe5c7d127e9dd0ace582dd0 formatting
 README.md                 | 6 +++---
 templates/readme_template | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)
18805858d685d456f9a38540bbaedbaa1a411546 formatting
 man/jc.1                   | 4 ++--
 templates/manpage_template | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)
e676f0e20fb6e96a536c4d182b0d287cdc1ad0f7 add streaming parser info for python module use
 README.md                 | 21 ++++++++++++++++++---
 templates/readme_template | 21 ++++++++++++++++++---
 2 files changed, 36 insertions(+), 6 deletions(-)
20652edefaa7705b8ba756bae3944ff362a295a6 update changelog
 CHANGELOG | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
98c29d07478093e78f53ec633f2dd08cafc3e3ae add vmstat tests
 tests/fixtures/centos-7.7/vmstat-a.json       |   1 +
 tests/fixtures/centos-7.7/vmstat-at-5-10.json |   1 +
 tests/fixtures/centos-7.7/vmstat-awt.json     |   1 +
 tests/fixtures/centos-7.7/vmstat-d.json       |   1 +
 tests/fixtures/centos-7.7/vmstat-dt.json      |   1 +
 tests/fixtures/centos-7.7/vmstat-w.json       |   1 +
 tests/fixtures/centos-7.7/vmstat.json         |   1 +
 tests/test_vmstat.py                          | 113 ++++++++++++++++++++++++++
 8 files changed, 120 insertions(+)
41a6311f6b3ed2cc94919d042aed51c46cdf3e2f add streaming parser tests
 tests/fixtures/centos-7.7/vmstat-a-streaming.json  |   1 +
 .../centos-7.7/vmstat-at-5-10-streaming.json       |   1 +
 .../fixtures/centos-7.7/vmstat-awt-streaming.json  |   1 +
 tests/fixtures/centos-7.7/vmstat-d-streaming.json  |   1 +
 tests/fixtures/centos-7.7/vmstat-dt-streaming.json |   1 +
 tests/fixtures/centos-7.7/vmstat-streaming.json    |   1 +
 tests/fixtures/centos-7.7/vmstat-w-streaming.json  |   1 +
 tests/test_ping_s.py                               |   2 +-
 tests/test_vmstat_s.py                             | 124 +++++++++++++++++++++
 9 files changed, 132 insertions(+), 1 deletion(-)
978760ec57e04e3ec347c8764bfad015b6dddbff add exception class name to error string
 jc/utils.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
d410425537817964ceb7b61e0fdff6c03fdf8766 replace single quotes with double quotes in doc
 docs/parsers/vmstat.md   | 68 ++++++++++++++++++++++++------------------------
 docs/parsers/vmstat_s.md | 68 ++++++++++++++++++++++++------------------------
 jc/parsers/vmstat.py     | 68 ++++++++++++++++++++++++------------------------
 jc/parsers/vmstat_s.py   | 68 ++++++++++++++++++++++++------------------------
 4 files changed, 136 insertions(+), 136 deletions(-)
6b7430329cbe1bfb95b47bcfe031906641c127e1 doc update
 README.md                |   2 +
 docs/parsers/vmstat.md   | 145 +++++++++++++++++++++++++++++++++++++++++++++++
 docs/parsers/vmstat_s.md | 105 ++++++++++++++++++++++++++++++++++
 jc/parsers/vmstat_s.py   |   6 ++
 man/jc.1                 |  12 +++-
 5 files changed, 269 insertions(+), 1 deletion(-)
40fe0d4a6081a1233bf5c3eb51a01da1f12bc4dc working parser
 jc/parsers/vmstat_s.py | 163 ++++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 141 insertions(+), 22 deletions(-)
365c5354a0349e470558d15243217a064e73da38 remove debug print statement
 jc/parsers/vmstat.py | 1 -
 1 file changed, 1 deletion(-)
b246a05cbb4c1c564f81b3e72cecb62edbe6ced6 fix vmstat-s name
 jc/cli.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
9e5a7a4abb8668d043625951a05eb5733cbbd56f add vmstat sample output
 tests/fixtures/centos-7.7/vmstat-a.out       | 4 ++++
 tests/fixtures/centos-7.7/vmstat-at-5-10.out | 7 +++++++
 tests/fixtures/centos-7.7/vmstat-awt.out     | 4 ++++
 tests/fixtures/centos-7.7/vmstat-d.out       | 7 +++++++
 tests/fixtures/centos-7.7/vmstat-dt.out      | 7 +++++++
 tests/fixtures/centos-7.7/vmstat-w.out       | 4 ++++
 tests/fixtures/centos-7.7/vmstat.out         | 4 ++++
 7 files changed, 37 insertions(+)
f266acbccafc040c375723147b8e5d7fddb1e697 add processing logic
 jc/parsers/vmstat.py | 120 +++++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 106 insertions(+), 14 deletions(-)
4e3b471f1801f1b9006b18cae2a3d816f361262e add format for vmstat
 jc/utils.py | 2 ++
 1 file changed, 2 insertions(+)
5e28736c2e0c951e71e6531e03a9619279d95d3a add vmstat and vmstat_s
 jc/cli.py | 2 ++
 1 file changed, 2 insertions(+)
a91913a3b517ea0dbb25d6e4cc92850eb2fde5ab streaming parser template
 jc/parsers/vmstat_s.py | 106 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 106 insertions(+)
90c64f0ae0d97d025adee40970d89baca79ee4ac initial working parser
 jc/parsers/vmstat.py | 182 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 182 insertions(+)
7cc642ed1a476abda709ac9b79900a1de12e1ef7 formatting
 jc/parsers/foo_s.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
809f64d35a92bb3d7380fa9d78ac1421a10b81fc Merge pull request #169 from kellyjonbrazil/streaming
a6f859a55edae50fcc185948736218404cfaa929 add final ping_s tests
 .../osx-10.14.6/ping-hostname-p-streaming.json     |   1 +
 .../osx-10.14.6/ping-hostname-s-streaming.json     |   1 +
 .../osx-10.14.6/ping-hostname-streaming.json       |   1 +
 .../osx-10.14.6/ping-ip-dup-streaming.json         |   1 +
 .../fixtures/osx-10.14.6/ping-ip-p-streaming.json  |   1 +
 .../fixtures/osx-10.14.6/ping-ip-s-streaming.json  |   1 +
 tests/fixtures/osx-10.14.6/ping-ip-streaming.json  |   1 +
 .../osx-10.14.6/ping-ip-unreachable-streaming.json |   1 +
 .../osx-10.14.6/ping6-hostname-p-streaming.json    |   1 +
 .../osx-10.14.6/ping6-hostname-s-streaming.json    |   1 +
 .../osx-10.14.6/ping6-hostname-streaming.json      |   1 +
 .../osx-10.14.6/ping6-ip-dup-streaming.json        |   1 +
 .../fixtures/osx-10.14.6/ping6-ip-p-streaming.json |   1 +
 .../fixtures/osx-10.14.6/ping6-ip-s-streaming.json |   1 +
 tests/fixtures/osx-10.14.6/ping6-ip-streaming.json |   1 +
 tests/fixtures/pi/ping-ip-O-D-streaming.json       |   1 +
 tests/fixtures/pi/ping-ip-O-streaming.json         |   1 +
 tests/test_ping_s.py                               | 304 ++++++++++-----------
 18 files changed, 168 insertions(+), 153 deletions(-)
39ef88078f43708e470d3c1b2fd95e76b5cbeb08 add destination_ip to error lines
 jc/parsers/ping_s.py | 1 +
 1 file changed, 1 insertion(+)
aeea5e8d2eab2fef3e14637f512aed7b117c4a3f formatting
 tests/test_ls_s.py | 2 ++
 1 file changed, 2 insertions(+)
1a0700bff4bdebbd9f1f92f2fc7a56c4d5ed6925 add more ping-s tests
 .../fedora32/ping-hostname-O-D-p-s-streaming.json  |   1 +
 .../fedora32/ping-hostname-O-p-streaming.json      |   1 +
 .../fedora32/ping-hostname-O-streaming.json        |   1 +
 tests/fixtures/fedora32/ping-ip-O-D-streaming.json |   1 +
 tests/fixtures/fedora32/ping-ip-O-streaming.json   |   1 +
 .../fedora32/ping6-hostname-O-D-p-s-streaming.json |   1 +
 .../fedora32/ping6-hostname-O-p-streaming.json     |   1 +
 .../fedora32/ping6-ip-O-D-p-streaming.json         |   1 +
 .../fixtures/fedora32/ping6-ip-O-p-streaming.json  |   1 +
 .../freebsd12/ping-hostname-p-streaming.json       |   1 +
 .../freebsd12/ping-hostname-s-streaming.json       |   1 +
 .../freebsd12/ping-hostname-streaming.json         |   1 +
 tests/fixtures/freebsd12/ping-ip-p-streaming.json  |   1 +
 tests/fixtures/freebsd12/ping-ip-s-streaming.json  |   1 +
 tests/fixtures/freebsd12/ping-ip-streaming.json    |   1 +
 .../freebsd12/ping6-hostname-p-streaming.json      |   1 +
 .../freebsd12/ping6-hostname-s-streaming.json      |   1 +
 .../freebsd12/ping6-hostname-streaming.json        |   1 +
 tests/fixtures/freebsd12/ping6-ip-p-streaming.json |   1 +
 tests/fixtures/freebsd12/ping6-ip-s-streaming.json |   1 +
 tests/fixtures/freebsd12/ping6-ip-streaming.json   |   1 +
 .../ping-hostname-O-D-p-s-streaming.json           |   1 +
 .../ubuntu-18.04/ping-hostname-O-p-streaming.json  |   1 +
 .../ubuntu-18.04/ping-hostname-O-streaming.json    |   1 +
 .../ubuntu-18.04/ping-ip-O-D-streaming.json        |   1 +
 .../fixtures/ubuntu-18.04/ping-ip-O-streaming.json |   1 +
 .../ping6-hostname-O-D-p-s-streaming.json          |   1 +
 .../ubuntu-18.04/ping6-hostname-O-p-streaming.json |   1 +
 .../ubuntu-18.04/ping6-ip-O-D-p-streaming.json     |   1 +
 .../ubuntu-18.04/ping6-ip-O-p-streaming.json       |   1 +
 tests/test_ping_s.py                               | 423 ++++++++++-----------
 31 files changed, 240 insertions(+), 213 deletions(-)
b5fa6d068f240671eb948b055cd4f7bf127e0ec0 update docs
 docs/parsers/ls_s.md   | 6 +++++-
 docs/parsers/ping_s.md | 6 +++++-
 jc/parsers/foo_s.py    | 6 +++++-
 jc/parsers/ls_s.py     | 6 +++++-
 jc/parsers/ping_s.py   | 6 +++++-
 5 files changed, 25 insertions(+), 5 deletions(-)
1baec0b420feff068f2dc1e35499f78aa7d0a6e0 add some streaming tests
 .../ping-hostname-O-D-p-s-streaming.json           |   1 +
 .../centos-7.7/ping-hostname-O-p-streaming.json    |   1 +
 .../centos-7.7/ping-hostname-O-streaming.json      |   1 +
 .../fixtures/centos-7.7/ping-ip-O-D-streaming.json |   1 +
 .../centos-7.7/ping-ip-O-streaming-quiet.json      |   1 +
 tests/fixtures/centos-7.7/ping-ip-O-streaming.json |   1 +
 .../fixtures/centos-7.7/ping-ip-dup-streaming.json |   1 +
 .../ping6-hostname-O-D-p-s-streaming.json          |   1 +
 .../centos-7.7/ping6-hostname-O-p-streaming.json   |   1 +
 .../centos-7.7/ping6-ip-O-D-p-streaming.json       |   1 +
 .../centos-7.7/ping6-ip-O-p-streaming.json         |   1 +
 .../centos-7.7/ping6-ip-dup-streaming.json         |   1 +
 tests/test_ping_s.py                               | 803 +++++++++++++++++++++
 13 files changed, 815 insertions(+)
4f2a4e1dee9d722d2aa5ddf2c082a358c88cf640 skip blank lines and warning lines
 jc/parsers/ping_s.py | 8 ++++++++
 1 file changed, 8 insertions(+)
758d617668d1f9d0f27b52d46749e5b67a570cf1 doc update
 docs/parsers/ls_s.md   | 2 +-
 docs/parsers/ping_s.md | 2 +-
 jc/parsers/foo_s.py    | 2 +-
 jc/parsers/ls_s.py     | 2 +-
 jc/parsers/ping_s.py   | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)
55322c37f57a9c8e28641a61928fad2329f5e50d formatting
 jc/parsers/foo_s.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
d19ea5552bb3a379f7f92bcb58794c557ecc6647 add streaming ls parser tests
 tests/fixtures/centos-7.7/ls-al-streaming.json     |   1 +
 tests/fixtures/centos-7.7/ls-alR-streaming.json    |   1 +
 tests/fixtures/centos-7.7/ls-alh-streaming.json    |   1 +
 tests/fixtures/osx-10.14.6/ls-al-streaming.json    |   1 +
 tests/fixtures/osx-10.14.6/ls-alR-streaming.json   |   1 +
 tests/fixtures/osx-10.14.6/ls-alh-streaming.json   |   1 +
 .../osx-10.14.6/ls-lR-empty-folder-streaming.json  |   1 +
 tests/fixtures/ubuntu-18.04/ls-al-streaming.json   |   1 +
 tests/fixtures/ubuntu-18.04/ls-alR-streaming.json  |   1 +
 tests/fixtures/ubuntu-18.04/ls-alh-streaming.json  |   1 +
 .../fixtures/ubuntu-18.04/ls-l-iso-streaming.json  |   1 +
 tests/test_ls_s.py                                 | 182 +++++++++++++++++++++
 12 files changed, 193 insertions(+)
130c3527c1083d399deef00ee8fcaa75f609b485 update docstrings
 docs/parsers/ls_s.md   |  8 ++++----
 docs/parsers/ping_s.md | 12 ++++++------
 jc/parsers/foo_s.py    |  6 +++---
 jc/parsers/ls_s.py     | 10 +++++-----
 jc/parsers/ping_s.py   | 12 ++++++------
 man/jc.1               |  2 +-
 6 files changed, 25 insertions(+), 25 deletions(-)
3f221f471416766a860bd19850afda4899ee5eb3 doc update
 docs/parsers/ping_s.md | 6 ++++--
 jc/parsers/ping_s.py   | 6 ++++--
 2 files changed, 8 insertions(+), 4 deletions(-)
d64c4cb39056bb869fc117477612ae5ae2ef3d85 add streaming parsers section
 man/jc.1                   | 72 +++++++++++++++++++++++++++++++++++++++++++++-
 templates/manpage_template | 70 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 141 insertions(+), 1 deletion(-)
448c56aa46b72438e4a4c83b10a7eb889e3f50e7 formatting
 README.md                 | 2 +-
 templates/readme_template | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
9fbea15b6d031baa8c90f2602e39de7cf51408e2 rename state class to _state
 docs/parsers/ping_s.md | 6 ------
 jc/parsers/ping_s.py   | 4 ++--
 2 files changed, 2 insertions(+), 8 deletions(-)
932060314b3c1ce518b9f57532e124285cb3ad0a doc update
 docs/parsers/ping_s.md | 50 ++++++++++++++++++++++++++++++++++++++++----------
 jc/parsers/ping_s.py   |  2 +-
 2 files changed, 41 insertions(+), 11 deletions(-)
5e68ae50097cb339f3390449db7e3f189a716320 import exception. tighten up os detection
 jc/parsers/ping_s.py | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
d03541beae44a4571a7d0481af01a5c19506207f add docstring examples. add exception raise when OS cannot be detected.
 jc/parsers/ping_s.py | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)
516fa571d90a0c93134c953c15ce84dd31b96b4b remove unused variable. use elif instead of if for linux vs. bsd detection
 jc/parsers/ping_s.py | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
a19c12096a8e8de02a6ff761cc9c13ec249d416e initial working parser for both linux and bsd
 jc/parsers/ping_s.py | 516 +++++++++++++++++++++++++++++++++++++--------------
 1 file changed, 373 insertions(+), 143 deletions(-)
758f27945de4f0897405eba02c7908d815ce6e9b change data_bytes and bytes to sent_bytes and response_bytes
 jc/parsers/ping_s.py | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)
8b1e8d58df22f8542ccaf7bf3e1eabe6132e7a42 remove unneeded line
 jc/parsers/ping_s.py | 1 -
 1 file changed, 1 deletion(-)
b967489d085319facee077958deaa04956a98343 complete linux coverage including summary
 jc/parsers/ping_s.py | 121 ++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 81 insertions(+), 40 deletions(-)
870d0218be2641e3eddb114c23d54deb23155f25 add unbuffer note
 docs/parsers/ping_s.md | 2 ++
 jc/parsers/ping_s.py   | 2 ++
 2 files changed, 4 insertions(+)
84020bc2af294cb065105f1399453aefc98eb180 change error_msg to error in -q result docs
 docs/parsers/ls_s.md   | 2 +-
 docs/parsers/ping_s.md | 2 +-
 docs/utils.md          | 6 ++++++
 jc/parsers/foo_s.py    | 2 +-
 jc/parsers/ls_s.py     | 2 +-
 jc/parsers/ping_s.py   | 2 +-
 man/jc.1               | 2 +-
 7 files changed, 12 insertions(+), 6 deletions(-)
4efe5344e069ed921f208bcbbd097705be2d3b4f add links to HN and Reddit
 README.md                 | 2 ++
 templates/readme_template | 2 ++
 2 files changed, 4 insertions(+)
9182c545134b3d56d27d2c1d9bda678532bdc3fb formatting
 jc/utils.py | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)
28f0ab0b02d21fc060f1ac7181f85552798dc4bd update streaming error messages
 jc/parsers/ls_s.py | 2 +-
 jc/utils.py        | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
90d1a30696b2cbfbb06a55cc0cf920cf8ecd89aa formatting
 README.md                 | 2 +-
 templates/readme_template | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
130b3738cc57fe261e8ef881a57b7836acd7e7e9 shorten successful yield to a single line
 jc/parsers/foo_s.py  |  8 +++-----
 jc/parsers/ls_s.py   |  8 +++-----
 jc/parsers/ping_s.py | 14 ++++----------
 jc/utils.py          | 17 +++++++++++------
 4 files changed, 21 insertions(+), 26 deletions(-)
92c7357615af7689db273aa78d666b35a2ec7a70 formatting
 jc/parsers/foo_s.py | 2 ++
 1 file changed, 2 insertions(+)
c80f8633349c00ea461b8927f9949fe19b2f46ee simplify return condition formatting
 jc/parsers/foo.py | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
4642c20179d4643e0cf1970b264da7d9d91628de formatting
 README.md                 | 4 ++--
 templates/readme_template | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
5288eb22aadbbc1005b16428b94d2b07e9a75e3c add info about streaming parser performance characteristics
 README.md                 | 2 +-
 templates/readme_template | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
df8387a1a99df69eac5005662aaf56d506fa0efd streaming parsers cannot be used with the magic syntax
 README.md                 | 2 ++
 templates/readme_template | 2 ++
 2 files changed, 4 insertions(+)
cc38c27f44d3f088609b878304cab8eed75fc8f2 formatting
 README.md                 | 3 ++-
 templates/readme_template | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)
64f5357d69fe88b45d710d38948969699e1ca12f add streaming parsers section
 README.md                 | 42 ++++++++++++++++++++++++++++++++++++++++++
 templates/readme_template | 42 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 84 insertions(+)
51debb5649bef431e51e543f1c9270e2810aa58f add vmstat parser and change from linebuffer to unbuffer
 CHANGELOG | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
b48d05a4313b27cf5e69d3e4259542e0b131b60f change from line buffer output to unbuffer output
 README.md                  |  2 +-
 jc/cli.py                  |  8 ++++----
 man/jc.1                   | 10 +++++-----
 templates/manpage_template |  8 ++++----
 templates/readme_template  |  2 +-
 5 files changed, 15 insertions(+), 15 deletions(-)
4e7f6b337db61b8a106cf958f6b874157909c87a simplify yield statements
 jc/parsers/foo_s.py  | 15 ++++++++-------
 jc/parsers/ls_s.py   |  9 +++------
 jc/parsers/ping_s.py | 18 ++++++------------
 3 files changed, 17 insertions(+), 25 deletions(-)
a509d99cafd80862721595ee59ccc4a471b5e5a3 add stream_success dictionary
 jc/utils.py | 8 ++++++++
 1 file changed, 8 insertions(+)
481e45fb644ac88fa77ef35643b793f179fe6859 limit parse error msg lenght
 jc/parsers/ls_s.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
e9038e1720e1c0e520e2f29b718aa8505cbbb9a2 initial streaming ping docs
 docs/parsers/ping_s.md | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 66 insertions(+)
8fd9e582bf29275c4daaa3be88ea8d196411b34a doc update
 docs/parsers/ls_s.md | 32 +++++++++++++++-----------------
 1 file changed, 15 insertions(+), 17 deletions(-)
c1fd6f48a5a3501499c9fca7239673b8555cc7c6 add stream_error docs
 docs/utils.md | 6 ++++++
 1 file changed, 6 insertions(+)
af615c7f4b3f589ffc1b37cf9834062a04c013cb add line buffer output option
 CHANGELOG                  |  2 ++
 README.md                  |  4 +++-
 jc/cli.py                  |  7 +++++--
 man/jc.1                   | 11 ++++++++++-
 templates/manpage_template |  4 ++++
 templates/readme_template  |  3 ++-
 6 files changed, 26 insertions(+), 5 deletions(-)
bf0bc32d7ae6cabe07906207f4f08c2e81802c80 flush streamed text for better piping experience
 jc/cli.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
2d6b53e012181a4c33bab441880c47c0fc0b0601 add pattern support. move unparsable line detection to standard streaming parser style
 jc/parsers/ping_s.py | 78 ++++++++++++++++++++++++----------------------------
 1 file changed, 36 insertions(+), 42 deletions(-)
51271fea0fbd7bd63863ba05c399b4675dc5b4bf somewhat working parser
 jc/parsers/ping_s.py | 288 +++++++++++++++++++++++++--------------------------
 1 file changed, 139 insertions(+), 149 deletions(-)
2deb473e0bc96c0e39ec4074a6df4b941ba2172b initial streaming ping parser
 jc/parsers/ping_s.py | 262 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 262 insertions(+)
23eeb33b3da43a679c3bf3f3643cfa552a1164e1 modify stream_error message
 jc/utils.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
f50dfaef45632241f8f6972fa19bb17c54a457ff use stream_error function for exceptions. raise on non -l ls output
 jc/parsers/ls_s.py | 19 ++++++-------------
 1 file changed, 6 insertions(+), 13 deletions(-)
55bb71e9d466cc9ee5f7fd8eca1101c941cbcb35 add streaming ping parser. update streaming exception message
 jc/cli.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
dab9357d286962b70224d6fafbf90a4c0cbc9980 use stream_error function for exceptions
 jc/parsers/foo_s.py | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)
27eb427245b5126335cef0adb5e57522272474b5 add stream_error function
 jc/utils.py | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
260f3685d944ded84396ae3395773d6898803fb6 add streaming parser template
 jc/parsers/foo_s.py | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 112 insertions(+)
76e78fc0c34b88a90fef876eebef92bd71cd772c doc updates
 jc/parsers/ls_s.py | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)
1ac944fa028a400ae7b39b811fcf368c9bf5e259 add -q option info to docstring
 jc/parsers/ls_s.py | 2 ++
 1 file changed, 2 insertions(+)
986bc9b042a940f8dd34f0541bcb9b5840df579e cleanup unused code
 jc/parsers/ls_s.py | 52 +++++++++-------------------------------------------
 1 file changed, 9 insertions(+), 43 deletions(-)
5a7942069b1f3ef3b45992b482bfb6bb973f7e8e add support for parent field
 jc/parsers/ls_s.py | 56 +++++++++++++++++++++++++++---------------------------
 1 file changed, 28 insertions(+), 28 deletions(-)
f6c6fc13ac4c779667807df12444a41ef28a8011 enhance error msg when streaming parser is used
 jc/cli.py | 5 +++++
 1 file changed, 5 insertions(+)
1d8cfae89f24192b6fab087f59c9b8988ef363dc only print _meta object if -q or quiet flag is used. Also, add message to the end of exceptions informing of the -q option to ignore errors
 jc/parsers/ls_s.py | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)
787df51239ffa8260b48d6a3a58e6ff07d5e0f64 remove `\n` from end of line in exception message
 jc/parsers/ls_s.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
5e7f302a9c45343c36e81944db38a435e6c8a20c Raise exceptions unless the -q or quiet flag are used
 jc/parsers/ls_s.py | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)
3d10fd40b56264836874da19aa72351e6d5cfbf7 remove print flush for better performance. Roll json.JSONDecodeError into the parse try/except block
 jc/cli.py | 27 ++++++++++++++-------------
 1 file changed, 14 insertions(+), 13 deletions(-)
57e3bf239cc76d3b0ee0eddc618171eb90c28dec formatting for docs
 docs/parsers/ls_s.md | 6 +++---
 jc/parsers/ls_s.py   | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)
ccb09861e82044e17ec51277b3c8875e5ba9d87d formatting for docs
 docs/parsers/ls_s.md | 20 ++++++++++----------
 jc/parsers/ls_s.py   | 20 ++++++++++----------
 2 files changed, 20 insertions(+), 20 deletions(-)
94551d75dd926c7f558e5cab47ba9483a20c6b3c doc update
 CHANGELOG            |   6 ++++
 README.md            |   1 +
 docs/parsers/ls_s.md |  89 +++++++++++++++++++++++++++++++++++++++++++++++++++
 docs/readme.md       |  25 ++++-----------
 jc/__init__.py       |  27 ++++------------
 jc/man/jc.1.gz       | Bin 2700 -> 0 bytes
 man/jc.1             |   7 +++-
 man/jc.1.gz          | Bin 2700 -> 0 bytes
 mangen.py            |   8 -----
 setup.py             |   2 +-
 10 files changed, 116 insertions(+), 49 deletions(-)
6e21218425359210591827e936b8d48d9644df92 working prototype of streaming ls parser
 jc/cli.py          |  23 +++++-
 jc/parsers/ls_s.py | 214 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 234 insertions(+), 3 deletions(-)
ff0fda48fc48760a7293528155d222c6456f84c4 Merge pull request #168 from kellyjonbrazil/master
528aac7ad87feae2093aba563c83a29ebf75e5f9 use subprocess in python example
 README.md                 | 23 ++++-------------------
 templates/readme_template | 23 ++++-------------------
 2 files changed, 8 insertions(+), 38 deletions(-)
ab482e521d4cecfffa5393805b1d7de4389db49a Merge pull request #163 from kellyjonbrazil/dev
e08b61fa81b1bd2304d04db5cdc8b809fe9c6032 add schema note to sfdisk
 docs/parsers/sfdisk.md |   2 +-
 jc/man/jc.1.gz         | Bin 2700 -> 2700 bytes
 man/jc.1               |   2 +-
 man/jc.1.gz            | Bin 2700 -> 2700 bytes
 4 files changed, 2 insertions(+), 2 deletions(-)
ce61bd1d2b4323d9c2d0454c4f646521913ae20d add tests for -F fixes
 tests/fixtures/debian10/sfdisk-F2.json |  1 +
 tests/fixtures/debian10/sfdisk-F2.out  |  6 +++++
 tests/fixtures/debian10/sfdisk-l2.json |  1 +
 tests/fixtures/debian10/sfdisk-l2.out  | 15 ++++++++++++
 tests/fixtures/debian10/sfdisk-l3.json |  1 +
 tests/fixtures/debian10/sfdisk-l3.out  | 13 ++++++++++
 tests/test_sfdisk.py                   | 43 ++++++++++++++++++++++++++++------
 7 files changed, 73 insertions(+), 7 deletions(-)
7b708f75182bf3ed33478a7de62e9c2496f0b994 Don't convert 'size' to int, except for legacy -d support. Change partition table detection logic to fix -F output
 jc/parsers/sfdisk.py                  | 12 +++++++++---
 tests/fixtures/centos-8/sfdisk-l.json |  2 +-
 tests/fixtures/debian10/sfdisk-l.json |  2 +-
 3 files changed, 11 insertions(+), 5 deletions(-)
89ca50c7fc1bf64f34c915e65031d0bc520e6466 add -l to sfdisk raw example
 docs/parsers/sfdisk.md |   2 +-
 jc/man/jc.1.gz         | Bin 2700 -> 2700 bytes
 jc/parsers/sfdisk.py   |   2 +-
 man/jc.1.gz            | Bin 2700 -> 2700 bytes
 4 files changed, 2 insertions(+), 2 deletions(-)
fb54899dcc2160450448e0d6111557cebdeb0d4d doc update
 docs/parsers/sfdisk.md |  59 +++++++++++++++++++++++++++++++------------------
 jc/man/jc.1.gz         | Bin 2699 -> 2700 bytes
 man/jc.1               |   2 +-
 man/jc.1.gz            | Bin 2699 -> 2700 bytes
 4 files changed, 38 insertions(+), 23 deletions(-)
0a625ad7ddd9c804052d98930165cd22049546bd remove unneeded lines
 jc/parsers/sfdisk.py | 2 --
 1 file changed, 2 deletions(-)
d32e45efbe0d71a9a132abfb2855f1f4ccee9916 add sfdisk tests
 jc/parsers/sfdisk.py                  |  9 +++++-
 tests/fixtures/centos-8/sfdisk-F.json |  1 +
 tests/fixtures/centos-8/sfdisk-l.json |  1 +
 tests/fixtures/debian10/sfdisk-F.json |  1 +
 tests/fixtures/debian10/sfdisk-l.json |  1 +
 tests/test_sfdisk.py                  | 57 +++++++++++++++++++++++++++++++++++
 6 files changed, 69 insertions(+), 1 deletion(-)
c77696bc789cdfd286a7479c3d9f67d23149d0ce version bump
 CHANGELOG      | 4 ++++
 jc/__init__.py | 2 +-
 setup.py       | 2 +-
 3 files changed, 6 insertions(+), 2 deletions(-)
736fde9e784587cb2ef344bbf31d876eafea7741 add support for newer versions of sfdisk
 jc/parsers/sfdisk.py                 | 127 +++++++++++++++++++++++++++--------
 tests/fixtures/centos-8/sfdisk-F.out |   9 +++
 tests/fixtures/centos-8/sfdisk-l.out |  24 +++++++
 tests/fixtures/debian10/sfdisk-F.out |   3 +
 tests/fixtures/debian10/sfdisk-l.out |  12 ++++
 5 files changed, 147 insertions(+), 28 deletions(-)
9c1ad92fed9a4b3a0da66d6b71deec8d608edfa9 fix examples
 CONTRIBUTING.md | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
1a9fd2139d156a51bf2d25db951e47e96da77f7d add "For new parsers:"
 CONTRIBUTING.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
7661e7f27a4e5c379ea37c7f95496aca2c1e2910 formatting
 CONTRIBUTING.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
f857b7fbf7862ddd7eb5ab20470f5dbaacc62119 add custom parser folder info
 CONTRIBUTING.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
d94d12dbc5fb3e3712b2f1aea949013cb8213e28 add foo parser template info
 CONTRIBUTING.md | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)
700916276ae8b0a106410e3dd2ea3e00248ee37a Merge pull request #159 from kellyjonbrazil/master
834e52369ceb479776ddc8fc2931790af53b9c18 update man page
 jc/man/jc.1.gz | Bin 2700 -> 2699 bytes
 man/jc.1       |   6 +-----
 man/jc.1.gz    | Bin 2700 -> 2699 bytes
 3 files changed, 1 insertion(+), 5 deletions(-)
1ce53365de61421c8bd43e04590038083894153b Merge pull request #156 from kellyjonbrazil/dev
473f70668f04a38765559c5dbf0468af24d625c9 Merge branch 'master' into dev
0dbd2702f6ab2640b2ccdea92411ac0789673e66 reformat doc_text for nicer indentation
 jc/cli.py | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)
01e3764a9b6ba902aea522bf6b7005fd37b3acbb fix join syntax
 jc/cli.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
ff9c81722ae7221364e9bcb83d98b16b4263334e try/except for shlex.join since only available in python 3.8
 jc/cli.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
166aef7a022ed29862ab2e0702d53c591bb5cc77 version bump
 docs/parsers/stat.md |   2 +-
 jc/__init__.py       |   2 +-
 jc/man/jc.1.gz       | Bin 2699 -> 2700 bytes
 man/jc.1             |   2 +-
 man/jc.1.gz          | Bin 2699 -> 2700 bytes
 setup.py             |   2 +-
 6 files changed, 4 insertions(+), 4 deletions(-)
78caf7646baf5d35602fd76771443cd64bd783af add stat fix
 CHANGELOG | 1 +
 1 file changed, 1 insertion(+)
1f99d40cecc5d88a246f3558f71db376ebd885c6 fix filename with spaces for osx/bsd
 jc/parsers/stat.py                                        |  4 ++--
 tests/fixtures/osx-10.14.6/stat-filename-with-spaces.json |  1 +
 tests/fixtures/osx-10.14.6/stat-filename-with-spaces.out  |  2 ++
 tests/test_stat.py                                        | 12 ++++++++++++
 4 files changed, 17 insertions(+), 2 deletions(-)
4c2912d3d5ec1fd2d5d891f2b3c58a33dd8572be use shlex.join to quote run_command_str for better error messages
 jc/cli.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
45e6e06be581f787f707e3f5645129c713478d16 add glob and process substitution fixes
 CHANGELOG | 5 +++++
 1 file changed, 5 insertions(+)
fdbe3e05f323c95687a1137983f9623911008ca2 fix issue with globs not including filenames with spaces with magic syntax (introduced during switch to use subprocess to grab process exit code). No longer need to shlex quote arguments.
 jc/cli.py | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
7cc168f6409af13fda815d0d2a6db25b7c9ba367 add comment
 jc/cli.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
ff2d609c9b5f5f57f3331e5593e8fe87c01654dd add close_fds=False in subprocess.Popen() to allow process substitution in magic syntax. Also check for too many open files exception
 jc/cli.py | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)
2689697b4c21758903e5f74ec069e89be585aba2 formatting
 README.md                 | 2 +-
 templates/readme_template | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
f90a0ea8ab15629b7786e4431e9c968c3a896ee0 formatting
 templates/readme_template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
caabe60f849fb2422e47b8f10e0ff35beb706dcd fix kv example
 docs/parsers/kv.md |   2 +-
 jc/man/jc.1.gz     | Bin 2699 -> 2699 bytes
 jc/parsers/kv.py   |   2 +-
 man/jc.1           |   2 +-
 man/jc.1.gz        | Bin 2699 -> 2699 bytes
 5 files changed, 3 insertions(+), 3 deletions(-)
2bef4ed6038201f54339e750a833260dc1998591 package updates
 CHANGELOG | 1 +
 README.md | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)
ee57be533b12593a33a2abbb2892697f0bd40c65 fix sfdisk example
 EXAMPLES.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
c5b7aaca25d6b66d3e44256c2c6760a4cf2956ec Merge pull request #149 from kellyjonbrazil/dev
7a1be905bb8654558afb5979b0bd78d4a8488874 version bump
 jc/man/jc.1.gz | Bin 2700 -> 2699 bytes
 man/jc.1       |   2 +-
 man/jc.1.gz    | Bin 2700 -> 2699 bytes
 3 files changed, 1 insertion(+), 1 deletion(-)
5798495a11afa2f72ce6f79be785d46240fcbeb4 add 1.15.7 to 1.16.0 changes
 CHANGELOG | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
46171e220252ec92d18e744d2a57c1d6a6dc19f6 add sfdisk example
 EXAMPLES.md | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 69 insertions(+)
dd5c924ff505dcc2a9c851d2425677bdf16ea462 add man page location change
 CHANGELOG | 1 +
 1 file changed, 1 insertion(+)
30c4ab297658228a07ef9b1585516719af3febb0 new man page location
 jc/man/jc.1.gz | Bin 2700 -> 2700 bytes
 man/jc.1       | 515 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 man/jc.1.gz    | Bin 2700 -> 2700 bytes
 3 files changed, 515 insertions(+)
26ea4d47b33277efb0ddafe8f421791696277c07 version bump and deprecate /man/jc.1.gz and /jc/man/jc.1.gz
 CHANGELOG      | 10 ++++++++++
 MANIFEST.in    |  1 +
 jc/__init__.py |  2 +-
 mangen.py      |  2 +-
 setup.py       |  2 +-
 5 files changed, 14 insertions(+), 3 deletions(-)
2732cd175c1e878210707162de3928f33fb2f201 include CHANGELOG in source distribution
 CHANGELOG   | 3 +++
 MANIFEST.in | 1 +
 2 files changed, 4 insertions(+)
3e54b597be88b0e342e4361b7f2c1af447f9482b add timezone change for unit tests
 CHANGELOG | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
f10ebea20962084833e5c1ebd9bc90a251bf3ff4 update tests to set correct timezone on POSIX systems
 tests/test_date.py       | 7 +++++++
 tests/test_dig.py        | 7 +++++++
 tests/test_dir.py        | 7 +++++++
 tests/test_last.py       | 7 +++++++
 tests/test_ls.py         | 7 +++++++
 tests/test_rpm_qai.py    | 7 +++++++
 tests/test_stat.py       | 7 +++++++
 tests/test_systeminfo.py | 7 +++++++
 tests/test_upower.py     | 7 +++++++
 tests/test_utils.py      | 8 ++++++++
 tests/test_who.py        | 7 +++++++
 11 files changed, 78 insertions(+)
2c6f3993cb4c5e559dbac7a479ec889aa2cba752 remove extra comma
 docs/parsers/route.md |   2 +-
 jc/man/jc.1.gz        | Bin 2700 -> 2700 bytes
 jc/parsers/route.py   |   2 +-
 man/jc.1.gz           | Bin 2700 -> 2700 bytes
 4 files changed, 2 insertions(+), 2 deletions(-)
708a696920b52c2614edcdba264912527b2dfbef remove extra lines
 docs/parsers/route.md |   2 --
 jc/man/jc.1.gz        | Bin 2700 -> 2700 bytes
 man/jc.1.gz           | Bin 2700 -> 2700 bytes
 3 files changed, 2 deletions(-)
20bbb5d331575c8fc33ba63643882a62650c97b8 remove extra lines
 jc/parsers/route.py | 2 --
 1 file changed, 2 deletions(-)
223e785b547d9376174efa15321d60a533847c57 rename variable
 jc/parsers/sfdisk.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
3d78692c59980e4d70361d3a9f74bacc3f21376e add sfdisk tests
 tests/fixtures/centos-7.7/sfdisk-d-multi.json |   1 +
 tests/fixtures/centos-7.7/sfdisk-d-multi.out  |  16 ++++
 tests/fixtures/centos-7.7/sfdisk-d.json       |   1 +
 tests/fixtures/centos-7.7/sfdisk-d.out        |   1 -
 tests/fixtures/centos-7.7/sfdisk-l-multi.json |   1 +
 tests/fixtures/centos-7.7/sfdisk-l-multi.out  |  21 +++++
 tests/fixtures/centos-7.7/sfdisk-l.json       |   1 +
 tests/fixtures/centos-7.7/sfdisk-luB.json     |   1 +
 tests/fixtures/centos-7.7/sfdisk-luM.json     |   1 +
 tests/fixtures/centos-7.7/sfdisk-luS.json     |   1 +
 tests/test_sfdisk.py                          | 106 ++++++++++++++++++++++++++
 11 files changed, 150 insertions(+), 1 deletion(-)
5321a15dcf13cf14efe578d0f66b651078c3d8a1 update examples
 docs/parsers/sfdisk.md |   8 ++++----
 jc/man/jc.1.gz         | Bin 2700 -> 2700 bytes
 jc/parsers/sfdisk.py   |   8 ++++----
 man/jc.1.gz            | Bin 2700 -> 2700 bytes
 4 files changed, 8 insertions(+), 8 deletions(-)
a452f8252a593f7914ebece53af9d73f4fd11a19 fix integer conversion
 docs/parsers/sfdisk.md |   4 ++--
 jc/man/jc.1.gz         | Bin 2700 -> 2700 bytes
 jc/parsers/sfdisk.py   |   4 ++--
 man/jc.1.gz            | Bin 2700 -> 2700 bytes
 4 files changed, 4 insertions(+), 4 deletions(-)
49267f09ac01fead3b20b2d481bb5e0d07af1439 change to root prompt in examples
 jc/parsers/sfdisk.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
db47f35783e46a8299533c22146d851509f6ceb2 add working sfdisk parser
 CHANGELOG                                |   3 +
 README.md                                |   1 +
 docs/parsers/sfdisk.md                   | 213 ++++++++++++++++++++
 jc/__init__.py                           |   2 +-
 jc/cli.py                                |   1 +
 jc/man/jc.1.gz                           | Bin 2691 -> 2700 bytes
 jc/parsers/sfdisk.py                     | 325 +++++++++++++++++++++++++++++++
 jc/utils.py                              |   2 +-
 man/jc.1.gz                              | Bin 2691 -> 2700 bytes
 setup.py                                 |   2 +-
 tests/fixtures/centos-7.7/sfdisk-d.out   |   8 +
 tests/fixtures/centos-7.7/sfdisk-l.out   |  14 ++
 tests/fixtures/centos-7.7/sfdisk-luB.out |  14 ++
 tests/fixtures/centos-7.7/sfdisk-luM.out |  14 ++
 tests/fixtures/centos-7.7/sfdisk-luS.out |  14 ++
 15 files changed, 610 insertions(+), 3 deletions(-)
d48abf312c1f55ab31aa11da2b6cf6bc8166733b Merge pull request #147 from kellyjonbrazil/master
3b22ce41105387e7f46a410460cf04759feef197 fix local plugin parser issue where parser has .py in the name but it is not at the end
 CHANGELOG      |   3 +++
 jc/__init__.py |   2 +-
 jc/cli.py      |   2 +-
 jc/man/jc.1.gz | Bin 2691 -> 2691 bytes
 man/jc.1.gz    | Bin 2691 -> 2691 bytes
 setup.py       |   2 +-
 6 files changed, 6 insertions(+), 3 deletions(-)
c521ca5bc9e2b035cfef6ff65f6b303b3ec44296 change possible to available
 README.md                 | 2 +-
 templates/readme_template | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
3ddc1c665990e1e732314330db214a81ab810fe9 add jello
 README.md                 | 2 +-
 templates/readme_template | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
a8e19402b7d1f9f06bc40b81a15dec401154180c remove temporary fix
 ADVANCED_USAGE.md | 4 ----
 1 file changed, 4 deletions(-)
0927902b30654274743ab9092e90e768709a9937 temp fix for wrong url
 ADVANCED_USAGE.md | 4 ++++
 1 file changed, 4 insertions(+)
572548b42fb6ed9d32a392503d44fac1a8f146d3 Merge pull request #141 from kellyjonbrazil/dev
ff7ab0a1ed7f468d0e84eb3bf0636f53913c490d doc updates for v1.15.5
 CHANGELOG      |   1 -
 jc/man/jc.1.gz | Bin 2691 -> 2691 bytes
 man/jc.1.gz    | Bin 2691 -> 2691 bytes
 3 files changed, 1 deletion(-)
5db71b05cb28691bbbaa5d668bcd4a4ac7e68b85 add en_US.UTF-8 to LANG info
 README.md                  |   2 +-
 jc/man/jc.1.gz             | Bin 2676 -> 2691 bytes
 man/jc.1.gz                | Bin 2676 -> 2691 bytes
 templates/manpage_template |   2 +-
 templates/readme_template  |   2 +-
 5 files changed, 3 insertions(+), 3 deletions(-)
f9b952885aa7f2b450786a08c3879d9e358886da add python 3.9.5 packaged info
 CHANGELOG | 1 +
 1 file changed, 1 insertion(+)
e7983bc0b29abaca2147038dfad018cba1e67cdf version bump
 docs/parsers/xml.md  | 2 +-
 docs/parsers/yaml.md | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
473a6431425fc24a4cc83939ff592e0d49535b9c add windows msi info
 README.md                 |  11 +++++++++--
 jc/man/jc.1.gz            | Bin 2664 -> 2676 bytes
 man/jc.1.gz               | Bin 2664 -> 2676 bytes
 templates/readme_template |   2 +-
 4 files changed, 10 insertions(+), 3 deletions(-)
14f3d442cb86250b8f2cdfd7977938634b8abd6d formatting
 CHANGELOG | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
d6f4ed9ab55fe9b7c2766fb437172af62a1d5c87 add long-form UTC test
 tests/test_utils.py | 2 ++
 1 file changed, 2 insertions(+)
1b8d654444ff8c8b8171c7ac63e2736447a36c09 add error message info
 CHANGELOG | 1 +
 1 file changed, 1 insertion(+)
6002af0dca334c0affaff3e9acdca416238c7d82 add more error message detail to the user for ParseError and LibraryNotFound exceptions
 jc/cli.py | 11 +++++++++++
 1 file changed, 11 insertions(+)
0924d822a30c8806f65574c010561cd6f7c8e181 add windows example
 templates/readme_template | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
72a37b928924c3edde3a4edb952f98c94aa05f0b version bump
 CHANGELOG      | 3 +++
 jc/__init__.py | 2 +-
 setup.py       | 2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)
5eef7bd769f8ffb03ba396833d1b33484041a99f use LibraryNotInstalled exception instead of exiting via sys.exit
 jc/parsers/xml.py  | 16 ++++++++--------
 jc/parsers/yaml.py | 16 ++++++++--------
 2 files changed, 16 insertions(+), 16 deletions(-)
c6893e1bd5283d982a7ecd6f84bdfdd0054ce7a7 add LibraryNotInstalled exception
 jc/exceptions.py | 4 ++++
 1 file changed, 4 insertions(+)
039f6612e491c6f821c001252e122e9b0a781104 Merge pull request #139 from kellyjonbrazil/master
95aec9c6f9aa8fb4d0dae227410a1346d550f47f add info about Magic syntax not supporting shell builtins
 templates/manpage_template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
4e9652a8ec2482a64dc029b0ce0e1047a3e49867 spelling
 CHANGELOG | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
773b7f4b1f23e04c90e602aab05bc1a7e5aae37b add space before exit code table
 README.md                 | 1 +
 templates/readme_template | 1 +
 2 files changed, 2 insertions(+)
d17ffde9cdc35392ae25d8e9de5328e46067df2a Merge pull request #138 from kellyjonbrazil/dev
9c57c09c00e64a9031391b9b70083ad6ecf0bc0b doc update for release
 jc/man/jc.1.gz | Bin 2663 -> 2664 bytes
 man/jc.1.gz    | Bin 2663 -> 2664 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)
4d730a9de5a0d7c064a9a59e3add86e58d9ec492 add UTC fix
 CHANGELOG | 1 +
 1 file changed, 1 insertion(+)
fc57bcfce24af23f077d6a73f1db4591d8f99c13 fix for when UTC is referenced as "Coordinated Universal Time"
 jc/utils.py | 3 +++
 1 file changed, 3 insertions(+)
fa5571486c3c19bb7e836f043545ea4f2509ed4d simplify json_out function
 jc/cli.py | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)
9996c4fe23564dfb52e3c7dbdbd8bd67edfb1e95 update docs for shell builtins
 EXAMPLES.md             |   4 ++--
 docs/parsers/history.md |   2 ++
 docs/parsers/jobs.md    |   6 ++----
 jc/man/jc.1.gz          | Bin 2663 -> 2663 bytes
 jc/parsers/history.py   |   2 ++
 jc/parsers/jobs.py      |   6 ++----
 man/jc.1.gz             | Bin 2663 -> 2663 bytes
 7 files changed, 10 insertions(+), 10 deletions(-)
038d4290248e6bb94762bb51f69e9958f7c1fecb doc updates
 docs/parsers/dig.md |   2 +-
 docs/parsers/dir.md |   8 +++-----
 jc/man/jc.1.gz      | Bin 2663 -> 2663 bytes
 man/jc.1.gz         | Bin 2663 -> 2663 bytes
 4 files changed, 4 insertions(+), 6 deletions(-)
9bf6facb0d7d76583802309253e7d13ba5148997 remove magic command capability since dir is a shell builtin
 jc/parsers/dir.py | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)
965717886e4ebaa6a4a494f189d9fdd01e33eb21 add exceptions module info
 CHANGELOG | 1 +
 1 file changed, 1 insertion(+)
e9bfc3dd29f914fd91e937f06d7f59c0f91b8449 add time format, dig compatibility, windows colors fix
 CHANGELOG | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
f46b33eacf070b4dc72c8d8a66aae49abd149e5f add windows time format
 jc/utils.py         | 2 --
 tests/test_utils.py | 2 ++
 2 files changed, 2 insertions(+), 2 deletions(-)
f475fe44df2fb2661c5bce4d1e602a4bba7e87c7 add new time format for systeminfo
 jc/utils.py | 3 +++
 1 file changed, 3 insertions(+)
5fdbe2962d84dad89de23f103d97b76b90450206 make dig compatible with all platforms
 jc/parsers/dig.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
ab291b9eef6ed5c8ab59b5652f676178941d5ce5 only force enable colors when running on windows
 jc/cli.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
fd411fd77273cb7cf872c03ed6a258ccdee4d261 attempt to get colors working on windows
 jc/cli.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
b1e95a60a2461dc401ffc299ef6338b65ef12691 remove unnecessary comment
 jc/cli.py | 1 -
 1 file changed, 1 deletion(-)
bb1439f0d53e87f636fba05fbd30c3c79fb16002 use ParseError exception from jc.exceptions module
 jc/parsers/uname.py | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)
ba963d98a0a2b3a0dfca6b211096d802253da5fe add exceptions module including ParseError
 jc/exceptions.py | 5 +++++
 1 file changed, 5 insertions(+)
83440ccb55d0db15b112b8b7d7352493ff516112 error message capitalization
 jc/cli.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
796f61bfa417afdc6ab48fddbb5502cd0659b840 handle case where the user pipes data and uses magic syntax simultaneously
 jc/cli.py | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)
070cac4ae12282458a1e1fc8618ebc473d23cacf remove commented line
 jc/cli.py | 3 ---
 1 file changed, 3 deletions(-)
3ed84f9f42e4e883ddaac28ab49d675600b49424 reorganize main function. remove pass condition.
 jc/cli.py | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)
a205afb6f355edbb4b98200a980b9601ed0f0658 set run_command_str if run_command is set
 jc/cli.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
a6d983dd8f3871cbc2391c313340167829a575d9 move run_command_str variable
 jc/cli.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
b6c8d6d01d740827273265dbb0cfbaf7875ac7f3 add exception handling for filenotfound or other subprocess.popen and json.dumps exceptions
 jc/cli.py | 62 +++++++++++++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 45 insertions(+), 17 deletions(-)
b5a5d5b133f1c0df8023776e59697b7579f8c18a set parser_name for magic syntax use
 jc/cli.py | 1 +
 1 file changed, 1 insertion(+)
da528e7814b0cf25a359c3556d0e286e7bf004b8 move separators to a variable
 jc/cli.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
4acebf4f621ac564f82e3a97e6810fbb08a9dbc5 move variables
 jc/cli.py | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
4d40808d2b70b7543eadcfd2d35c16ebe91f2f9f update comments
 jc/cli.py | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
c543f00bd3c737f73144bb2980d12793042459b4 simplify piped_output function
 jc/cli.py | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)
947cf41dfab5811c0e76e371231c59a2d6372752 add exit code info
 CHANGELOG | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
8d8c58742e5106c3387a627cd1b1323a76cc9623 formatting
 README.md                  |  13 ++++++++-----
 jc/man/jc.1.gz             | Bin 2663 -> 2663 bytes
 man/jc.1.gz                | Bin 2663 -> 2663 bytes
 templates/manpage_template |  10 +++++-----
 templates/readme_template  |  13 ++++++++-----
 5 files changed, 21 insertions(+), 15 deletions(-)
995ecc9bfb0425b0ee9e4250395b0200b46c1e89 add exit codes section
 jc/man/jc.1.gz             | Bin 2412 -> 2663 bytes
 man/jc.1.gz                | Bin 2412 -> 2663 bytes
 templates/manpage_template |  15 +++++++++++++++
 3 files changed, 15 insertions(+)
21a15225ebff645439b12d6249dc3e28d7bc09ed add exit codes section
 README.md                 | 9 +++++++++
 templates/readme_template | 9 +++++++++
 2 files changed, 18 insertions(+)
48921d4584068fadb0f776ed7e81c21d89172e2e ensure exit code never exceeds 255
 jc/cli.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
342db45edc94ab1c3b3ae70e7cf4ca4076e2c7eb fix combined exit codes
 jc/cli.py | 28 ++++++++++++++++++----------
 1 file changed, 18 insertions(+), 10 deletions(-)
5f88ecf8443bc6e9a7cda5bc60858f37cc09f4f4 add comments to magic_parser return
 jc/cli.py | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)
a56aebfe7024914d2c602278964b99d1443de335 remove side-effect comment since it is no longer relevant
 jc/cli.py | 3 ---
 1 file changed, 3 deletions(-)
422bb744a82472546d62c72ba05eaa1d18d5068a update man pages
 jc/man/jc.1.gz | Bin 2413 -> 2412 bytes
 man/jc.1.gz    | Bin 2413 -> 2412 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)
c3b814a15f571ac84a8ce0719d7fd88acf814caf move imports to the top
 jc/cli.py | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)
e4574047a0ef6fcd4a47142421a1d05795c7925a update tests for magic_parser function
 tests/test_cli.py | 42 +++++++++++++++++++++---------------------
 1 file changed, 21 insertions(+), 21 deletions(-)
0d7d7951f82627d1fb1e20d1398bd7f88c5ce1be don't reset sys.argv anymore. check for 'valid_command' instead
 jc/cli.py | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)
da904e4770a20ae85fc67476ae4a529564d0a3ff remove final \n from stderr string when printing
 jc/cli.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
19b540041add64fe6650c3634ec869421ffbc769 proof of concept for passing command exit codes when using magic syntax. Needs more testing
 jc/cli.py | 133 ++++++++++++++++++++++++++++++++++++++------------------------
 1 file changed, 82 insertions(+), 51 deletions(-)
f2ffb93eeaf4c8b5aa93f3e8808bdc044582e8a0 formatting
 tests/test_ping.py | 10 ----------
 1 file changed, 10 deletions(-)
c0c0e05642e0f473cde34178d815978fff8fe1ef add dig `+noall +answer` support
 CHANGELOG | 1 +
 1 file changed, 1 insertion(+)
966978f17e40a338f982628825f30a19d4b84e4c add more unparsable line ping tests
 .../centos-7.7/ping6-ip-O-p-unparsable.json        |  1 +
 .../centos-7.7/ping6-ip-O-p-unparsable.out         | 27 +++++++++++++++++
 .../fixtures/osx-10.14.6/ping6-ip-unparsable.json  |  1 +
 tests/fixtures/osx-10.14.6/ping6-ip-unparsable.out |  9 ++++++
 tests/test_ping.py                                 | 34 ++++++++++++++++++++++
 5 files changed, 72 insertions(+)
8ab08a5231e082940a62fcde4be218b7ba94be31 doc update
 docs/parsers/dig.md | 4 +++-
 jc/parsers/dig.py   | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)
48e534fa03b92b2583c5c6269c76651f3aa420cb add +noall +answer test
 tests/fixtures/osx-10.14.6/dig-noall-answer.json |  1 +
 tests/fixtures/osx-10.14.6/dig-noall-answer.out  |  4 ++++
 tests/test_dig.py                                | 14 ++++++++++++--
 3 files changed, 17 insertions(+), 2 deletions(-)
61851c1bd02aa82d5d82e68595e45630ead13d34 add support for +noall +answer
 docs/parsers/dig.md | 40 +++++++++++++++++++++++++++++++++++++++-
 jc/parsers/dig.py   | 48 ++++++++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 85 insertions(+), 3 deletions(-)
3c51b2d83d301b4072bbb12fdba4f60b900573da add tests for unparsable lines on linux
 .../centos-7.7/ping-ip-O-unparsedlines.json        |  1 +
 .../centos-7.7/ping-ip-O-unparsedlines.out         | 27 ++++++++++++++++++++++
 tests/test_ping.py                                 | 12 ++++++++++
 3 files changed, 40 insertions(+)
ee3a28528e152c61f05bdf71f264fe38274b4190 Merge branch 'dev' of https://github.com/kellyjonbrazil/jc into dev
916bcdae3881fc9c9f9a91c8c901a714cff3e1da Merge pull request #136 from kellyjonbrazil/master
efb1d3e6b2db920423511a9dcf4c5e5fd9d6af43 add blog title and minor formatting
 README.md                 | 4 ++--
 templates/readme_template | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
4e6ae66bacc014e49c4a9229d10dcc8e95de436c formatting
 README.md                 | 2 +-
 templates/readme_template | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
5ee88e7b679bc163a1916d560be6ff29f51699e8 add use cases section
 README.md | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)
c3b68903cbd898f80438af342195eec7575aafd3 add use cases section
 templates/readme_template | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)
fe1f1013a74bdf6b4284f11dd59db8ea17e5e5d1 add use cases section
 templates/readme_template | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)
fb14f5439f00d5eaf08651c552189fd4be7358d4 fix and tests for unknown or unparsable errors
 jc/parsers/ping.py                                 |  7 +++--
 .../osx-10.14.6/ping-ip-unknown-errors.json        |  1 +
 .../osx-10.14.6/ping-ip-unknown-errors.out         | 35 ++++++++++++++++++++++
 tests/test_ping.py                                 | 12 ++++++++
 4 files changed, 52 insertions(+), 3 deletions(-)
5ca0fc364eb22d583bee5633cdd7183c1d70bb6c add unparsed_line to docs
 docs/parsers/ping.md | 1 +
 1 file changed, 1 insertion(+)
a1fe7037e5267ec4aced719eff3715085eb35bca add unparsed_line field if line cannot be parsed
 jc/parsers/ping.py | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)
c2af7d113ed8e8cf9af985c969cf29858a3c26a9 add ping updates
 CHANGELOG            | 1 +
 docs/parsers/ping.md | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
ff034e401d5c33efbc3c4bc2f0e386d81eaae7fc use try/except to make parser more resilient against unknown error types
 jc/parsers/ping.py | 102 +++++++++++++++++++++++++++++++----------------------
 1 file changed, 59 insertions(+), 43 deletions(-)
5abe095beb4b668e5f55fe8c9588677547e4c2a7 update ping docs
 docs/parsers/ping.md | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)
33de5f01e638953c83bb0960dc3550ca4547849b version bump
 jc/__init__.py | 4 ++--
 setup.py       | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)
8ce155d843806be4ad23491b4401e4eda02e2a1c add support for error replies in v4 ping on osx and bsd
 CHANGELOG                                          |  3 ++
 jc/parsers/ping.py                                 | 56 +++++++++++++---------
 .../fixtures/osx-10.14.6/ping-ip-unreachable.json  |  1 +
 tests/fixtures/osx-10.14.6/ping-ip-unreachable.out | 35 ++++++++++++++
 tests/test_ping.py                                 | 14 +++++-
 5 files changed, 86 insertions(+), 23 deletions(-)
b921d5ec9583c8f8e992613ae2eaf62165722054 initial support for error replies in bsd/osx
 jc/parsers/ping.py | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 105 insertions(+), 6 deletions(-)
e21542aaa2aa5f2f287ddc227df41ae47d761332 Merge pull request #135 from kellyjonbrazil/dev
6150aae0aeabafba26d9f119406b0660d9221cb6 clarify packaged binaries
 README.md                 | 2 +-
 templates/readme_template | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
f27b35f37104ad2012c3bddde0bd94941af06894 Merge pull request #131 from kellyjonbrazil/master
d24f9a885d3954035a98a488671486408f509dca fix contributing link
 CONTRIBUTING.md           | 2 +-
 README.md                 | 2 +-
 templates/readme_template | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
48dd82c8d1b756c4e08d49b8234b8060080dc035 trigger page build on github pages
 CONTRIBUTING.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
e57167ad1f240de6ec5fc86c51cfb780535cd783 empty commit
ada91376426ff359c495fb31081404a2cce72b5f Merge pull request #130 from kellyjonbrazil/dev
bd428a9fd75327710dce96f3c95f74ab9d1beaad fix link
 README.md                 | 2 +-
 templates/readme_template | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
934941332f91d9e2cc4e691b154bb5427166ed30 minor link updates
 README.md                 | 6 +++---
 templates/readme_template | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)
0c209dbd108638f89a43801126a332379be9ae8b Merge pull request #129 from kellyjonbrazil/dev
56e041aa260b2daf2f5662fae98645a93137adb5 add Practical JSON at the Command Line blog link
 README.md                 | 2 ++
 templates/readme_template | 2 ++
 2 files changed, 4 insertions(+)
cf9d48582e4e5df6c8498b916a2f9cf036869f3d Merge pull request #128 from kellyjonbrazil/master
92e2252bee00482bb0eeae3074b107d4c8553e4c fix typo
 README.md                 | 2 +-
 templates/readme_template | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
fd7861db11e5aaa17c4e7bbce942c0c096116e30 Merge pull request #127 from kellyjonbrazil/dev
35464bbbfb6b424ef3ee1c855557ada1bf3769fa date update
 CHANGELOG | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
db8ddd7f0e0c2a8bd3e545619e81d3d3972a4d7c fix for scenarios where the default port range didn't always display, or overrode existing port ranges.
 jc/man/jc.1.gz                           | Bin 2413 -> 2413 bytes
 jc/parsers/ufw.py                        |  24 +++++++++---------------
 man/jc.1.gz                              | Bin 2413 -> 2413 bytes
 tests/fixtures/generic/ufw-numbered.json |   2 +-
 tests/fixtures/generic/ufw.json          |   2 +-
 5 files changed, 11 insertions(+), 17 deletions(-)
72207c54ee5734e3d2d3d1a063c8daf1edaa8815 update ufw app info docs to support multiple apps (ufw app info all)
 docs/parsers/ufw_appinfo.md | 196 +++++++++++++++++++++++---------------------
 jc/man/jc.1.gz              | Bin 2413 -> 2413 bytes
 man/jc.1.gz                 | Bin 2413 -> 2413 bytes
 3 files changed, 102 insertions(+), 94 deletions(-)
a683f68003ea64dd5e2c4f06b53a1561ad774f12 change schema to a list of dictionaries to support `ufw app info all` use case
 EXAMPLES.md                                      |  68 ++---
 jc/parsers/ufw_appinfo.py                        | 345 ++++++++++++-----------
 tests/fixtures/generic/ufw-appinfo-msn.json      |   2 +-
 tests/fixtures/generic/ufw-appinfo-test.json     |   2 +-
 tests/fixtures/generic/ufw-appinfo-test2.json    |   2 +-
 tests/fixtures/generic/ufw-appinfo-test3.json    |   2 +-
 tests/fixtures/ubuntu-18.04/ufw-appinfo-all.json |   1 +
 tests/fixtures/ubuntu-18.04/ufw-appinfo-all.out  |  51 ++++
 tests/test_ufw_appinfo.py                        |  14 +-
 9 files changed, 285 insertions(+), 202 deletions(-)
8d2d3db3fa969456342181a226bf54a3f1613542 formatting
 README.md                 |   2 ++
 jc/man/jc.1.gz            | Bin 2413 -> 2413 bytes
 man/jc.1.gz               | Bin 2413 -> 2413 bytes
 templates/readme_template |   2 ++
 4 files changed, 4 insertions(+)
eca785450d1c72687817d09259fa7cd33376fafc add caveats to readme and manpage
 CHANGELOG                 |   3 ++-
 README.md                 |  22 ++++++++++++++++------
 jc/man/jc.1.gz            | Bin 2413 -> 2413 bytes
 man/jc.1.gz               | Bin 2413 -> 2413 bytes
 templates/readme_template |  22 ++++++++++++++++------
 5 files changed, 34 insertions(+), 13 deletions(-)
5b40a97ce417687b4e37f320b8a3f07dd7fd169c add caveats to man page
 jc/man/jc.1.gz             | Bin 2087 -> 2413 bytes
 man/jc.1.gz                | Bin 2087 -> 2413 bytes
 templates/manpage_template |  13 +++++++++++++
 3 files changed, 13 insertions(+)
66cb4e9bde81b9290c1addaf851de5d80a1b0702 update ufw parser docs
 EXAMPLES.md         |  96 +++++-----------------
 docs/parsers/ufw.md | 226 ++++++++++++++++------------------------------------
 jc/man/jc.1.gz      | Bin 2087 -> 2087 bytes
 jc/parsers/ufw.py   | 128 ++++++++++++++++++++++++++++-
 man/jc.1.gz         | Bin 2087 -> 2087 bytes
 5 files changed, 216 insertions(+), 234 deletions(-)
d1f33645caccdb3a55576081c4d355f997ac033c update ufw tests
 tests/fixtures/generic/ufw-numbered.json      |  2 +-
 tests/fixtures/generic/ufw-numbered2.json     |  2 +-
 tests/fixtures/generic/ufw.json               |  2 +-
 tests/fixtures/ubuntu-18.04/ufw-numbered.json |  2 +-
 tests/fixtures/ubuntu-18.04/ufw-numbered.out  | 16 ++++++++++++----
 tests/fixtures/ubuntu-18.04/ufw-verbose.json  |  2 +-
 tests/fixtures/ubuntu-18.04/ufw-verbose.out   | 10 +++++++++-
 7 files changed, 26 insertions(+), 10 deletions(-)
5eff65c326675a449afd05a2af0a6c9bcf7b5e23 update schema to support port lists and port range lists. Also support other transports than tcp and udp
 jc/parsers/ufw.py | 353 +++++++++++++-----------------------------------------
 1 file changed, 85 insertions(+), 268 deletions(-)
929c38715d87bf9dd689507d319c22b90871ae1c formatting
 CONTRIBUTING.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
8c91a7b7601a967cd9d8096433ffd4ad62b65ceb formatting
 CONTRIBUTING.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
14289ecd6c022ad204444dff5b5e48f6024a5d0d more timezone info
 CONTRIBUTING.md | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
b833c44783eb32f2fad24ca205b5b7eab854750f add ufw-appinfo parser
 CHANGELOG | 1 +
 1 file changed, 1 insertion(+)
e23aa818eaa6d1a389ddef7dd2ad8f62b9f6ff25 add tests section and timezone info
 CONTRIBUTING.md | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
473d919c1350a8dc34d233033a5a7d12c928e42d add another ufw test sample
 runtests.sh                               |  1 +
 tests/fixtures/generic/ufw-numbered2.json |  1 +
 tests/fixtures/generic/ufw-numbered2.out  | 18 ++++++++++++++++++
 tests/test_ufw.py                         | 12 ++++++++++++
 4 files changed, 32 insertions(+)
9f925d6ac989a4f21a8c00c84fcf97dfb141e8c2 doc update
 jc/man/jc.1.gz | Bin 2087 -> 2087 bytes
 man/jc.1.gz    | Bin 2087 -> 2087 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)
f6ca32b3a31f314fa0b31d9e8b5494491b928f7e update ufw docs with a note on lists of ports
 docs/parsers/ufw.md | 2 ++
 jc/parsers/ufw.py   | 2 ++
 2 files changed, 4 insertions(+)
4cbe84c3d6ac8a3b594feb525460f2a68f5d62b2 add ufw-appinfo tests
 tests/fixtures/generic/ufw-appinfo-msn.json   |  1 +
 tests/fixtures/generic/ufw-appinfo-msn.out    |  9 ++++
 tests/fixtures/generic/ufw-appinfo-test.json  |  1 +
 tests/fixtures/generic/ufw-appinfo-test.out   |  9 ++++
 tests/fixtures/generic/ufw-appinfo-test2.json |  1 +
 tests/fixtures/generic/ufw-appinfo-test2.out  |  9 ++++
 tests/fixtures/generic/ufw-appinfo-test3.json |  1 +
 tests/fixtures/generic/ufw-appinfo-test3.out  |  9 ++++
 tests/test_ufw_appinfo.py                     | 70 +++++++++++++++++++++++++++
 9 files changed, 110 insertions(+)
ffac5bf9d381305daa86e546f8570be092e5ff34 doc update
 docs/parsers/ufw.md |  24 ++++++++++++------------
 jc/man/jc.1.gz      | Bin 2087 -> 2087 bytes
 man/jc.1.gz         | Bin 2087 -> 2087 bytes
 3 files changed, 12 insertions(+), 12 deletions(-)
9aa424f9f8c7e4e0dc29e2c58dac481098beba7d fix ufw example
 EXAMPLES.md | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
0a8495c68e427e39bbda957dd933fa2a461092e7 update docs
 jc/parsers/ufw.py | 27 ++++++++++++---------------
 1 file changed, 12 insertions(+), 15 deletions(-)
6aea066cf024f92adf4b94eebc7d51430c22332c make normalized list appear only when data exists. set magic commands
 jc/parsers/ufw_appinfo.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
ff3c2d809ec3ea6e556c302909a228ee670578c9 add ufw-appinfo to docs
 EXAMPLES.md                 |  39 +++++++++++++++++
 README.md                   |   1 +
 docs/parsers/ufw_appinfo.md |  58 +++++++++++++++++++++++--
 jc/man/jc.1.gz              | Bin 2068 -> 2087 bytes
 jc/parsers/ufw_appinfo.py   | 103 +++++++++++++++++++++++++++++++++++---------
 man/jc.1.gz                 | Bin 2068 -> 2087 bytes
 6 files changed, 176 insertions(+), 25 deletions(-)
145059fc8946b7026184139baea143c2869bc4e7 clean up output if sections are blank
 jc/parsers/ufw_appinfo.py | 28 ++++++++++++++++++++--------
 1 file changed, 20 insertions(+), 8 deletions(-)
20e5c19de448c1b979497817c887d8d2d6487839 fix key error if tcp or udp don't exist
 jc/parsers/ufw_appinfo.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
4c98fd4b877c54e1cf7d285a29e178321be12f7e doc update
 docs/parsers/ufw_appinfo.md | 100 ++++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/ufw_appinfo.py   |   2 +-
 2 files changed, 101 insertions(+), 1 deletion(-)
125e54213e8d4dcfe2e3271456af80b3f79c0544 update schema and add normalized fields
 jc/parsers/ufw_appinfo.py | 153 +++++++++++++++++++++++++++++++---------------
 1 file changed, 105 insertions(+), 48 deletions(-)
0152e0665f87833250561d743144af35416992f8 initial working ufw-appinfo parser
 jc/cli.py                 |   1 +
 jc/parsers/ufw_appinfo.py | 214 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 215 insertions(+)
0679bcbc560ea3575555d8546afdd4e2474d05d7 fix ufw tests
 tests/fixtures/generic/ufw-numbered.json      |  2 +-
 tests/fixtures/generic/ufw.json               |  2 +-
 tests/fixtures/ubuntu-18.04/ufw-numbered.json |  1 +
 tests/fixtures/ubuntu-18.04/ufw-verbose.json  |  1 +
 tests/test_ufw.py                             | 30 ++++++++++++++++++++++++---
 5 files changed, 31 insertions(+), 5 deletions(-)
5500648aa0886ea5089856e5b33d7c8ebd78d5b0 fix ufw docs for int conversions and service behavior
 EXAMPLES.md         | 20 ++++++++++----------
 docs/parsers/ufw.md | 36 ++++++++++++++++++------------------
 jc/parsers/ufw.py   | 36 ++++++++++++++++++------------------
 3 files changed, 46 insertions(+), 46 deletions(-)
bb50caad4dfaefa309e747fd05b650186c5a80f4 fix prefix int conversions. don't reset _transport if service is really a list of ports
 jc/parsers/ufw.py                            | 10 ++++++----
 tests/fixtures/ubuntu-18.04/ufw-numbered.out | 11 +++++++++++
 tests/fixtures/ubuntu-18.04/ufw-verbose.out  | 14 ++++++++++++++
 3 files changed, 31 insertions(+), 4 deletions(-)
7eef5d94d591a3f70f6638b1b30f952a3bf35f9d ufw doc update
 EXAMPLES.md    |   5 +++++
 jc/man/jc.1.gz | Bin 2068 -> 2068 bytes
 man/jc.1.gz    | Bin 2068 -> 2068 bytes
 3 files changed, 5 insertions(+)
74f623f8d607c050db8f62ea4996c4e6aae43268 add support for rule comments and LIMIT and REJECT actions
 docs/parsers/ufw.md                      | 13 ++++++++++++-
 jc/parsers/ufw.py                        | 25 +++++++++++++++++++++++--
 tests/fixtures/generic/ufw-numbered.json |  2 +-
 tests/fixtures/generic/ufw.json          |  2 +-
 tests/fixtures/generic/ufw.out           | 12 ++++++------
 5 files changed, 43 insertions(+), 11 deletions(-)
f638aca092475bbae14fed765e90435c093fcb8b add deb package name fix
 CHANGELOG | 1 +
 1 file changed, 1 insertion(+)
da35eaf80ad4f11e7482fc4734db4b2265e50548 formatting
 docs/parsers/ufw.md |   2 +-
 jc/man/jc.1.gz      | Bin 2068 -> 2068 bytes
 man/jc.1.gz         | Bin 2068 -> 2068 bytes
 3 files changed, 1 insertion(+), 1 deletion(-)
ade0e8e8fc18ff9a0dd406206a85238f1f5a739d add ufw tests
 tests/fixtures/generic/ufw-inactive.json |  1 +
 tests/fixtures/generic/ufw-inactive.out  |  1 +
 tests/fixtures/generic/ufw-numbered.json |  1 +
 tests/fixtures/generic/ufw-numbered.out  | 23 +++++++++++++
 tests/fixtures/generic/ufw.json          |  1 +
 tests/fixtures/generic/ufw.out           | 22 ++++++++++++
 tests/test_ufw.py                        | 58 ++++++++++++++++++++++++++++++++
 7 files changed, 107 insertions(+)
90076090f05a1f03e2fbff307418ee18d7d046ef fix int conversions if 'rules' key does not exist
 jc/parsers/ufw.py | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)
23635def8b654097178f73ed1b57fc50965142d5 add ufw to docs
 README.md            |   3 +-
 docs/parsers/ping.md |   1 -
 docs/parsers/ufw.md  | 302 +++++++++++++++++++++++++++++++++++++++++++++++++++
 docs/utils.md        |   4 +-
 jc/man/jc.1.gz       | Bin 2062 -> 2068 bytes
 man/jc.1.gz          | Bin 2062 -> 2068 bytes
 6 files changed, 306 insertions(+), 4 deletions(-)
4eeec087bde98f90ab8425473d1fbeee6834852e add ufw example
 EXAMPLES.md | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 115 insertions(+)
733196103897a1d84d242324ddcf96e783320329 update docs with new examples that have `to_service` always existing.
 jc/parsers/ufw.py | 4 ++++
 1 file changed, 4 insertions(+)
e4acb3d5b70a7d75741ef3e35cd6750d1362a80f always make to/from_service None if ports are assigned
 jc/parsers/ufw.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
c60549a9947d5684bbfa58223bfbcfc40a3ed479 change field name from to/from_subnet to to/from_ip_prefix
 jc/parsers/ufw.py | 58 +++++++++++++++++++++++++++----------------------------
 1 file changed, 29 insertions(+), 29 deletions(-)
d46fc8bbfa15a80a1af6c64f70230f858c215223 set to/from_transport to None if to/from_service is set
 jc/parsers/ufw.py | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
b133d1f90d49362594508d8c475663754f0e7675 strip interface value
 jc/parsers/ufw.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
5be615a97e7c145c8351764234ac591028560c34 add examples for docs
 jc/parsers/ufw.py | 228 +++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 219 insertions(+), 9 deletions(-)
ea1d820f96321ddf4084b54ee2fdf397295beb21 convert integer fields
 jc/parsers/ufw.py | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)
47e262cf7200b02ff0af97a70ffa6bec286c8f39 clean up fields
 jc/parsers/ufw.py | 73 ++++++++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 59 insertions(+), 14 deletions(-)
eec673be9092e382694aa02682564510ce4e7f90 working raw parser
 jc/parsers/ufw.py | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 88 insertions(+), 3 deletions(-)
9a0fb2a7c87e6fde0cc0d84fa8a1f131e28ea732 parse major sections
 jc/parsers/ufw.py | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 157 insertions(+)
b5145d6c14d7a51e7cfdebe126c9689dc90f7b27 version bump to v1.15.3
 CHANGELOG      | 3 +++
 jc/__init__.py | 6 +++---
 jc/cli.py      | 1 +
 setup.py       | 2 +-
 4 files changed, 8 insertions(+), 4 deletions(-)
9747ca414dfb8218389c7b2199a080edabc2a184 minor optimization to convert_to_int(). No longer runs through convert_to_float(), but uses standard float() function.
 jc/utils.py | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)
312d465b61a15592cc70d3734ad747b9a2be10ae update link
 templates/readme_template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
7dcf87d24ad40eba6ba98de2b4b2bf177a76cd71 formatting
 jc/parsers/ping.py | 1 -
 1 file changed, 1 deletion(-)
cf3cfd16a9de05f30303b5952fbe609cde842d2e rename tests
 tests/test_utils.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
fcc7e5294973d1a18943fa2ce2e836b0fe757d95 Merge pull request #123 from kellyjonbrazil/dev
3ab9d480149a692510ab9e0ac8e745b674683e3d update changelog
 CHANGELOG | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
7eddf41c5f6310264359cd6d78bdfa4b65af7d06 dont round up int conversions and fix tests
 jc/man/jc.1.gz                          | Bin 2062 -> 2062 bytes
 jc/utils.py                             |   2 +-
 man/jc.1.gz                             | Bin 2062 -> 2062 bytes
 tests/fixtures/centos-7.7/df-h.json     |   2 +-
 tests/fixtures/centos-7.7/df.json       |   2 +-
 tests/fixtures/centos-7.7/free-h.json   |   2 +-
 tests/fixtures/osx-10.14.6/df-h.json    |   2 +-
 tests/fixtures/osx-10.14.6/ls-alh.json  |   2 +-
 tests/fixtures/ubuntu-18.04/df-h.json   |   2 +-
 tests/fixtures/ubuntu-18.04/free-h.json |   2 +-
 tests/test_utils.py                     |  89 +++++++++++++++++++++++++++++++-
 11 files changed, 96 insertions(+), 9 deletions(-)
27a196c93862bd737603cfe402b35529eb412954 doc update
 CHANGELOG      |   2 +-
 jc/man/jc.1.gz | Bin 2061 -> 2062 bytes
 man/jc.1.gz    | Bin 2061 -> 2062 bytes
 3 files changed, 1 insertion(+), 1 deletion(-)
e4324f05fb6f89c34fa1567e70d8636457623edb fix indentation in doc
 docs/parsers/dig.md | 14 +++++++-------
 jc/parsers/dig.py   | 14 +++++++-------
 2 files changed, 14 insertions(+), 14 deletions(-)
d36b332bd78b5bf5979cdc59b31da08d8e4104d7 use jc.utils for conversions
 docs/parsers/systemctl_lj.md |  2 +-
 docs/parsers/time.md         |  2 +-
 docs/parsers/timedatectl.md  |  2 +-
 docs/parsers/tracepath.md    |  2 +-
 docs/parsers/traceroute.md   |  2 +-
 docs/parsers/upower.md       |  2 +-
 docs/parsers/uptime.md       |  2 +-
 docs/parsers/wc.md           |  2 +-
 docs/parsers/who.md          |  2 +-
 docs/utils.md                |  2 +-
 jc/parsers/acpi.py           | 21 +++++++--------------
 jc/parsers/airport_s.py      |  9 +++------
 jc/parsers/arp.py            |  4 ++--
 jc/parsers/blkid.py          |  4 ++--
 jc/parsers/cksum.py          |  4 ++--
 jc/parsers/df.py             |  4 ++--
 jc/parsers/dig.py            |  4 ++--
 jc/parsers/dir.py            |  4 ++--
 jc/parsers/dmidecode.py      |  4 ++--
 jc/parsers/du.py             |  4 ++--
 jc/parsers/free.py           |  4 ++--
 jc/parsers/fstab.py          |  4 ++--
 jc/parsers/group.py          |  4 ++--
 jc/parsers/hash.py           |  4 ++--
 jc/parsers/hciconfig.py      |  4 ++--
 jc/parsers/ifconfig.py       |  4 ++--
 jc/parsers/iptables.py       |  4 ++--
 jc/parsers/jobs.py           |  4 ++--
 jc/parsers/ls.py             |  4 ++--
 jc/parsers/lsblk.py          | 13 +++++--------
 jc/parsers/lsmod.py          |  4 ++--
 jc/parsers/lsof.py           |  4 ++--
 jc/parsers/netstat.py        | 16 +++++++---------
 jc/parsers/ntpq.py           | 10 ++++------
 jc/parsers/passwd.py         |  4 ++--
 jc/parsers/ps.py             | 13 +++++--------
 jc/parsers/route.py          |  4 ++--
 jc/parsers/rpm_qi.py         |  4 ++--
 jc/parsers/shadow.py         |  4 ++--
 jc/parsers/ss.py             |  4 ++--
 jc/parsers/stat.py           |  4 ++--
 jc/parsers/systemctl_lj.py   | 13 +++++--------
 jc/parsers/systeminfo.py     |  6 +++---
 jc/parsers/time.py           | 32 ++++++++++++--------------------
 jc/parsers/timedatectl.py    |  8 ++------
 jc/parsers/tracepath.py      | 42 +++++++++++++-----------------------------
 jc/parsers/traceroute.py     | 40 +++++++++++++---------------------------
 jc/parsers/upower.py         | 24 +++++++++---------------
 jc/parsers/uptime.py         | 39 ++++++++++++++-------------------------
 jc/parsers/w.py              |  4 ++--
 jc/parsers/wc.py             | 12 +++++-------
 jc/parsers/who.py            | 12 ++++--------
 jc/utils.py                  | 36 +++++++++++++++++++++++-------------
 53 files changed, 196 insertions(+), 274 deletions(-)
1f034826f69c461495f7a302cc8fe35e3052e72f use jc.utils for conversions
 docs/parsers/iptables.md                   |  2 +-
 docs/parsers/jobs.md                       |  2 +-
 docs/parsers/last.md                       |  2 +-
 docs/parsers/ls.md                         |  3 +--
 docs/parsers/lsblk.md                      |  2 +-
 docs/parsers/lsmod.md                      |  2 +-
 docs/parsers/lsof.md                       |  2 +-
 docs/parsers/netstat.md                    |  2 +-
 docs/parsers/ntpq.md                       |  2 +-
 docs/parsers/passwd.md                     |  2 +-
 docs/parsers/ping.md                       |  2 +-
 docs/parsers/ps.md                         |  2 +-
 docs/parsers/route.md                      |  2 +-
 docs/parsers/rpm_qi.md                     |  2 +-
 docs/parsers/shadow.md                     |  2 +-
 docs/parsers/ss.md                         |  2 +-
 docs/parsers/stat.md                       |  2 +-
 jc/parsers/iptables.py                     | 10 +++-----
 jc/parsers/jobs.py                         |  8 ++-----
 jc/parsers/last.py                         |  4 ++--
 jc/parsers/ls.py                           |  9 ++------
 jc/parsers/lsblk.py                        | 14 +++--------
 jc/parsers/lsmod.py                        |  9 ++------
 jc/parsers/lsof.py                         | 10 +++-----
 jc/parsers/netstat.py                      | 37 +++++++++++-------------------
 jc/parsers/ntpq.py                         | 12 +++-------
 jc/parsers/passwd.py                       |  8 ++-----
 jc/parsers/ping.py                         | 34 ++++++++-------------------
 jc/parsers/ps.py                           | 15 ++++--------
 jc/parsers/route.py                        |  8 ++-----
 jc/parsers/rpm_qi.py                       |  9 +++-----
 jc/parsers/shadow.py                       |  8 ++-----
 jc/parsers/ss.py                           | 22 +++++++-----------
 jc/parsers/stat.py                         | 11 ++++-----
 tests/fixtures/centos-7.7/ls-alh.json      |  2 +-
 tests/fixtures/centos-7.7/lsof-sudo.json   |  2 +-
 tests/fixtures/centos-7.7/lsof.json        |  2 +-
 tests/fixtures/osx-10.11.6/ls-alh.json     |  2 +-
 tests/fixtures/osx-10.14.6/ls-alh.json     |  2 +-
 tests/fixtures/ubuntu-18.04/ls-alh.json    |  2 +-
 tests/fixtures/ubuntu-18.04/lsof-sudo.json |  2 +-
 tests/fixtures/ubuntu-18.04/lsof.json      |  2 +-
 42 files changed, 94 insertions(+), 185 deletions(-)
246c707c98d3128b4e38f5c4b23a1e0ceedc0b0c use jc.utils conversions
 CHANGELOG                               |  1 +
 docs/parsers/acpi.md                    |  2 +-
 docs/parsers/airport.md                 |  2 +-
 docs/parsers/airport_s.md               |  2 +-
 docs/parsers/blkid.md                   |  2 +-
 docs/parsers/cksum.md                   |  2 +-
 docs/parsers/df.md                      |  2 +-
 docs/parsers/dir.md                     |  2 +-
 docs/parsers/dmidecode.md               |  2 +-
 docs/parsers/du.md                      |  2 +-
 docs/parsers/free.md                    |  2 +-
 docs/parsers/fstab.md                   |  2 +-
 docs/parsers/group.md                   |  2 +-
 docs/parsers/hash.md                    |  2 +-
 docs/parsers/hciconfig.md               |  2 +-
 docs/parsers/history.md                 |  2 +-
 docs/parsers/id.md                      |  2 +-
 docs/parsers/ifconfig.md                |  2 +-
 docs/utils.md                           | 48 +++++++++++++++++++++++++
 jc/parsers/acpi.py                      | 22 +++---------
 jc/parsers/airport.py                   |  7 ++--
 jc/parsers/airport_s.py                 | 12 ++-----
 jc/parsers/arp.py                       |  5 +--
 jc/parsers/blkid.py                     |  7 ++--
 jc/parsers/cksum.py                     |  8 ++---
 jc/parsers/df.py                        | 14 ++------
 jc/parsers/dig.py                       | 50 +++++---------------------
 jc/parsers/dir.py                       | 11 ++----
 jc/parsers/dmidecode.py                 |  8 ++---
 jc/parsers/du.py                        |  8 ++---
 jc/parsers/foo.py                       |  2 ++
 jc/parsers/free.py                      |  8 ++---
 jc/parsers/fstab.py                     |  8 ++---
 jc/parsers/group.py                     |  8 ++---
 jc/parsers/hash.py                      |  9 ++---
 jc/parsers/hciconfig.py                 |  8 ++---
 jc/parsers/history.py                   |  6 ++--
 jc/parsers/id.py                        | 17 +++------
 jc/parsers/ifconfig.py                  | 11 +++---
 jc/utils.py                             | 62 ++++++++++++++++++++++++++++++++-
 tests/fixtures/centos-7.7/df-h.json     |  2 +-
 tests/fixtures/centos-7.7/free-h.json   |  2 +-
 tests/fixtures/osx-10.11.6/df-h.json    |  2 +-
 tests/fixtures/osx-10.14.6/df-h.json    |  2 +-
 tests/fixtures/ubuntu-18.04/df-h.json   |  2 +-
 tests/fixtures/ubuntu-18.04/free-h.json |  2 +-
 46 files changed, 190 insertions(+), 196 deletions(-)
b5d8968144e76090870f8563dc1bce910fba668c add convert_to_int function
 jc/utils.py | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
f7b9fbefdde6973077573fec02342eb9946789c6 add query_size info for dig
 CHANGELOG | 1 +
 1 file changed, 1 insertion(+)
b1fc4533833ca25f59869bfec8ac114bf49c7847 fix _IfconfigParser name
 jc/parsers/ifconfig.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
7581c8d0f4262fc6a05240bb21ffe533b153f6e4 add query_size field. handle user-specified dig output better - especially when querying dnssec
 docs/parsers/dig.md                   |  1 +
 jc/parsers/dig.py                     | 74 ++++++++++++++++++++---------------
 tests/fixtures/generic/dig-edns3.json |  2 +-
 3 files changed, 45 insertions(+), 32 deletions(-)
32bf8ad6f4fff83fdfd83d66c1ba8f1af5a65a90 update dig docs
 CHANGELOG           |  2 +-
 EXAMPLES.md         | 10 +++++-----
 docs/parsers/dig.md | 32 +++++++++++++++++++++++---------
 jc/parsers/dig.py   | 32 +++++++++++++++++++++++---------
 4 files changed, 52 insertions(+), 24 deletions(-)
b083bcc10fa1105fc09ce8d2c3297aa5575c9d51 update man page
 jc/man/jc.1.gz | Bin 2061 -> 2061 bytes
 man/jc.1.gz    | Bin 2061 -> 2061 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)
4f6fdd120d23468270c1d7111e4ef71b87759a1c use dig as example
 docs/readme.md | 117 +++++++++++++++++++++++++++++++++------------------------
 jc/__init__.py | 117 +++++++++++++++++++++++++++++++++------------------------
 2 files changed, 134 insertions(+), 100 deletions(-)
eb0038be2490053d32803d30e1c3d4d34509d130 update dig examples
 EXAMPLES.md | 59 ++++++++++++++++++++++++++++++++++++++++-------------------
 1 file changed, 40 insertions(+), 19 deletions(-)
7ecdf819fa37c38ae6159ad8e7bc973ee4f34559 remove dig example from readme,
 README.md                 | 42 ------------------------------------------
 templates/readme_template | 42 ------------------------------------------
 2 files changed, 84 deletions(-)
c6aa4d083550d25bcb621cad524047cfd6a08217 update docs with new dig parser examples
 README.md                 |  84 ++++++-------
 docs/parsers/dig.md       | 313 +++++++++++++---------------------------------
 jc/man/jc.1.gz            | Bin 2051 -> 2061 bytes
 jc/parsers/dig.py         |  88 ++++++++++++-
 man/jc.1.gz               | Bin 2051 -> 2061 bytes
 templates/readme_template |  84 ++++++-------
 6 files changed, 252 insertions(+), 317 deletions(-)
7c584b89a6e6b924d53d50103b97f0c2405c33b1 add additional section
 jc/parsers/dig.py                             | 123 +++++++++++++++-----------
 tests/fixtures/generic/dig-additional.json    |   1 +
 tests/fixtures/generic/dig-additional.out     |  32 +++++++
 tests/fixtures/generic/dig-additional2.json   |   1 +
 tests/fixtures/generic/dig-additional2.out    |  34 +++++++
 tests/fixtures/generic/dig-additional3.json   |   1 +
 tests/fixtures/generic/dig-additional3.out    |  41 +++++++++
 tests/fixtures/generic/dig-answer-spaces.json |   2 +-
 tests/fixtures/generic/dig-edns.json          |   1 +
 tests/fixtures/generic/dig-edns.out           |  20 +++++
 tests/fixtures/generic/dig-edns2.json         |   1 +
 tests/fixtures/generic/dig-edns2.out          |  38 ++++++++
 tests/fixtures/generic/dig-edns3.json         |   1 +
 tests/fixtures/generic/dig-edns3.out          |  34 +++++++
 tests/test_dig.py                             |  74 ++++++++++++++++
 15 files changed, 352 insertions(+), 52 deletions(-)
c166c0bfdafa922f57f021fa4d16e467fca02d58 add opt_pseudosection section to output and fix existing tests
 jc/parsers/dig.py                             | 50 ++++++++++++++++++++++-----
 tests/fixtures/centos-7.7/dig-aaaa.json       |  2 +-
 tests/fixtures/centos-7.7/dig-x.json          |  2 +-
 tests/fixtures/centos-7.7/dig.json            |  2 +-
 tests/fixtures/generic/dig-answer-spaces.json |  2 +-
 tests/fixtures/osx-10.11.6/dig-aaaa.json      |  2 +-
 tests/fixtures/osx-10.11.6/dig-x.json         |  2 +-
 tests/fixtures/osx-10.11.6/dig.json           |  2 +-
 tests/fixtures/osx-10.14.6/dig-aaaa.json      |  2 +-
 tests/fixtures/osx-10.14.6/dig-x.json         |  2 +-
 tests/fixtures/osx-10.14.6/dig.json           |  2 +-
 tests/fixtures/ubuntu-18.04/dig-aaaa.json     |  2 +-
 tests/fixtures/ubuntu-18.04/dig-x.json        |  2 +-
 tests/fixtures/ubuntu-18.04/dig.json          |  2 +-
 14 files changed, 55 insertions(+), 21 deletions(-)
a8dd3f7802bfe8fd3ffbedf89af45ddc580ee78d working dig axfr fixes
 CHANGELOG                                 |   4 +
 jc/parsers/dig.py                         | 325 +++++-------------------------
 tests/fixtures/centos-7.7/dig-axfr.json   |   2 +-
 tests/fixtures/osx-10.14.6/dig-axfr.json  |   2 +-
 tests/fixtures/ubuntu-18.04/dig-axfr.json |   2 +-
 5 files changed, 54 insertions(+), 281 deletions(-)
3b0e2f03f3b11398ff57b1daed542faaf0b80a62 clean up examples
 jc/cli.py                  | 21 +++++++++++----------
 templates/manpage_template | 26 +++++++++++++-------------
 2 files changed, 24 insertions(+), 23 deletions(-)
8390ae48c88ab1c7d5acbf40c0e60606953817bd fix server entry when IPv6 address is in value (maxsplit on colons)
 jc/parsers/dig.py                        | 4 ++--
 tests/fixtures/osx-10.11.6/dig-aaaa.json | 2 +-
 tests/fixtures/osx-10.11.6/dig-x.json    | 2 +-
 tests/fixtures/osx-10.11.6/dig.json      | 2 +-
 tests/fixtures/osx-10.14.6/dig-aaaa.json | 2 +-
 tests/fixtures/osx-10.14.6/dig-x.json    | 2 +-
 tests/fixtures/osx-10.14.6/dig.json      | 2 +-
 7 files changed, 8 insertions(+), 8 deletions(-)
2db82c0a7e19d596c876ede8a8ff106aaa733ee5 add systeminfo example
 EXAMPLES.md | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 66 insertions(+)
61479540756704f10853233300ceae8f954a8a95 update tests
 tests/test_systeminfo.py | 1 +
 tests/test_utils.py      | 4 ++++
 2 files changed, 5 insertions(+)
691df271fcfe057ae4b75ad40869e23deb37b886 add info docstring
 docs/parsers/systeminfo.md |   2 +-
 jc/man/jc.1.gz             | Bin 2051 -> 2051 bytes
 jc/parsers/systeminfo.py   |   1 +
 man/jc.1.gz                | Bin 2051 -> 2051 bytes
 4 files changed, 2 insertions(+), 1 deletion(-)
89f52b95f7055da9d7b5fa8dce0923d4c3435bd2 update systeminfo parser with updated timestamps, normalized blank fields, and new doc style
 README.md                                          |   1 +
 docs/parsers/systeminfo.md                         | 290 +++++++++++------
 jc/man/jc.1.gz                                     | Bin 2041 -> 2051 bytes
 jc/parsers/systeminfo.py                           | 361 +++++++++++----------
 jc/utils.py                                        |   5 +-
 man/jc.1.gz                                        | Bin 2041 -> 2051 bytes
 .../windows/windows-10/systeminfo-hyperv-utc.json  |   1 +
 .../windows/windows-10/systeminfo-hyperv-utc.out   |  79 +++++
 .../windows/windows-10/systeminfo-hyperv.json      | 112 +------
 tests/fixtures/windows/windows-10/systeminfo.json  |  57 +---
 tests/fixtures/windows/windows-10/systeminfo.out   |   1 +
 .../windows/windows-2012r2/systeminfo.json         |  55 +---
 tests/fixtures/windows/windows-7/systeminfo.json   | 326 +------------------
 13 files changed, 467 insertions(+), 821 deletions(-)
146acc1bf69c402e38c2f1bc842b84e6cff7e2cb rename functions to make them private
 jc/parsers/systeminfo.py | 52 +++++++++++++++++++++---------------------------
 1 file changed, 23 insertions(+), 29 deletions(-)
c4a345f59aa090336b4e80f181493cd5bc2c17c5 Merge pull request #106 from jon-rd/j/systeminfo
dfd2703f75b907ba865fff266d0742d8931bc2d3 bump dev to v1.15.2
 CHANGELOG      | 3 +++
 jc/__init__.py | 2 +-
 setup.py       | 2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)
325fab2de7b8a4bfc452ab8d3cf333d47fdf4989 update documentation for parsed structures
 jc/parsers/systeminfo.py | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
f3d00cf38ad15aeda7eaa5644ebc30ff33de6a29 append mb to memory key names; adjust expected timestamps to utc tz
 jc/parsers/systeminfo.py                           | 48 +++++++++++++---------
 .../windows/windows-10/systeminfo-hyperv.json      | 14 +++----
 tests/fixtures/windows/windows-10/systeminfo.json  | 14 +++----
 .../windows/windows-2012r2/systeminfo.json         | 14 +++----
 tests/fixtures/windows/windows-7/systeminfo.json   | 14 +++----
 5 files changed, 56 insertions(+), 48 deletions(-)
14838f7f5d780896f1318cac2c3f34d249a158d4 update schema with nic, hyperv, and process changes
 jc/parsers/systeminfo.py                           | 357 ++++++++++++++++++---
 jc/utils.py                                        |   1 +
 .../windows/windows-10/systeminfo-hyperv.json      | 111 +++++++
 .../windows/windows-10/systeminfo-hyperv.out       |  79 +++++
 tests/fixtures/windows/windows-10/systeminfo.json  |  43 ++-
 .../windows/windows-2012r2/systeminfo.json         |  54 ++++
 .../fixtures/windows/windows-2012r2/systeminfo.out |  45 +++
 tests/fixtures/windows/windows-7/systeminfo.json   | 311 +++++++++++++++++-
 tests/test_systeminfo.py                           |  71 ++--
 9 files changed, 956 insertions(+), 116 deletions(-)
af74047b81776c2ea32d82f9145ab60c346c8203 update schema based on processor/hotfix changes
 jc/parsers/systeminfo.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
660c59129cf4ba7889fb3c6fbafd9dd9b479ccd9 Add parsing of processors/hotfixs
 jc/parsers/systeminfo.py                          | 42 ++++++++++++++++++++---
 tests/fixtures/windows/windows-10/systeminfo.json |  4 +--
 tests/fixtures/windows/windows-7/systeminfo.json  |  4 +--
 3 files changed, 41 insertions(+), 9 deletions(-)
89a88e186ed71d84ea802cf08ab756b49cee3225 Add systeminfo.md file
 docs/parsers/systeminfo.md | 152 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 152 insertions(+)
f861cf95b96a224a0a11f2cdc3261b94c02415ef Change to v0.5; add parser to cli.py; add to docgen
 jc/cli.py                | 1 +
 jc/parsers/systeminfo.py | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
ee8f06cbdb03f8254bb6a3c56fa5b8a64ff9ca77 Add windows systeminfo command parser
 jc/parsers/systeminfo.py                          | 209 +++++++++++++++
 tests/fixtures/windows/windows-10/systeminfo.json |  35 +++
 tests/fixtures/windows/windows-10/systeminfo.out  |  47 ++++
 tests/fixtures/windows/windows-7/systeminfo.json  |  34 +++
 tests/fixtures/windows/windows-7/systeminfo.out   | 298 ++++++++++++++++++++++
 tests/test_systeminfo.py                          |  65 +++++
 6 files changed, 688 insertions(+)
a2e8b3c7b681605916b8950d035ee19889a125a5 Merge pull request #121 from kellyjonbrazil/master
6c838460752c7131f75cdab2da07266fee492060 Merge pull request #120 from kellyjonbrazil/dev
e0681eebb9881dc0ffddb478224455f434919104 Merge branch 'master' into dev
e5732d1cea1c882f6486cf288e45edb993989ea0 update changelog
 CHANGELOG | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
6e7ae3cd3f003fe9e1e587b7f8ebd16ba0895014 formatting of timedatectl docs
 docs/parsers/timedatectl.md |   2 +-
 jc/man/jc.1.gz              | Bin 2041 -> 2041 bytes
 jc/parsers/timedatectl.py   |   2 +-
 man/jc.1.gz                 | Bin 2041 -> 2041 bytes
 4 files changed, 2 insertions(+), 2 deletions(-)
f95632d1aaee545ae0ce081ca0617be135c09220 add install_date calculated fields
 EXAMPLES.md                                   |  12 +++--
 docs/parsers/rpm_qi.md                        |  62 +++++++++++++-----------
 jc/man/jc.1.gz                                | Bin 2041 -> 2041 bytes
 jc/parsers/rpm_qi.py                          |  67 +++++++++++++++-----------
 man/jc.1.gz                                   | Bin 2041 -> 2041 bytes
 tests/fixtures/centos-7.7/rpm-qai.json        |   2 +-
 tests/fixtures/centos-7.7/rpm-qi-package.json |   2 +-
 7 files changed, 83 insertions(+), 62 deletions(-)
2f8b7b26e59bcd745fa1fcadb373455c7d404286 update docs for v1.15.1
 CHANGELOG      |   3 +--
 jc/man/jc.1.gz | Bin 2040 -> 2041 bytes
 man/jc.1.gz    | Bin 2040 -> 2041 bytes
 3 files changed, 1 insertion(+), 2 deletions(-)
10292f7502e4cb1c53b53ed39fed9288044c2ef8 Merge pull request #119 from kellyjonbrazil/dpkg_l-fix
aef54705f5267c633e0778e8dce0065978083139 add _l to module name
 docs/parsers/dpkg_l.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
bba5980fa53767716bc35d8c904e7a2341346eeb man page update
 jc/man/jc.1.gz | Bin 2040 -> 2040 bytes
 man/jc.1.gz    | Bin 2040 -> 2040 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)
977425abfb05a63ee372df36124ac6ba6a5a0aaa add _l to package name in docs
 docs/parsers/dpkg_l.md | 4 ++--
 jc/parsers/dpkg_l.py   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
37a3565a1bbd3d01663602673fed651509e69d8c Merge pull request #118 from kellyjonbrazil/rpm-qi-doc-fix
13deb8bfb6e77aaf86942f0be87b59d06ee2a97c fix rpm-qi docs
 docs/parsers/rpm_qai.md | 191 ------------------------------------------------
 docs/parsers/rpm_qi.md  |   6 +-
 2 files changed, 3 insertions(+), 194 deletions(-)
a3ed9d075aff41599452c3094f7d057c25fc8f89 remove old parser doc
 docs/parsers/rpm_qai.md | 191 ------------------------------------------------
 1 file changed, 191 deletions(-)
fb0ced549e021916dee7da39859e8f85c8216e16 fix rpm-qi docs (used underscore instead of dash in name)
 docs/parsers/rpm_qi.md |   6 +++---
 jc/man/jc.1.gz         | Bin 2041 -> 2040 bytes
 jc/parsers/rpm_qi.py   |   6 +++---
 man/jc.1.gz            | Bin 2041 -> 2040 bytes
 4 files changed, 6 insertions(+), 6 deletions(-)
7eb31bc7d290fcd09e53524ebbb11e59110df6a0 update airport_s docs
 docs/parsers/airport_s.md |  49 +++++++++++++++++-----------------------------
 jc/man/jc.1.gz            | Bin 2041 -> 2041 bytes
 jc/parsers/airport_s.py   |  38 +++++++++++++++++++----------------
 man/jc.1.gz               | Bin 2041 -> 2041 bytes
 4 files changed, 39 insertions(+), 48 deletions(-)
6a06a3914273853742ac57433398968ccf7d9897 use herestring instead of echo -e into jq
 docgen.sh | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
bdcdaee6c5299ea0750512e0943c7f58f56f2e35 Merge pull request #117 from kellyjonbrazil/doc_update
605353fdce3b8b5986d20a35d05f7210a6df0730 add new docs
 docs/parsers/acpi.md          |  99 ++++++++-----------
 docs/parsers/airport.md       |  61 +++++-------
 docs/parsers/airport_s.md     |   9 +-
 docs/parsers/arp.md           |  51 ++++------
 docs/parsers/blkid.md         |  93 ++++++++----------
 docs/parsers/cksum.md         |  41 +++-----
 docs/parsers/crontab.md       |  84 +++++++---------
 docs/parsers/crontab_u.md     |  88 +++++++----------
 docs/parsers/csv.md           |  41 +++-----
 docs/parsers/date.md          |  68 ++++++-------
 docs/parsers/df.md            |  59 +++++------
 docs/parsers/dig.md           | 133 ++++++++++++-------------
 docs/parsers/dir.md           |  49 ++++------
 docs/parsers/dmidecode.md     |  55 ++++-------
 docs/parsers/dpkg_l.md        |  51 ++++------
 docs/parsers/du.md            |  39 +++-----
 docs/parsers/env.md           |  39 +++-----
 docs/parsers/file.md          |  39 +++-----
 docs/parsers/finger.md        |  57 +++++------
 docs/parsers/free.md          |  49 ++++------
 docs/parsers/fstab.md         |  47 ++++-----
 docs/parsers/group.md         |  47 ++++-----
 docs/parsers/gshadow.md       |  51 ++++------
 docs/parsers/hash.md          |  39 +++-----
 docs/parsers/hashsum.md       |  39 +++-----
 docs/parsers/hciconfig.md     | 123 +++++++++++------------
 docs/parsers/history.md       |  39 +++-----
 docs/parsers/hosts.md         |  43 +++-----
 docs/parsers/id.md            |  79 +++++++--------
 docs/parsers/ifconfig.md      |  97 ++++++++----------
 docs/parsers/ini.md           |  44 ++++-----
 docs/parsers/iptables.md      |  67 +++++--------
 docs/parsers/iw_scan.md       |  40 +++-----
 docs/parsers/jobs.md          |  45 +++------
 docs/parsers/kv.md            |  17 +++-
 docs/parsers/last.md          |  53 ++++------
 docs/parsers/ls.md            | 118 ++++------------------
 docs/parsers/lsblk.md         | 115 ++++++++++------------
 docs/parsers/lsmod.md         |  47 ++++-----
 docs/parsers/lsof.md          |  55 ++++-------
 docs/parsers/mount.md         |  47 ++++-----
 docs/parsers/netstat.md       | 223 ++++++++++++++++++++----------------------
 docs/parsers/ntpq.md          |  58 +++++------
 docs/parsers/passwd.md        |  49 ++++------
 docs/parsers/ping.md          |  81 +++++++--------
 docs/parsers/pip_list.md      |  41 +++-----
 docs/parsers/pip_show.md      |  56 ++++-------
 docs/parsers/ps.md            |  69 ++++++-------
 docs/parsers/route.md         |  63 +++++-------
 docs/parsers/rpm_qi.md        |  77 ++++++---------
 docs/parsers/shadow.md        |  51 ++++------
 docs/parsers/ss.md            |  73 ++++++--------
 docs/parsers/stat.md          |  97 ++++++++----------
 docs/parsers/sysctl.md        |  37 +++----
 docs/parsers/systemctl.md     |  45 +++------
 docs/parsers/systemctl_lj.md  |  44 +++------
 docs/parsers/systemctl_ls.md  |  41 +++-----
 docs/parsers/systemctl_luf.md |  39 +++-----
 docs/parsers/time.md          | 105 +++++++++-----------
 docs/parsers/timedatectl.md   |  53 ++++------
 docs/parsers/tracepath.md     |  60 +++++-------
 docs/parsers/traceroute.md    |  69 +++++--------
 docs/parsers/uname.md         |  47 ++++-----
 docs/parsers/upower.md        | 145 +++++++++++++--------------
 docs/parsers/uptime.md        |  57 +++++------
 docs/parsers/w.md             |  51 ++++------
 docs/parsers/wc.md            |  43 +++-----
 docs/parsers/who.md           |  55 ++++-------
 docs/parsers/xml.md           |  38 +++----
 docs/parsers/yaml.md          |  42 +++-----
 70 files changed, 1710 insertions(+), 2656 deletions(-)
490c9e17699e8e4f70dcc1612e1a808f86e24b0a add more cli tests for magic command
 tests/test_cli.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
6ebebb659dc93daeaa869752ad135f6e1d2cb1ee update changelog
 CHANGELOG | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
0e70c5ee12e96f04a89de05153a2da9cd39f98ad update documentation link
 docs/readme.md |   2 +-
 jc/__init__.py |   2 +-
 jc/man/jc.1.gz | Bin 2041 -> 2041 bytes
 man/jc.1.gz    | Bin 2041 -> 2041 bytes
 4 files changed, 2 insertions(+), 2 deletions(-)
cd531acf6045660e022c932f62a01d4084433ad4 clean up comment
 docgen.sh | 1 -
 1 file changed, 1 deletion(-)
908ac1f61c5cc011d05d550f933940dfed4431f2 update docs - remove compatibility section since it is now automatically generated from info()
 docs/parsers/acpi.md          |   4 ---
 docs/parsers/airport.md       |   4 ---
 docs/parsers/airport_s.md     |   4 ---
 docs/parsers/arp.md           |   4 ---
 docs/parsers/blkid.md         |   4 ---
 docs/parsers/cksum.md         |   4 ---
 docs/parsers/crontab.md       |   4 ---
 docs/parsers/crontab_u.md     |   4 ---
 docs/parsers/csv.md           |   4 ---
 docs/parsers/date.md          |   4 ---
 docs/parsers/df.md            |   4 ---
 docs/parsers/dig.md           |   4 ---
 docs/parsers/dir.md           |   4 ---
 docs/parsers/dmidecode.md     |   4 ---
 docs/parsers/dpkg_l.md        |   4 ---
 docs/parsers/du.md            |   4 ---
 docs/parsers/env.md           |   4 ---
 docs/parsers/file.md          |   4 ---
 docs/parsers/finger.md        |   4 ---
 docs/parsers/free.md          |   4 ---
 docs/parsers/fstab.md         |   4 ---
 docs/parsers/group.md         |   4 ---
 docs/parsers/gshadow.md       |   4 ---
 docs/parsers/hash.md          |   4 ---
 docs/parsers/hashsum.md       |   4 ---
 docs/parsers/hciconfig.md     |   4 ---
 docs/parsers/history.md       |   4 ---
 docs/parsers/hosts.md         |   4 ---
 docs/parsers/id.md            |   4 ---
 docs/parsers/ifconfig.md      |   4 ---
 docs/parsers/ini.md           |   4 ---
 docs/parsers/iptables.md      |   4 ---
 docs/parsers/iw_scan.md       |   4 ---
 docs/parsers/jobs.md          |   4 ---
 docs/parsers/kv.md            |   4 ---
 docs/parsers/last.md          |   4 ---
 docs/parsers/ls.md            |  67 ------------------------------------------
 docs/parsers/lsblk.md         |   4 ---
 docs/parsers/lsmod.md         |   4 ---
 docs/parsers/lsof.md          |   4 ---
 docs/parsers/mount.md         |   4 ---
 docs/parsers/netstat.md       |   4 ---
 docs/parsers/ntpq.md          |   4 ---
 docs/parsers/passwd.md        |   4 ---
 docs/parsers/ping.md          |   4 ---
 docs/parsers/pip_list.md      |   4 ---
 docs/parsers/pip_show.md      |   4 ---
 docs/parsers/ps.md            |   4 ---
 docs/parsers/route.md         |   4 ---
 docs/parsers/rpm_qi.md        |   4 ---
 docs/parsers/shadow.md        |   4 ---
 docs/parsers/ss.md            |   4 ---
 docs/parsers/stat.md          |   4 ---
 docs/parsers/sysctl.md        |   4 ---
 docs/parsers/systemctl.md     |   4 ---
 docs/parsers/systemctl_lj.md  |   4 ---
 docs/parsers/systemctl_ls.md  |   4 ---
 docs/parsers/systemctl_luf.md |   4 ---
 docs/parsers/time.md          |   4 ---
 docs/parsers/timedatectl.md   |   4 ---
 docs/parsers/tracepath.md     |   4 ---
 docs/parsers/traceroute.md    |   4 ---
 docs/parsers/uname.md         |   4 ---
 docs/parsers/upower.md        |   4 ---
 docs/parsers/uptime.md        |   4 ---
 docs/parsers/w.md             |   4 ---
 docs/parsers/wc.md            |   4 ---
 docs/parsers/who.md           |   4 ---
 docs/parsers/xml.md           |   4 ---
 docs/parsers/yaml.md          |   4 ---
 jc/man/jc.1.gz                | Bin 2041 -> 2041 bytes
 jc/parsers/acpi.py            |   4 ---
 jc/parsers/airport.py         |   4 ---
 jc/parsers/airport_s.py       |   4 ---
 jc/parsers/arp.py             |   4 ---
 jc/parsers/blkid.py           |   4 ---
 jc/parsers/cksum.py           |   4 ---
 jc/parsers/crontab.py         |   4 ---
 jc/parsers/crontab_u.py       |   4 ---
 jc/parsers/csv.py             |   4 ---
 jc/parsers/date.py            |   4 ---
 jc/parsers/df.py              |   4 ---
 jc/parsers/dig.py             |   4 ---
 jc/parsers/dir.py             |   4 ---
 jc/parsers/dmidecode.py       |   4 ---
 jc/parsers/dpkg_l.py          |   4 ---
 jc/parsers/du.py              |   4 ---
 jc/parsers/env.py             |   4 ---
 jc/parsers/file.py            |   4 ---
 jc/parsers/finger.py          |   4 ---
 jc/parsers/foo.py             |   4 ---
 jc/parsers/free.py            |   4 ---
 jc/parsers/fstab.py           |   4 ---
 jc/parsers/group.py           |   4 ---
 jc/parsers/gshadow.py         |   4 ---
 jc/parsers/hash.py            |   4 ---
 jc/parsers/hashsum.py         |   4 ---
 jc/parsers/hciconfig.py       |   4 ---
 jc/parsers/history.py         |   4 ---
 jc/parsers/hosts.py           |   4 ---
 jc/parsers/id.py              |   4 ---
 jc/parsers/ifconfig.py        |   4 ---
 jc/parsers/ini.py             |   4 ---
 jc/parsers/iptables.py        |   4 ---
 jc/parsers/iw_scan.py         |   4 ---
 jc/parsers/jobs.py            |   4 ---
 jc/parsers/kv.py              |   4 ---
 jc/parsers/last.py            |   4 ---
 jc/parsers/ls.py              |  67 ------------------------------------------
 jc/parsers/lsblk.py           |   4 ---
 jc/parsers/lsmod.py           |   4 ---
 jc/parsers/lsof.py            |   4 ---
 jc/parsers/mount.py           |   4 ---
 jc/parsers/netstat.py         |   4 ---
 jc/parsers/ntpq.py            |   4 ---
 jc/parsers/passwd.py          |   4 ---
 jc/parsers/ping.py            |   4 ---
 jc/parsers/pip_list.py        |   4 ---
 jc/parsers/pip_show.py        |   4 ---
 jc/parsers/ps.py              |   4 ---
 jc/parsers/route.py           |   4 ---
 jc/parsers/rpm_qi.py          |   4 ---
 jc/parsers/shadow.py          |   4 ---
 jc/parsers/ss.py              |   4 ---
 jc/parsers/stat.py            |   4 ---
 jc/parsers/sysctl.py          |   4 ---
 jc/parsers/systemctl.py       |   4 ---
 jc/parsers/systemctl_lj.py    |   4 ---
 jc/parsers/systemctl_ls.py    |   4 ---
 jc/parsers/systemctl_luf.py   |   4 ---
 jc/parsers/time.py            |   4 ---
 jc/parsers/timedatectl.py     |   4 ---
 jc/parsers/tracepath.py       |   4 ---
 jc/parsers/traceroute.py      |   4 ---
 jc/parsers/uname.py           |   4 ---
 jc/parsers/upower.py          |   4 ---
 jc/parsers/uptime.py          |   4 ---
 jc/parsers/w.py               |   4 ---
 jc/parsers/wc.py              |   4 ---
 jc/parsers/who.py             |   4 ---
 jc/parsers/xml.py             |   4 ---
 jc/parsers/yaml.py            |   4 ---
 man/jc.1.gz                   | Bin 2041 -> 2041 bytes
 143 files changed, 690 deletions(-)
f5c7e7e4046bc57b4fcad99390e31b121a7106ba add updated docs with home link and parser info at the bottom
 docs/parsers/acpi.md          | 5 +++++
 docs/parsers/airport.md       | 5 +++++
 docs/parsers/airport_s.md     | 5 +++++
 docs/parsers/arp.md           | 5 +++++
 docs/parsers/blkid.md         | 5 +++++
 docs/parsers/cksum.md         | 5 +++++
 docs/parsers/crontab.md       | 5 +++++
 docs/parsers/crontab_u.md     | 5 +++++
 docs/parsers/csv.md           | 5 +++++
 docs/parsers/date.md          | 5 +++++
 docs/parsers/df.md            | 5 +++++
 docs/parsers/dig.md           | 5 +++++
 docs/parsers/dir.md           | 5 +++++
 docs/parsers/dmidecode.md     | 5 +++++
 docs/parsers/dpkg_l.md        | 5 +++++
 docs/parsers/du.md            | 5 +++++
 docs/parsers/env.md           | 5 +++++
 docs/parsers/file.md          | 5 +++++
 docs/parsers/finger.md        | 5 +++++
 docs/parsers/free.md          | 5 +++++
 docs/parsers/fstab.md         | 5 +++++
 docs/parsers/group.md         | 5 +++++
 docs/parsers/gshadow.md       | 5 +++++
 docs/parsers/hash.md          | 5 +++++
 docs/parsers/hashsum.md       | 5 +++++
 docs/parsers/hciconfig.md     | 5 +++++
 docs/parsers/history.md       | 5 +++++
 docs/parsers/hosts.md         | 5 +++++
 docs/parsers/id.md            | 5 +++++
 docs/parsers/ifconfig.md      | 5 +++++
 docs/parsers/ini.md           | 5 +++++
 docs/parsers/iptables.md      | 5 +++++
 docs/parsers/iw_scan.md       | 5 +++++
 docs/parsers/jobs.md          | 5 +++++
 docs/parsers/kv.md            | 5 +++++
 docs/parsers/last.md          | 5 +++++
 docs/parsers/ls.md            | 5 +++++
 docs/parsers/lsblk.md         | 5 +++++
 docs/parsers/lsmod.md         | 5 +++++
 docs/parsers/lsof.md          | 5 +++++
 docs/parsers/mount.md         | 5 +++++
 docs/parsers/netstat.md       | 5 +++++
 docs/parsers/ntpq.md          | 5 +++++
 docs/parsers/passwd.md        | 5 +++++
 docs/parsers/ping.md          | 5 +++++
 docs/parsers/pip_list.md      | 5 +++++
 docs/parsers/pip_show.md      | 5 +++++
 docs/parsers/ps.md            | 5 +++++
 docs/parsers/route.md         | 5 +++++
 docs/parsers/rpm_qi.md        | 5 +++++
 docs/parsers/shadow.md        | 5 +++++
 docs/parsers/ss.md            | 5 +++++
 docs/parsers/stat.md          | 5 +++++
 docs/parsers/sysctl.md        | 5 +++++
 docs/parsers/systemctl.md     | 5 +++++
 docs/parsers/systemctl_lj.md  | 5 +++++
 docs/parsers/systemctl_ls.md  | 5 +++++
 docs/parsers/systemctl_luf.md | 5 +++++
 docs/parsers/time.md          | 5 +++++
 docs/parsers/timedatectl.md   | 5 +++++
 docs/parsers/tracepath.md     | 5 +++++
 docs/parsers/traceroute.md    | 5 +++++
 docs/parsers/uname.md         | 5 +++++
 docs/parsers/upower.md        | 5 +++++
 docs/parsers/uptime.md        | 5 +++++
 docs/parsers/w.md             | 5 +++++
 docs/parsers/wc.md            | 5 +++++
 docs/parsers/who.md           | 5 +++++
 docs/parsers/xml.md           | 5 +++++
 docs/parsers/yaml.md          | 5 +++++
 70 files changed, 350 insertions(+)
001c700b5bd280cb1cb9e54169ae5f1b7918c257 add home link to the top of the md file
 docgen.sh      |   3 ++-
 jc/man/jc.1.gz | Bin 2041 -> 2041 bytes
 man/jc.1.gz    | Bin 2041 -> 2041 bytes
 3 files changed, 2 insertions(+), 1 deletion(-)
9b41e9bef0ff099e70f37fddc8fe2c6bd8457b19 Add parser information header
 docgen.sh | 1 +
 1 file changed, 1 insertion(+)
34bd6e32dc0c0bf7dfeedaadbf04115f43e9d060 pull each parser as a json object into a bash array and iterate on it to add supplementary information like version, author, and compatibility
 docgen.sh | 24 ++++++++++++++++++++----
 1 file changed, 20 insertions(+), 4 deletions(-)
c5d058490beaa8f59875a8acfd7a400764768639 move parser doc printing to its own function
 jc/cli.py | 35 ++++++++++++++++++++++-------------
 1 file changed, 22 insertions(+), 13 deletions(-)
dd1ae6d9a7de5421830232deb42d933b9a652672 add man page inside the pypi package for easier packaging in homebrew
 MANIFEST.in    |   2 +-
 jc/man/jc.1.gz | Bin 0 -> 2041 bytes
 man/jc.1.gz    | Bin 2041 -> 2041 bytes
 mangen.py      |   2 ++
 4 files changed, 3 insertions(+), 1 deletion(-)
d8ea9bde823a7f5c146741150c3211737345c7dd doc update
 docs/parsers/w.md |  16 ++++++++--------
 jc/parsers/w.py   |  16 ++++++++--------
 man/jc.1.gz       | Bin 2041 -> 2041 bytes
 3 files changed, 16 insertions(+), 16 deletions(-)
125edc9c906dc3650b6a683ed13830075acb7ab6 bail out for -h, -a, and -v in magic()
 jc/cli.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
15ea43e394a9004f8ccec208b3a066c76e241866 add man file to package for easier packaging in homebrew
 MANIFEST.in | 1 +
 1 file changed, 1 insertion(+)
b55b02687c00d1c50e30f30c9b9a7f36f783eb0f doc update
 CHANGELOG              |   6 +++
 docs/parsers/uname.md  |  42 +++++----------
 docs/parsers/upower.md | 140 ++++++++++++++++++++++---------------------------
 docs/parsers/uptime.md |  52 +++++++-----------
 docs/parsers/w.md      |  46 ++++++----------
 docs/parsers/wc.md     |  38 +++++---------
 docs/parsers/who.md    |  50 +++++++-----------
 docs/parsers/xml.md    |  33 ++++--------
 docs/parsers/yaml.md   |  37 +++++--------
 jc/parsers/uname.py    |  33 ++++++------
 jc/parsers/upower.py   | 131 +++++++++++++++++++++++----------------------
 jc/parsers/uptime.py   |  43 ++++++++-------
 jc/parsers/w.py        |  37 +++++++------
 jc/parsers/wc.py       |  29 +++++-----
 jc/parsers/who.py      |  41 ++++++++-------
 jc/parsers/xml.py      |  24 +++++----
 jc/parsers/yaml.py     |  28 ++++++----
 man/jc.1.gz            | Bin 2041 -> 2041 bytes
 setup.py               |   2 +-
 19 files changed, 371 insertions(+), 441 deletions(-)
da611f0ac6321f7f52fdbc419f8b155c74393c28 update docs
 jc/parsers/ini.py      |  30 +++++++++++++++++-----------
 jc/parsers/iptables.py |  53 ++++++++++++++++++++++++++-----------------------
 jc/parsers/iw_scan.py  |  30 ++++++++++++++++------------
 man/jc.1.gz            | Bin 2041 -> 2041 bytes
 4 files changed, 63 insertions(+), 50 deletions(-)
b8b8dfead4fdc4285585c44c2ebce3bdd42b2e7c update docs
 docs/parsers/ini.md           |  39 +++-----
 docs/parsers/iptables.md      |  62 +++++-------
 docs/parsers/iw_scan.md       |  35 +++----
 docs/parsers/jobs.md          |  40 +++-----
 docs/parsers/kv.md            |  12 ++-
 docs/parsers/last.md          |  48 ++++------
 docs/parsers/ls.md            |  50 ++++------
 docs/parsers/lsblk.md         | 110 ++++++++++-----------
 docs/parsers/lsmod.md         |  42 +++-----
 docs/parsers/lsof.md          |  50 ++++------
 docs/parsers/mount.md         |  42 +++-----
 docs/parsers/netstat.md       | 218 ++++++++++++++++++++----------------------
 docs/parsers/ntpq.md          |  53 ++++------
 docs/parsers/passwd.md        |  44 +++------
 docs/parsers/ping.md          |  76 ++++++---------
 docs/parsers/pip_list.md      |  36 +++----
 docs/parsers/pip_show.md      |  51 ++++------
 docs/parsers/ps.md            |  64 +++++--------
 docs/parsers/route.md         |  58 +++++------
 docs/parsers/rpm_qi.md        |  72 ++++++--------
 docs/parsers/shadow.md        |  46 ++++-----
 docs/parsers/ss.md            |  66 +++++--------
 docs/parsers/stat.md          |  92 ++++++++----------
 docs/parsers/sysctl.md        |  32 ++-----
 docs/parsers/systemctl.md     |  40 +++-----
 docs/parsers/systemctl_lj.md  |  39 +++-----
 docs/parsers/systemctl_ls.md  |  36 +++----
 docs/parsers/systemctl_luf.md |  34 ++-----
 docs/parsers/time.md          | 100 +++++++++----------
 docs/parsers/timedatectl.md   |  48 ++++------
 docs/parsers/tracepath.md     |  55 ++++-------
 docs/parsers/traceroute.md    |  64 +++++--------
 jc/parsers/jobs.py            |  31 +++---
 jc/parsers/kv.py              |  13 ++-
 jc/parsers/last.py            |  39 ++++----
 jc/parsers/ls.py              |  41 ++++----
 jc/parsers/lsblk.py           | 101 +++++++++----------
 jc/parsers/lsmod.py           |  33 ++++---
 jc/parsers/lsof.py            |  41 ++++----
 jc/parsers/mount.py           |  41 ++++----
 jc/parsers/netstat.py         | 209 ++++++++++++++++++++--------------------
 jc/parsers/ntpq.py            |  44 +++++----
 jc/parsers/passwd.py          |  35 +++----
 jc/parsers/ping.py            |  75 ++++++++-------
 jc/parsers/pip_list.py        |  27 +++---
 jc/parsers/pip_show.py        |  42 ++++----
 jc/parsers/ps.py              |  55 ++++++-----
 jc/parsers/route.py           |  49 +++++-----
 jc/parsers/rpm_qi.py          |  63 ++++++------
 jc/parsers/shadow.py          |  37 +++----
 jc/parsers/ss.py              |  59 ++++++------
 jc/parsers/stat.py            |  83 ++++++++--------
 jc/parsers/sysctl.py          |  23 +++--
 jc/parsers/systemctl.py       |  31 +++---
 jc/parsers/systemctl_lj.py    |  30 +++---
 jc/parsers/systemctl_ls.py    |  27 +++---
 jc/parsers/systemctl_luf.py   |  25 ++---
 jc/parsers/time.py            |  91 +++++++++---------
 jc/parsers/timedatectl.py     |  39 ++++----
 jc/parsers/tracepath.py       |  46 ++++-----
 jc/parsers/traceroute.py      |  65 +++++++------
 61 files changed, 1501 insertions(+), 1848 deletions(-)
4290a3cbd135cacbf63664dc30768017ebbed28d make IfconfigParser class private
 docs/parsers/ifconfig.md | 6 ------
 jc/parsers/ifconfig.py   | 6 +++---
 2 files changed, 3 insertions(+), 9 deletions(-)
a5e2203cee6a7bc398cf280f57d37638eeb1d2d8 update ifconfig doc
 docs/parsers/ifconfig.md |   2 +-
 jc/parsers/ifconfig.py   |   1 +
 man/jc.1.gz              | Bin 2041 -> 2041 bytes
 3 files changed, 2 insertions(+), 1 deletion(-)
e28c08b1361161cfd123b9ebc11fa1ffa87d658f update documentation
 docs/parsers/csv.md       |  36 ++++--------
 docs/parsers/date.md      |  63 ++++++++------------
 docs/parsers/df.md        |  54 +++++++----------
 docs/parsers/dig.md       | 128 ++++++++++++++++++-----------------------
 docs/parsers/dir.md       |  44 +++++---------
 docs/parsers/dmidecode.md |  50 ++++++----------
 docs/parsers/dpkg_l.md    |  46 ++++++---------
 docs/parsers/du.md        |  34 ++++-------
 docs/parsers/env.md       |  34 ++++-------
 docs/parsers/file.md      |  34 ++++-------
 docs/parsers/finger.md    |  52 ++++++-----------
 docs/parsers/free.md      |  44 +++++---------
 docs/parsers/fstab.md     |  42 +++++---------
 docs/parsers/group.md     |  42 +++++---------
 docs/parsers/gshadow.md   |  46 ++++++---------
 docs/parsers/hash.md      |  34 ++++-------
 docs/parsers/hashsum.md   |  34 ++++-------
 docs/parsers/hciconfig.md | 118 +++++++++++++++++---------------------
 docs/parsers/history.md   |  34 ++++-------
 docs/parsers/hosts.md     |  38 ++++--------
 docs/parsers/id.md        |  74 ++++++++++--------------
 docs/parsers/ifconfig.md  |  86 ++++++++++++----------------
 jc/parsers/csv.py         |  27 +++++----
 jc/parsers/date.py        |  54 +++++++++--------
 jc/parsers/df.py          |  45 ++++++++-------
 jc/parsers/dig.py         | 143 +++++++++++++++++++++++-----------------------
 jc/parsers/dir.py         |  35 ++++++------
 jc/parsers/dmidecode.py   |  41 +++++++------
 jc/parsers/dpkg_l.py      |  37 ++++++------
 jc/parsers/du.py          |  25 ++++----
 jc/parsers/env.py         |  25 ++++----
 jc/parsers/file.py        |  25 ++++----
 jc/parsers/finger.py      |  43 +++++++-------
 jc/parsers/foo.py         |  25 ++++----
 jc/parsers/free.py        |  35 ++++++------
 jc/parsers/fstab.py       |  33 ++++++-----
 jc/parsers/group.py       |  33 ++++++-----
 jc/parsers/gshadow.py     |  37 ++++++------
 jc/parsers/hash.py        |  25 ++++----
 jc/parsers/hashsum.py     |  25 ++++----
 jc/parsers/hciconfig.py   | 109 ++++++++++++++++++-----------------
 jc/parsers/history.py     |  25 ++++----
 jc/parsers/hosts.py       |  29 +++++-----
 jc/parsers/id.py          |  65 +++++++++++----------
 jc/parsers/ifconfig.py    |  77 +++++++++++++------------
 man/jc.1.gz               | Bin 2041 -> 2041 bytes
 46 files changed, 976 insertions(+), 1209 deletions(-)
a4b6846f63b43168085275d73940265940badf46 man update
 man/jc.1    | 467 ------------------------------------------------------------
 man/jc.1.gz | Bin 2002 -> 2041 bytes
 2 files changed, 467 deletions(-)
2bc830786114fd57619f34b936dcf6e0bed7a109 Merge branch 'master' into dev
9b39917c798ed0310c9b82d87172cbf6d24ba111 update docstrings for new help functionality
 README.md                  |  2 +-
 docs/parsers/acpi.md       | 94 ++++++++++++++++++++--------------------------
 docs/parsers/airport.md    | 56 +++++++++++----------------
 docs/parsers/blkid.md      | 88 ++++++++++++++++++-------------------------
 docs/parsers/cksum.md      | 36 ++++++------------
 docs/parsers/crontab.md    | 79 ++++++++++++++++----------------------
 docs/parsers/crontab_u.md  | 83 ++++++++++++++++------------------------
 jc/cli.py                  |  6 +--
 jc/parsers/acpi.py         | 85 +++++++++++++++++++++--------------------
 jc/parsers/airport.py      | 47 ++++++++++++-----------
 jc/parsers/blkid.py        | 79 +++++++++++++++++++-------------------
 jc/parsers/cksum.py        | 27 +++++++------
 jc/parsers/crontab.py      | 70 +++++++++++++++++-----------------
 jc/parsers/crontab_u.py    | 74 ++++++++++++++++++------------------
 man/jc.1                   |  8 +++-
 templates/manpage_template |  8 +++-
 templates/readme_template  |  2 +-
 17 files changed, 391 insertions(+), 453 deletions(-)
57c13cc0a38ad89fda8b0e362bd6487257d0a26a add support for parser help
 jc/cli.py | 26 +++++++++++++++++++++++---
 1 file changed, 23 insertions(+), 3 deletions(-)
b7355fd30d992a1bcc90227f5a1b02be073829e7 new docstring format for improved documentation
 docs/parsers/arp.md | 46 ++++++++++++++++------------------------------
 jc/parsers/arp.py   | 39 +++++++++++++++++++++------------------
 2 files changed, 37 insertions(+), 48 deletions(-)
93ae309e407b26820b9f05b5b331d05fc77df57f bump version to 1.15.1
 jc/__init__.py | 2 +-
 man/jc.1       | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
5d8f8365e24a7c3a587d4e71ebba4876de08203b gzip man page
 man/jc.1    | 461 ------------------------------------------------------------
 man/jc.1.gz | Bin 0 -> 2002 bytes
 mangen.py   |   9 ++
 3 files changed, 9 insertions(+), 461 deletions(-)
f26909eefb236e9ebf63be53cd86ae13cc3d9ea3 formatting
 docs/parsers/dir.md | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
55bfbb2797ede3aefbb14ecab950b108b1895ccc formatting
 EXAMPLES.md       | 3 +--
 jc/parsers/dir.py | 8 ++++----
 2 files changed, 5 insertions(+), 6 deletions(-)
8970b8342a855203aef649b60dad3e49a1d7fd2a Merge pull request #115 from kellyjonbrazil/master
5285e699c30fdeaf56068f5a03ef1d1d33fa673c fix rpm-qi parser name
 README.md | 2 +-
 jc/cli.py | 2 +-
 man/jc.1  | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
275f3860d5870303235b651d42650256e4db8ada Merge pull request #114 from kellyjonbrazil/dev
a73fdb7478965f0f2c841ac01b2762db80ad0786 update dates
 CHANGELOG | 2 +-
 man/jc.1  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
f2d746403a0ed764f931ae9e14d180bab107dcca typo fix
 docs/parsers/rpm_qi.md | 2 +-
 jc/parsers/rpm_qi.py   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
b7dbf2c49be4beb793495a0aaee7f05dbea5a3a6 doc formatting
 jc/utils.py | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)
21f3c97788826e79b0c387f877c5adf269318e97 rename rpm_qai to rpm_qi
 EXAMPLES.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
14b727cc717d04fefba1cc31b6f29b549ced986f add rpm_qi tests
 tests/fixtures/centos-7.7/rpm-qi-package.json |  1 +
 tests/fixtures/centos-7.7/rpm-qi-package.out  | 26 +++++++++++++++
 tests/test_rpm_qai.py                         | 46 +++++++++++++++++++++++++++
 3 files changed, 73 insertions(+)
abee226591ed4ae37351efc995017d28b27827d9 rename rpm_qia to rpm_qi
 README.md                            |   2 +-
 docs/parsers/rpm_qi.md               | 191 +++++++++++++++++++++++++++++++++++
 jc/cli.py                            |   2 +-
 jc/parsers/{rpm_qai.py => rpm_qi.py} |  20 ++--
 man/jc.1                             |   4 +-
 5 files changed, 205 insertions(+), 14 deletions(-)
293ad39f4bcf326186dd917d8bc58d3964e5e4d6 typo fix
 README.md                 | 2 +-
 templates/readme_template | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
92443025811019f616f596abb60a2889f604c122 rpm parser doc update
 CHANGELOG               | 1 +
 EXAMPLES.md             | 4 ++--
 docs/parsers/rpm_qai.md | 4 ++--
 jc/parsers/rpm_qai.py   | 4 ++--
 4 files changed, 7 insertions(+), 6 deletions(-)
753cac25fb1e7e6cd2c742afa8d45ced068ea91d only add description if it exists
 jc/parsers/rpm_qai.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
0548263e898bf14f93d2fa423c0f0a9d9f2ff567 add rpm -qai parser
 EXAMPLES.md                            |   53 +
 README.md                              |    1 +
 docs/parsers/rpm_qai.md                |  191 +
 jc/cli.py                              |    1 +
 jc/parsers/rpm_qai.py                  |  255 +
 man/jc.1                               |    5 +
 tests/fixtures/centos-7.7/rpm-qai.json |    1 +
 tests/fixtures/centos-7.7/rpm-qai.out  | 9961 ++++++++++++++++++++++++++++++++
 8 files changed, 10468 insertions(+)
53776a9bf894988d6ef9221a62ab8b816c89560c note -a output is JSON
 man/jc.1                   | 2 +-
 templates/manpage_template | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
cc7def9b76a7fa6de1e11b584676820f3acb0257 add OSX finger tests
 tests/fixtures/osx-10.14.6/finger.json |  1 +
 tests/fixtures/osx-10.14.6/finger.out  |  5 +++++
 tests/test_finger.py                   | 12 ++++++++++++
 3 files changed, 18 insertions(+)
11a4422c25ed905f33475677bcc2f59f49c62a23 add centos 7.7 finger tests
 tests/fixtures/centos-7.7/finger.json |  1 +
 tests/fixtures/centos-7.7/finger.out  |  3 +++
 tests/test_finger.py                  | 47 +++++++++++++++++++++++++++++++++++
 3 files changed, 51 insertions(+)
3a44785260514227b541530baf3e14b6c7ebe86a del details key if details are blank
 jc/parsers/finger.py | 4 ++++
 1 file changed, 4 insertions(+)
e0d430c26c38db8de5a32741e05df412cffe45b7 update -r raw option info
 README.md                 | 2 +-
 templates/readme_template | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
417b70020accfa4910016e9d3d12690a5488f6f5 add idle time fields to finger parser
 EXAMPLES.md                             | 18 +++++++--
 docs/parsers/finger.md                  | 53 +++++++++++++++++++-----
 jc/parsers/finger.py                    | 71 ++++++++++++++++++++++++++++-----
 tests/fixtures/ubuntu-18.04/finger.json |  1 +
 tests/fixtures/ubuntu-18.04/finger.out  |  8 ++++
 5 files changed, 129 insertions(+), 22 deletions(-)
7b29c464b72ef9a79bd872dab92cf65016490bcc date updated
 man/jc.1 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
26d5529d86e4e459ad94226465c3697a050af0ac remove aix support, add note for -s support. schema update
 docs/parsers/finger.md | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)
852103c478321b84ffbbc0a876d5ece0c0881e1f tweak regex to support arbitrary 'detail' data
 jc/parsers/finger.py | 41 +++++++++++++++++++++++++++--------------
 1 file changed, 27 insertions(+), 14 deletions(-)
26a115421b0888e23f4348f1124e2ef7b39df4cc add finger parser
 CHANGELOG | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)
755b941a9aa602d95d9bc599f5c64e05f9e6216d doc update
 EXAMPLES.md            | 23 +++++++++++++++++++++++
 docs/parsers/finger.md | 21 ++++++---------------
 jc/parsers/finger.py   | 21 ++++++---------------
 3 files changed, 35 insertions(+), 30 deletions(-)
fd1ca82d86649adeb84968142665e5e4fae3fa0f add finger parser
 README.md              |   1 +
 docs/parsers/finger.md | 102 ++++++++++++++++++++++++++++++++
 jc/cli.py              |   1 +
 jc/parsers/finger.py   | 154 +++++++++++++++++++++++++++++++++++++++++++++++++
 man/jc.1               |   5 ++
 5 files changed, 263 insertions(+)
6fe175344fc61d4996a9ea20f6c5d429efb1fac7 change examples link to github.io
 README.md                 | 2 +-
 templates/readme_template | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
3590cda13a68616ee7eb8c85c5554ffb3fef036d docs formatting
 docs/parsers/last.md | 2 +-
 jc/parsers/last.py   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
2f1011dd85ec9b3550138ac4a4e1729fa5b4fe17 readme update
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2b155261b3f6e4879b592f5bc052649ded5e3d69 use new github.io links for documentation
 templates/readme_template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
02f4d606d0a446c7cc74aedac6035ee79805950d add documentation links to README.md
 README.md                 | 136 +++++++++++++++++++++++-----------------------
 templates/readme_template |   2 +-
 2 files changed, 69 insertions(+), 69 deletions(-)
577811f00b7fcd0396bb0e26a2985709bd2c65a0 Set theme jekyll-theme-cayman
 docs/_config.yml | 1 +
 1 file changed, 1 insertion(+)
b4098d67a3a4a617d42c1389e0a88833c77b89b4 latest
 man/jc.1 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
88bd7554aeb511c19e55dc3dde9c9376efb0485b add status messages
 docgen.sh     | 2 ++
 updatedocs.sh | 9 ++++++---
 2 files changed, 8 insertions(+), 3 deletions(-)
b5ec16c5cafb78db093861cc30d9646207f2227a formatting
 mangen.py    | 4 ----
 readmegen.py | 4 ----
 2 files changed, 8 deletions(-)
68fcb60a1460a35500180ec05a8cf5ba5706ff17 add updatedocs script
 updatedocs.sh | 6 ++++++
 1 file changed, 6 insertions(+)
e4781d60ce251f6d47f19bbe042e97f8aa9e2f18 update parser descriptions with backticks surrounding command names
 README.md                   | 124 +++++++++++++++++++++----------------------
 jc/parsers/acpi.py          |   2 +-
 jc/parsers/airport.py       |   2 +-
 jc/parsers/airport_s.py     |   2 +-
 jc/parsers/arp.py           |   2 +-
 jc/parsers/blkid.py         |   2 +-
 jc/parsers/cksum.py         |   3 +-
 jc/parsers/crontab.py       |   2 +-
 jc/parsers/crontab_u.py     |   2 +-
 jc/parsers/date.py          |   2 +-
 jc/parsers/df.py            |   2 +-
 jc/parsers/dig.py           |   2 +-
 jc/parsers/dir.py           |   2 +-
 jc/parsers/dmidecode.py     |   2 +-
 jc/parsers/dpkg_l.py        |   2 +-
 jc/parsers/du.py            |   2 +-
 jc/parsers/env.py           |   2 +-
 jc/parsers/file.py          |   2 +-
 jc/parsers/foo.py           |   2 +-
 jc/parsers/free.py          |   2 +-
 jc/parsers/fstab.py         |   2 +-
 jc/parsers/group.py         |   2 +-
 jc/parsers/gshadow.py       |   2 +-
 jc/parsers/hash.py          |   2 +-
 jc/parsers/hashsum.py       |   2 +-
 jc/parsers/hciconfig.py     |   2 +-
 jc/parsers/history.py       |   2 +-
 jc/parsers/hosts.py         |   2 +-
 jc/parsers/id.py            |   2 +-
 jc/parsers/ifconfig.py      |   2 +-
 jc/parsers/iptables.py      |   2 +-
 jc/parsers/jobs.py          |   2 +-
 jc/parsers/last.py          |   2 +-
 jc/parsers/ls.py            |   2 +-
 jc/parsers/lsblk.py         |   2 +-
 jc/parsers/lsmod.py         |   2 +-
 jc/parsers/lsof.py          |   2 +-
 jc/parsers/mount.py         |   2 +-
 jc/parsers/netstat.py       |   2 +-
 jc/parsers/ntpq.py          |   2 +-
 jc/parsers/passwd.py        |   2 +-
 jc/parsers/ping.py          |   2 +-
 jc/parsers/pip_list.py      |   2 +-
 jc/parsers/pip_show.py      |   2 +-
 jc/parsers/ps.py            |   2 +-
 jc/parsers/route.py         |   2 +-
 jc/parsers/shadow.py        |   2 +-
 jc/parsers/ss.py            |   2 +-
 jc/parsers/stat.py          |   2 +-
 jc/parsers/sysctl.py        |   2 +-
 jc/parsers/systemctl.py     |   2 +-
 jc/parsers/systemctl_lj.py  |   2 +-
 jc/parsers/systemctl_ls.py  |   2 +-
 jc/parsers/systemctl_luf.py |   2 +-
 jc/parsers/time.py          |   2 +-
 jc/parsers/timedatectl.py   |   2 +-
 jc/parsers/tracepath.py     |   2 +-
 jc/parsers/traceroute.py    |   2 +-
 jc/parsers/uname.py         |   2 +-
 jc/parsers/upower.py        |   2 +-
 jc/parsers/uptime.py        |   2 +-
 jc/parsers/w.py             |   2 +-
 jc/parsers/wc.py            |   2 +-
 jc/parsers/who.py           |   2 +-
 man/jc.1                    | 126 ++++++++++++++++++++++----------------------
 65 files changed, 188 insertions(+), 189 deletions(-)
6201fb346a66ba762651624cdaf03f08e08579a1 test backticks in description
 README.md             | 2 +-
 jc/parsers/iw_scan.py | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
f88c8343f9dec5e0190df94a5109e6c749bda286 update iw-scan description for documentation
 README.md             | 2 +-
 jc/parsers/iw_scan.py | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
25410d33168ee7142bd8f8c739ef22a62a47eb6c create readmegen.py script. move jinja2 templates to templates folder
 README.md                                    | 139 ++---
 mangen.py                                    |   2 +-
 readmegen.py                                 |  16 +
 {man/template => templates}/manpage_template |   0
 templates/readme_template                    | 886 +++++++++++++++++++++++++++
 5 files changed, 973 insertions(+), 70 deletions(-)
4ff9952938d0654376efc94ca7d8a12f6df171af change OSX to macOS
 README.md | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
5e3f63a412c5b23e7515337521ebba6273b5c11f add license and copyright info. use variables instead of hard-coded values
 man/jc.1                      | 4 ++--
 man/template/manpage_template | 8 ++++----
 2 files changed, 6 insertions(+), 6 deletions(-)
e1f57be69efdfd7facd07df6ef0955a36c4fc18b add license info
 jc/cli.py | 2 ++
 1 file changed, 2 insertions(+)
2c65d5eeccdc95d2de00ac6575a9e8d8458486bc man page updates
 man/jc.1                      | 20 ++++++++++++++++----
 man/template/manpage_template | 20 ++++++++++++++++----
 2 files changed, 32 insertions(+), 8 deletions(-)
aa621f2f1ee043611c440683dfb63e6577d8fac4 enhance man page
 CHANGELOG                     |  1 +
 man/jc.1                      | 42 +++++++++++++++++++++++++++++++++++++-----
 man/template/manpage_template | 40 ++++++++++++++++++++++++++++++++++++----
 3 files changed, 74 insertions(+), 9 deletions(-)
ac932c6e59ad80115962d0ea91e6aaabc70c211e update timestamp docs
 docs/utils.md | 2 ++
 jc/utils.py   | 2 ++
 2 files changed, 4 insertions(+)
029f79da1647e53f97ca83ba92b1f36a131f3128 added info regarding updated dev scripts for automating doc generation
 CHANGELOG | 1 +
 1 file changed, 1 insertion(+)
153b2b4a7a216caae5b03f6d50d43980c13a705f use jc to help automate the generation of its own docs
 docgen.sh | 79 +++++++++------------------------------------------------------
 1 file changed, 11 insertions(+), 68 deletions(-)
709b2fe4eead06090f903718deeb06ec774fc26e add -h and -v options
 man/jc.1                      | 8 ++++++++
 man/template/manpage_template | 8 ++++++++
 2 files changed, 16 insertions(+)
09c1fccc584e3d0582e19b520586419085ea8d04 manpage updates
 man/jc.1                      | 2 +-
 man/template/manpage_template | 2 +-
 mangen.py                     | 6 ++----
 3 files changed, 4 insertions(+), 6 deletions(-)
fd254d99b782888fe7646e42a61f28aa99e7cba7 add manpage generator
 man/jc.1                      | 124 +++++++++++++++++++++++++++++++++++++-----
 man/template/manpage_template |  64 ++++++++++++++++++++++
 mangen.py                     |  20 +++++++
 3 files changed, 193 insertions(+), 15 deletions(-)
88bd2c172217c498431e8904e74313bc27978785 fix typo
 CONTRIBUTING.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
d03e2f0fc1d0310cd94702f4d3c959d71b0eb622 add parser schema guidelines
 CONTRIBUTING.md | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)
3f12a393bd37062cd1412128be495235b0c7351f formatting
 CONTRIBUTING.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
8c21284c5038bdc2e52ff4211fac747f33f52091 remove redundant license info
 CONTRIBUTING.md | 3 ---
 1 file changed, 3 deletions(-)
e7d396c2157a77500017967dfc68ffaf32507c2c update issues link
 CONTRIBUTING.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
f238fac0eb0c8e5133c6c9abf9ca709f5df7a925 add contributing guidelines
 CHANGELOG       |  1 +
 CONTRIBUTING.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 README.md       |  2 ++
 3 files changed, 49 insertions(+)
017228f80d9a65ad7715f31c539d9fca1615296f add tested on Windows 10
 README.md | 1 +
 1 file changed, 1 insertion(+)
286c5fa9434e25434ee8f4825621f68464296469 add dir parser
 CHANGELOG | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
74cfc13abe4cd09ca5470714caeaedd24c099770 fixup dir parser tests
 tests/fixtures/windows-10/dir-C.json     |  2 +-
 tests/fixtures/windows-10/dir-ODTC.json  |  2 +-
 tests/fixtures/windows-10/dir-S.json     |  2 +-
 tests/fixtures/windows-10/dir-dirs.json  |  2 +-
 tests/fixtures/windows-10/dir-files.json |  2 +-
 tests/fixtures/windows-10/dir-mix.json   |  2 +-
 tests/fixtures/windows-10/dir-raw.json   |  1 -
 tests/fixtures/windows-10/dir.json       |  2 +-
 tests/test_dir.py                        | 18 +++++-------------
 9 files changed, 12 insertions(+), 21 deletions(-)
0ee4a6c377321cf6ff67ced38e9a07a8f6313943 update schema and add epoch naive timestamp
 docs/parsers/dir.md | 316 ++++++++++++++--------------------------------
 jc/parsers/dir.py   | 351 +++++++++++++++++-----------------------------------
 2 files changed, 207 insertions(+), 460 deletions(-)
283433578dfc3f132ef35727ce5bafb3e390896c add dir parser
 EXAMPLES.md | 45 +++++++++++++++++++++++++++++++++++++++++++++
 README.md   |  1 +
 2 files changed, 46 insertions(+)
9559c85057308e8815d4654bbe0062a5858c0b2b add windows dir format
 jc/utils.py         | 1 +
 tests/test_utils.py | 2 ++
 2 files changed, 3 insertions(+)
c5c020f5654038dacba542be3784a35d7333cbcc add /S option
 docs/parsers/dir.md | 1 +
 1 file changed, 1 insertion(+)
95ec79bceb3d0c4245e36b7b16cfda6e16b01197 Merge pull request #107 from rasheed-rd/add-dir-parser
8f8be8aa33f0b708ebd9a35c6b288572443d7181 add -1 option info
 docs/parsers/ls.md | 4 ++--
 jc/parsers/ls.py   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
5b60c7445a3f8bd2ae1587aa0ffaeaf093966f9a Add support for /S and update documentation
 docs/parsers/dir.md                  | 404 +++++++++++++++++-----------------
 jc/parsers/dir.py                    | 405 ++++++++++++++++++-----------------
 tests/fixtures/windows-10/dir-S.json |   1 +
 tests/fixtures/windows-10/dir-S.out  |  47 ++++
 tests/test_dir.py                    |  12 ++
 5 files changed, 469 insertions(+), 400 deletions(-)
d9dbcc8b526c8de9c6d12ac580880fd606dc68cf Add parent dir to structure. Add test cases. Remove support for /Q
 docs/parsers/dir.md                      | 24 ++++++-------
 jc/parsers/dir.py                        | 59 +++++++++++++++++---------------
 tests/fixtures/windows-10/dir-C.json     |  2 +-
 tests/fixtures/windows-10/dir-ODTC.json  |  2 +-
 tests/fixtures/windows-10/dir-Q.json     |  1 -
 tests/fixtures/windows-10/dir-Q.out      | 21 ------------
 tests/fixtures/windows-10/dir-dirs.json  |  1 +
 tests/fixtures/windows-10/dir-dirs.out   | 19 ++++++++++
 tests/fixtures/windows-10/dir-files.json |  1 +
 tests/fixtures/windows-10/dir-files.out  | 16 +++++++++
 tests/fixtures/windows-10/dir-mix.json   |  1 +
 tests/fixtures/windows-10/dir-mix.out    | 22 ++++++++++++
 tests/fixtures/windows-10/dir-raw.json   |  1 +
 tests/fixtures/windows-10/dir.json       |  2 +-
 tests/test_dir.py                        | 50 ++++++++++++++++++++++-----
 15 files changed, 149 insertions(+), 73 deletions(-)
79bc525970b38dea68b4859ac5dd32fc681e5994 add codes field to schema
 docs/parsers/dpkg_l.md | 1 +
 jc/parsers/dpkg_l.py   | 1 +
 2 files changed, 2 insertions(+)
9dae1091ddc6141694ebfdc5ae649582cb879ccd typo fix
 docs/parsers/dpkg_l.md | 6 +++---
 jc/parsers/dpkg_l.py   | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)
74d3ac686a69518c1048260e37a0245ff254ff57 add dpkg-l tests
 tests/fixtures/ubuntu-18.04/dpkg-l-codes.json      |  1 +
 tests/fixtures/ubuntu-18.04/dpkg-l-columns500.json |  1 +
 tests/fixtures/ubuntu-18.04/dpkg-l.json            |  1 +
 tests/test_dpkg_l.py                               | 58 ++++++++++++++++++++++
 4 files changed, 61 insertions(+)
cf3cc636badcf4ae6db1e5ee5e57ca0331ee5b0f add dpkg-l parser info
 README.md | 1 +
 1 file changed, 1 insertion(+)
a720441e1d34771c5a54876cb7dd63fb8c9f408e add dpkg -l example
 EXAMPLES.md | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)
0a7ed0959df07e2f36d9ec3ca8c294cfdaf10396 rename err to error
 docs/parsers/dpkg_l.md | 4 ++--
 jc/parsers/dpkg_l.py   | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)
eb83c9b86dc6d1ff15efed30993071834b65a7d1 replace parse_datetime_to_timestamp with timestamp class
 docs/utils.md | 29 ++++++++---------------------
 1 file changed, 8 insertions(+), 21 deletions(-)
5c0142dd19eee14f4f1c287f0543e29824f9ae70 add dpkg-l parser
 CHANGELOG                                         |   1 +
 docgen.sh                                         |   1 +
 docs/parsers/dpkg_l.md                            | 170 ++++++
 jc/cli.py                                         |   1 +
 jc/parsers/dpkg_l.py                              | 247 ++++++++
 jc/parsers/universal.py                           |   4 +-
 tests/fixtures/ubuntu-18.04/dpkg-l-codes.out      |  21 +
 tests/fixtures/ubuntu-18.04/dpkg-l-columns500.out | 677 ++++++++++++++++++++++
 tests/fixtures/ubuntu-18.04/dpkg-l.out            | 677 ++++++++++++++++++++++
 9 files changed, 1797 insertions(+), 2 deletions(-)
c326c8dc8356b55bba13864156adf30607205ece add TypeError to except block. add /usr/bin/time tests
 jc/parsers/time.py                            |   2 +-
 tests/fixtures/osx-10.14.6/time-l.json        |   1 +
 tests/fixtures/osx-10.14.6/time-l.out         |  15 ++++
 tests/fixtures/osx-10.14.6/time-lp.json       |   1 +
 tests/fixtures/osx-10.14.6/time-lp.out        |  17 ++++
 tests/fixtures/osx-10.14.6/time-p.json        |   1 +
 tests/fixtures/osx-10.14.6/time-p.out         |   3 +
 tests/fixtures/osx-10.14.6/time.json          |   1 +
 tests/fixtures/osx-10.14.6/time.out           |   1 +
 tests/fixtures/ubuntu-18.04/time-p.json       |   1 +
 tests/fixtures/ubuntu-18.04/time-p.out        |   3 +
 tests/fixtures/ubuntu-18.04/time-verbose.json |   1 +
 tests/fixtures/ubuntu-18.04/time-verbose.out  |  23 +++++
 tests/fixtures/ubuntu-18.04/time.json         |   1 +
 tests/fixtures/ubuntu-18.04/time.out          |   3 +
 tests/fixtures/ubuntu-18.04/time2.json        |   1 +
 tests/fixtures/ubuntu-18.04/time2.out         |   2 +
 tests/test_time.py                            | 118 ++++++++++++++++++++++++++
 18 files changed, 194 insertions(+), 1 deletion(-)
fc4082a03feb5645a1ad687908782a2584a58956 remove old parse_datetime_to_timestamp function
 jc/utils.py | 131 ------------------------------------------------------------
 1 file changed, 131 deletions(-)
c8655565ff8718f0f14d41696b81e6539529dde1 use new timestamp class
 jc/parsers/ls.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
638f879f16c9e87edb60953f4fd0b1c7ad92f277 use new timestamp class
 jc/parsers/dig.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
1d221bf7e6128d57bd769c0fe8f37f7a94da8cd2 use new timestamp class
 jc/parsers/who.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
60ea71f0ef931dccf09e6eb0cb737ddad0b47f0c use new timestamp class
 jc/parsers/timedatectl.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
d8bdd35a3f462efcdc871426309299e8aefb0a79 use new timestamp class
 jc/parsers/stat.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
7463891c53f3670710dfa72ed1422431c274fe4a use new timestamp class
 jc/parsers/last.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
7537aec76fa07384c4439f34c50d4e3f001c0dfa use jc.utils.timestamp instead of jc.utils.parse_datetime_to_timestamp()
 jc/parsers/date.py | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)
62234e39a8533362a20f106c64326ed69f430006 use jc.utils.timestamp instead of jc.utils.parse_datetime_to_timestamp()
 jc/parsers/upower.py | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)
be004b7b3fe9217160c6418907e7d8aad10e5fae make parse_datetime_to_timestamp function a class called timestamp for easier use
 jc/utils.py         | 155 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 tests/test_utils.py |  32 ++++++-----
 2 files changed, 172 insertions(+), 15 deletions(-)
82539444b24169b2eb762485ed032fc968a81f71 fix indentation for int and float conversions. add real_time field to schema
 docs/parsers/time.md |  1 +
 jc/parsers/time.py   | 43 ++++++++++++++++++++++---------------------
 2 files changed, 23 insertions(+), 21 deletions(-)
a571d3cbafd5048d1d59070e1791398ae410197f fix typo
 docs/parsers/time.md | 2 +-
 jc/parsers/time.py   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
a038c14c23ea27264df61a38e0301de8d1fa1b9a change microseconds to centiseconds
 EXAMPLES.md          |  2 +-
 docs/parsers/time.md |  4 ++--
 jc/parsers/time.py   | 10 +++++-----
 3 files changed, 8 insertions(+), 8 deletions(-)
25a85d874cd2b57a7700b0c2dca61132127732b1 update docs
 jc/parsers/iw_scan.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
884c36ff42df4f580c8e2b4705def8e4c1182e39 add /usr/bin/time parser
 CHANGELOG               |   1 +
 EXAMPLES.md             |  36 ++++++
 README.md               |   1 +
 docgen.sh               |   1 +
 docs/parsers/iw_scan.md |   2 +-
 docs/parsers/time.md    | 163 ++++++++++++++++++++++++
 jc/cli.py               |   1 +
 jc/parsers/time.py      | 332 ++++++++++++++++++++++++++++++++++++++++++++++++
 8 files changed, 536 insertions(+), 1 deletion(-)
b98e72b8b4eda0ab5ede7725226e61634af572eb add ls parser info
 CHANGELOG | 1 +
 1 file changed, 1 insertion(+)
05885c0096b5ee142ecff2d17e37c446518998a0 add epoch and epoch_utc timestamps
 docs/parsers/ls.md                        |  22 +-
 jc/parsers/ls.py                          |  31 +-
 tests/fixtures/ubuntu-18.04/ls-l-iso.json |   1 +
 tests/fixtures/ubuntu-18.04/ls-l-iso.out  | 883 ++++++++++++++++++++++++++++++
 tests/test_ls.py                          |  12 +
 5 files changed, 931 insertions(+), 18 deletions(-)
4c9761231af897658c3a2c0abcc476aa8b43d1b3 add when_epoch and when_epoch_utc fields
 CHANGELOG                                     |  1 +
 EXAMPLES.md                                   | 46 ++++++++++++----------
 README.md                                     | 14 ++++---
 docs/parsers/dig.md                           | 50 +++++++++++++++---------
 jc/parsers/dig.py                             | 56 +++++++++++++++++----------
 tests/fixtures/centos-7.7/dig-aaaa.json       |  2 +-
 tests/fixtures/centos-7.7/dig-axfr.json       |  2 +-
 tests/fixtures/centos-7.7/dig-x.json          |  2 +-
 tests/fixtures/centos-7.7/dig.json            |  2 +-
 tests/fixtures/generic/dig-answer-spaces.json |  2 +-
 tests/fixtures/osx-10.11.6/dig-aaaa.json      |  2 +-
 tests/fixtures/osx-10.11.6/dig-x.json         |  2 +-
 tests/fixtures/osx-10.11.6/dig.json           |  2 +-
 tests/fixtures/osx-10.14.6/dig-aaaa.json      |  2 +-
 tests/fixtures/osx-10.14.6/dig-axfr.json      |  2 +-
 tests/fixtures/osx-10.14.6/dig-x.json         |  2 +-
 tests/fixtures/osx-10.14.6/dig.json           |  2 +-
 tests/fixtures/ubuntu-18.04/dig-aaaa.json     |  2 +-
 tests/fixtures/ubuntu-18.04/dig-axfr.json     |  2 +-
 tests/fixtures/ubuntu-18.04/dig-x.json        |  2 +-
 tests/fixtures/ubuntu-18.04/dig.json          |  2 +-
 21 files changed, 118 insertions(+), 81 deletions(-)
656eaa150861948091ef9d6323805c2698039bc6 formatting
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
1560dcddcf82f55fffce22d1b46d372b25a9d0fd add acpi, upower parsers and -v version option
 README.md | 3 +++
 1 file changed, 3 insertions(+)
08d4cd4870c7acaf3a453d1400b64d77d462437b add time calculations to acpi parser
 EXAMPLES.md                         | 34 ++++++++++++++++++-
 docs/parsers/acpi.md                | 50 +++++++++++++++++-----------
 jc/parsers/acpi.py                  | 65 ++++++++++++++++++++++++++-----------
 tests/fixtures/generic/acpi-V.json  |  2 +-
 tests/fixtures/generic/acpi-V2.json |  2 +-
 tests/fixtures/generic/acpi-V3.json |  2 +-
 tests/fixtures/generic/acpi-V4.json |  2 +-
 7 files changed, 114 insertions(+), 43 deletions(-)
9767a50cededb140575e195abf79ce49c4f53789 update who parser to add epoch naive timestamp
 CHANGELOG                              |  1 +
 EXAMPLES.md                            | 37 ++++++++--------------------------
 docs/parsers/who.md                    | 18 ++++++++++++-----
 jc/parsers/who.py                      | 23 +++++++++++++++------
 jc/utils.py                            |  1 +
 tests/fixtures/centos-7.7/who-a.json   |  2 +-
 tests/fixtures/centos-7.7/who.json     |  2 +-
 tests/fixtures/osx-10.14.6/who-a.json  |  2 +-
 tests/fixtures/osx-10.14.6/who.json    |  2 +-
 tests/fixtures/ubuntu-18.04/who-a.json |  2 +-
 tests/fixtures/ubuntu-18.04/who.json   |  2 +-
 tests/test_utils.py                    |  2 ++
 12 files changed, 48 insertions(+), 46 deletions(-)
cd86890ed1493644e391e52e33561e9a77631a51 add website to info and use variables for version info
 jc/cli.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
ba0dd3b9ca98a042c772898302fcfe5fdc84f79a add parse_timedate_to_timestamp test for format 7300
 tests/test_utils.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
8d7fa07ffd50f38336a448eb506a76d9d4849a6a unformat json
 tests/fixtures/centos-7.7/timedatectl.json | 12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)
cade1bfe6e56b5926898b7204e911885efebd5a7 update timedatectl tests for new epoch_utc field
 tests/fixtures/centos-7.7/timedatectl.json   | 12 +++++++++++-
 tests/fixtures/ubuntu-18.04/timedatectl.json |  2 +-
 2 files changed, 12 insertions(+), 2 deletions(-)
daec4ab0a7f572e872b27b043d51f68e5e06300f add epoch_utc field to timedatectl parser
 CHANGELOG                   |  3 +++
 EXAMPLES.md                 |  3 ++-
 docs/parsers/timedatectl.md |  6 +++++-
 jc/parsers/timedatectl.py   | 11 +++++++++--
 jc/utils.py                 |  1 +
 5 files changed, 20 insertions(+), 4 deletions(-)
3c96bc319615c824a06c388e9e3c1d68a9bf4084 version bump
 jc/parsers/stat.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
7f7d8d4bd6f37015b11bac60a7bd99e8d3eca108 update stat docs
 docs/parsers/stat.md | 4 ++++
 jc/parsers/stat.py   | 4 ++++
 2 files changed, 8 insertions(+)
47263661a41987f334fd484e866e0aa8859cde5d update stat example
 EXAMPLES.md | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)
4c42a086d206919dfe4f1c0801fe4fb1027cb1cd clean up debug code
 jc/utils.py | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)
5d2541a5c4bc93f3943a491c76df7f8d4e2cf44b remove auto c locale and use a manual format rule for windows and linux compatibility
 jc/utils.py | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
d91d170b49bfc88c0b2fb54475705c038172f1c8 try manual c locale format for windows
 jc/utils.py | 2 ++
 1 file changed, 2 insertions(+)
6d1f4584a9ccd0f0f7ed4fdf408576a9e7f5046b try manually setting time format for windows compatibility
 jc/utils.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
1d76d96bcf4185cffb7066bec637913099399db5 debug windows issue
 jc/utils.py | 4 ++++
 1 file changed, 4 insertions(+)
e8847c998c91131acf5ee0f6485e9976c0fce3ae update stat tests
 tests/fixtures/centos-7.7/stat.json   | 2 +-
 tests/fixtures/freebsd12/stat.json    | 2 +-
 tests/fixtures/osx-10.14.6/stat.json  | 2 +-
 tests/fixtures/ubuntu-18.04/stat.json | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)
da88e49bae2f3fecff623f52c20bf994b653583e add new examples
 docs/parsers/stat.md | 76 ++++++++++++++++++++++++++++++++++------------------
 jc/parsers/stat.py   | 22 ++++++++++++---
 2 files changed, 69 insertions(+), 29 deletions(-)
65c3a12e5422782df40489c3c431677f5657dbf5 simplify None data scenario
 jc/parsers/stat.py | 58 ++++++++++++++++++++++++++++++++----------------------
 jc/utils.py        |  1 +
 2 files changed, 35 insertions(+), 24 deletions(-)
d8d600cc36bde4e6216b935f87a765599e896714 add reference to -h for help
 jc/cli.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
507999b117b024fed1ccf067bd5dc411dbeb268c add stat command timestamp detection
 docs/utils.md       | 32 ++++++++++++++++----------------
 jc/utils.py         | 13 +++++++++++--
 tests/test_utils.py |  8 +++++++-
 3 files changed, 34 insertions(+), 19 deletions(-)
8ad164eb340e135eeeb10b721172916182f37e30 fix tests for compact output
 tests/test_cli.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
a507df140b245b83b1c46e8462b44e1145c42f2a add compact json info
 CHANGELOG | 1 +
 1 file changed, 1 insertion(+)
8912a99986a977ee6ca7bbe2368f5033644577b0 make default json output more compact
 jc/cli.py | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
1953f9882890cd0e8c515d43ce28c96f918b0ab4 add version info. add json now supports unicode output
 CHANGELOG | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
7515218ddd2cdcfcebd67850140e842f2f121226 use jc.utils for all warning and error messages. simply error and warning formatting.
 jc/cli.py   |  8 ++++----
 jc/utils.py | 16 ++++++----------
 2 files changed, 10 insertions(+), 14 deletions(-)
36c11201366cefedee4244fb71a4a9cc6507e6ae formatting
 CHANGELOG | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
8fa0fe64d8418093c7f28cdc70a7f409956aeb04 add -v to helptext. minor formatting
 jc/cli.py | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
c1a8201b140c65579ff9f8427322b67653bf3006 add copyright
 EXAMPLES.md | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
398bbac48c8a716b1872843d671aa6ceaeba6a78 simplify return value for parse_datetime_to_timestamp()
 jc/utils.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
ea71a42bbdd9b09a457727cfe763054625f7901a formatting
 jc/cli.py | 2 --
 1 file changed, 2 deletions(-)
1c16d25b17a7282a62a5ebd9755df5569c57435f add version option (-v) and copyright information. add 'ensure_ascii=False' to json dumps to properly show UTF-8 copyright character
 README.md |  4 +++-
 jc/cli.py | 35 +++++++++++++++++++++++++++--------
 2 files changed, 30 insertions(+), 9 deletions(-)
9d12ded889f656656267cbf7a91d71267201f736 help description change
 jc/cli.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
5312701515ecb3a10598bb9dcf2f73b7eae71b93 add - make all external python requirements optional
 CHANGELOG | 1 +
 1 file changed, 1 insertion(+)
808c7bc0a94ecfd160ee2b257e5feec347829a5e make xmltodict library optional
 jc/parsers/xml.py | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
4d394015f458f284d052ce2c1a0c8492916c5b3e make ruamel.yaml library optional
 jc/parsers/yaml.py | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
3638298af8ebc01d54aa3ab5668d0adedca957e5 make pygments library optional
 jc/cli.py | 97 ++++++++++++++++++++++++++++++++++-----------------------------
 1 file changed, 53 insertions(+), 44 deletions(-)
5f00973e400629bd68c0ab60ed9005410278f855 remove parenthesis to normalize text for naive timezone detection
 jc/parsers/date.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
0f6e2c14fcb69f664c29083ec5207326f842dfdc simplify timestamp failure logic
 jc/parsers/upower.py | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)
51813da61994226ba40478825d47f80c23413349 add offset timezones. fix timestamp logic on conversion failure
 jc/parsers/date.py | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)
e7751322ea195cac7f1921ba8e0364c442065d20 formatting
 jc/parsers/iw_scan.py | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
26ef29843784ade3d55410be13300dd6f4c06890 change return to always include the entire object but all keys may be None if conversion fails
 jc/utils.py | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)
badaf8ce73d7deb0ec2be244e27b4bf8cddbea19 comment formatting
 jc/utils.py | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)
b123a622039f3cc32643a3bfc0766154d660f8bc move locale change formats to the end of the list
 jc/utils.py | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
cfd77e42522aa2ebeada9f45ac99bd1d3414f782 reset locale to None on exception
 jc/utils.py | 1 +
 1 file changed, 1 insertion(+)
38f814072eac5370059f1b4203316eee41cf535b better normalization of datetime string. better UTC detection. More formats supported with detected locale.
 jc/utils.py | 34 ++++++++++++++++++++++++++--------
 1 file changed, 26 insertions(+), 8 deletions(-)
a0db7754e384a0c95f2099bf894f3a22bd33c002 add nixos install info
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
f07620afc7dc0d0d605eb483ef36c5979b33cdfd move version to jc.__init__.py add -h option for help instead of always showing on error use jc.utils.error_message for the following errors: missing/incorrect arguments, parser not found, missing piped data
 README.md      |  1 +
 jc/__init__.py |  3 ++-
 jc/cli.py      | 21 +++++++++++++++------
 3 files changed, 18 insertions(+), 7 deletions(-)
c1b0d27752726989c6051f683a1194941bee598c remove old commented commands
 runtests.sh | 10 ----------
 1 file changed, 10 deletions(-)
430a5108aa265d4df0e4584eade54759da864c61 move all tests to github actions
 runtests.sh         | 16 ++++++++--------
 tests/test_last.py  | 23 +++++++++++------------
 tests/test_last2.py | 40 ----------------------------------------
 3 files changed, 19 insertions(+), 60 deletions(-)
111ce92fc9c33b82c7d1a1664dda046ea5993f6a attempt all tests in github actions with timezone correction
 tests/{localtest_date.py => test_date.py}     | 0
 tests/{localtest_last.py => test_last2.py}    | 0
 tests/{localtest_upower.py => test_upower.py} | 0
 tests/test_utils.py                           | 1 -
 4 files changed, 1 deletion(-)
c851e8a58d98b2a4907cf1e7cf7c7d8d8dc04dc6 force github action
 tests/test_utils.py | 1 +
 1 file changed, 1 insertion(+)
39f4bcd9b41450068903ea2843508586eccdf709 Change Windows timezone
 .github/workflows/pythonapp.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
4a610c4c81493788b8351e8c74aabe819c981c02 force github action
 tests/test_utils.py | 1 -
 1 file changed, 1 deletion(-)
89ee11945d4e2db107a33ef0d61e0c6015ac8ad7 Change timezone provider
 .github/workflows/pythonapp.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
dadb09b74a69d1852f8433e0e32ccdd67bd91181 force github action
 tests/test_utils.py | 1 +
 1 file changed, 1 insertion(+)
1b1f638b97dc5e6f2767183eb363b79ae3c9b3c7 Change timezone change provider
 .github/workflows/pythonapp.yml | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
794fc4ed44d1565514303090403d68ba5d639cb3 add parse_datetime_to_timestamp() tests
 jc/utils.py         | 16 ++++++++--------
 tests/test_utils.py | 28 ++++++++++++++++++++++++++++
 2 files changed, 36 insertions(+), 8 deletions(-)
72f735bf9211d7beddcf58819fe465722f5d7c5a Set Timezone to America/Los_Angeles
 .github/workflows/pythonapp.yml | 4 ++++
 1 file changed, 4 insertions(+)
912877f25ad562ed4cafe7b2d7446bd48b477ea2 additional timezone info
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2772c5ae436ea437d833003372d53a3d3f955ea0 formatting
 README.md | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
a7ad24d2cb61d84cf2846f8fa43af31f0597043e Add dir parser
 docgen.sh                               |   1 +
 docs/parsers/dir.md                     | 286 +++++++++++++++++++++++++++
 jc/cli.py                               |   1 +
 jc/parsers/dir.py                       | 332 ++++++++++++++++++++++++++++++++
 tests/fixtures/windows-10/dir-C.json    |   1 +
 tests/fixtures/windows-10/dir-C.out     |  21 ++
 tests/fixtures/windows-10/dir-ODTC.json |   1 +
 tests/fixtures/windows-10/dir-ODTC.out  |  21 ++
 tests/fixtures/windows-10/dir-Q.json    |   1 +
 tests/fixtures/windows-10/dir-Q.out     |  21 ++
 tests/fixtures/windows-10/dir.json      |   1 +
 tests/fixtures/windows-10/dir.out       |  21 ++
 tests/test_dir.py                       |  64 ++++++
 13 files changed, 772 insertions(+)
a364a6a9faeb6aa290b790f3dec74e92b8670534 add note regarding calculated timestamps
 README.md | 3 +++
 1 file changed, 3 insertions(+)
7b2dc86a8d974e7984fe2540f56a66c2b9386acd update last example with new timestamp fields
 EXAMPLES.md | 42 +++++++++++++++++++++++-------------------
 1 file changed, 23 insertions(+), 19 deletions(-)
ad645636d07d0423253f19068a22b2a28251b05f update uptime docs
 CHANGELOG              |  9 +++++----
 EXAMPLES.md            | 19 +++++++++++++------
 README.md              | 19 +++++++++++++------
 docs/parsers/uptime.md | 50 ++++++++++++++++++++++++++++++++------------------
 jc/parsers/uptime.py   | 39 +++++++++++++++++++++++----------------
 5 files changed, 86 insertions(+), 50 deletions(-)
2f2f297b29fbe3172647a81db084b3564a441d40 update uptime fixtures with new fields
 tests/fixtures/centos-7.7/uptime.json   | 2 +-
 tests/fixtures/osx-10.11.6/uptime.json  | 2 +-
 tests/fixtures/osx-10.14.6/uptime.json  | 2 +-
 tests/fixtures/ubuntu-18.04/uptime.json | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)
099ae3fde03f8157298f6b412bdddb8bd56da09a fix issue when there is no data
 jc/parsers/uptime.py | 48 ++++++++++++++++++++++++++----------------------
 1 file changed, 26 insertions(+), 22 deletions(-)
e9febe98ac5ec0e03791c5b6794446a2c3312fb1 add localtest partition lines for readability
 runtests.sh | 2 ++
 1 file changed, 2 insertions(+)
5fbd07cccf9fb697b996dcc3949eef5b1c09e655 rewrite of uptime parser including new fields
 jc/parsers/uptime.py | 85 ++++++++++++++++++++++++++++++++++++----------------
 1 file changed, 59 insertions(+), 26 deletions(-)
5fed4698c2c1f1b7e05c5b4c51639f818e049b53 update docs and version number
 docs/parsers/last.md | 4 ++--
 jc/parsers/last.py   | 7 +++----
 2 files changed, 5 insertions(+), 6 deletions(-)
ed7eb0983a4dfcc1d66a2957be3e10b2203d909e use parse_datetime_to_timestamp function instead of custom format string
 jc/parsers/last.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
90c7e18e5fc5ea9fcf6157cc2656f47193d78411 update date example
 EXAMPLES.md | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)
953ab5c3bd0c8b6eef29b717edaf1aa2380c2b93 make upower tests local only
 runtests.sh                                   | 1 +
 tests/{test_upower.py => localtest_upower.py} | 0
 2 files changed, 1 insertion(+)
699c97d8a07f7575454746159ac4d19981cd1a5c add last parser info
 CHANGELOG | 1 +
 1 file changed, 1 insertion(+)
e4ca0de92a689ce93b91d86106a5da590226855a add upower tests
 tests/fixtures/generic/upower-i-c-locale.json      |  1 +
 tests/fixtures/generic/upower-i-non-utc.json       |  1 +
 tests/fixtures/generic/upower-i-utc.json           |  1 +
 .../{upower-i-utc.out2 => upower-i-utc.out}        |  0
 tests/fixtures/ubuntu-18.04/upower-d-clocale.json  |  1 +
 tests/fixtures/ubuntu-18.04/upower-d.json          |  1 +
 tests/fixtures/ubuntu-18.04/upower-i.json          |  1 +
 tests/test_upower.py                               | 94 ++++++++++++++++++++++
 8 files changed, 100 insertions(+)
04745a36b84cc79e56bde2a0e92a4ee9ab4a1538 doc update
 CHANGELOG   | 12 +++++++-----
 jc/utils.py |  1 +
 2 files changed, 8 insertions(+), 5 deletions(-)
5936940532b8b753e67c9f5cd9287f34cc84ae9f rewrite of date parser using datetime library
 docs/parsers/date.md                             |  74 ++++---
 jc/parsers/date.py                               | 238 +++++++++--------------
 tests/fixtures/generic/date-after-midnight.json  |   2 +-
 tests/fixtures/generic/date-before-midnight.json |   2 +-
 tests/fixtures/generic/date.json                 |   2 +-
 tests/fixtures/ubuntu-20.04/date.json            |   2 +-
 tests/fixtures/ubuntu-20.04/date2.json           |   2 +-
 7 files changed, 136 insertions(+), 186 deletions(-)
b3eb064b6753d6e894884e1c16054630c2396fe1 clarify format definition comments
 jc/utils.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
e4b41057e302074ac2a81ad8c36b6f95cd6b7db2 update upower fixture names
 .../{upower-i.out => upower-i-c-locale.out}        |  0
 tests/fixtures/generic/upower-i-non-utc.out        | 24 ++++++++++++++++++++++
 .../generic/{upower-i2.out => upower-i-utc.out2}   |  0
 3 files changed, 24 insertions(+)
1d41c46cc762ab0c78b819e56db7df39f1111d5d normalize datetime string to remove all timezones except UTC
 jc/utils.py | 39 ++++++++++++++++++++++++++++++++++-----
 1 file changed, 34 insertions(+), 5 deletions(-)
a5c444587b3f0874fcc2833dc4e759c2dc1c7834 add before and after midnight date tests
 tests/fixtures/generic/date-after-midnight.json  |  1 +
 tests/fixtures/generic/date-after-midnight.out   |  1 +
 tests/fixtures/generic/date-before-midnight.json |  1 +
 tests/fixtures/generic/date-before-midnight.out  |  1 +
 tests/localtest_date.py                          | 24 ++++++++++++++++++++++++
 5 files changed, 28 insertions(+)
a56f471be980be16e73d3a91e2b12aad26c6d38c update fixture to use UTC for better testing
 tests/fixtures/generic/upower-i2.out | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
6a6b26ed8d97014c2a5c7d91a4cd9b23f49530fb fix 12 to 24 hour conversion for midnight cases
 jc/parsers/date.py | 5 +++++
 1 file changed, 5 insertions(+)
f62446c152d89f2d37b22ffe9d9de5b5c9fa7049 rename variables. add another european time format
 jc/utils.py | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)
56011f1f172344cab2a8e869e7a6df6e45c45874 updated upower examples
 EXAMPLES.md            | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++
 docs/parsers/upower.md |  8 ++++---
 jc/parsers/upower.py   |  8 ++++---
 3 files changed, 73 insertions(+), 6 deletions(-)
6d44091c80318fde6c09cd850e6dc5afde7fe799 refactor parse_datetime_to_timestamp()
 jc/utils.py | 66 ++++++++++++-------------------------------------------------
 1 file changed, 13 insertions(+), 53 deletions(-)
440c458eb42925dffe2d7b026279468fa2fa1bb7 no need for ternary clause
 jc/utils.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
798250af6116441385339806c8f26bc9720ad302 use jc.utils.parse_datetime_to_timestamp() function for timestamp creation
 docs/parsers/upower.md |  7 +++++--
 jc/parsers/upower.py   | 35 +++++++++++++----------------------
 2 files changed, 18 insertions(+), 24 deletions(-)
c762de29c6491790908451aa20f6aa12fdfa9722 doc updates
 docs/utils.md | 30 ++++++++++++++++++++++++++++++
 jc/utils.py   |  4 ++--
 2 files changed, 32 insertions(+), 2 deletions(-)
0701e65e97165efd40ab2ae5087897de3588ea32 add parse_datetime_to_timestamp() function
 jc/utils.py | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 106 insertions(+)
209d54e8b5be6476d896cee1a5274bd2b46219e2 add hour_24 to schema docs
 docs/parsers/date.md | 5 +++--
 jc/parsers/date.py   | 5 +++--
 2 files changed, 6 insertions(+), 4 deletions(-)
2b38462de7d2fa61dd5d2a184e853279f1a9c84b update examples
 EXAMPLES.md          | 20 +++++++++++---------
 docs/parsers/date.md | 20 +++++++++++---------
 jc/parsers/date.py   | 20 +++++++++++---------
 3 files changed, 33 insertions(+), 27 deletions(-)
1e8e5533162cb01053ee25e9dbc709a429e58070 add hour_24 field
 CHANGELOG                              |  3 +++
 jc/parsers/date.py                     | 21 +++++++++++----------
 tests/fixtures/generic/date.json       |  2 +-
 tests/fixtures/ubuntu-20.04/date.json  |  2 +-
 tests/fixtures/ubuntu-20.04/date2.json |  1 +
 tests/localtest_date.py                | 16 ++++++++++++++--
 6 files changed, 31 insertions(+), 14 deletions(-)
ab42e6bb15026d6c46e15197c62bc3e8ef95c80d formatting
 docs/parsers/date.md | 1 +
 jc/parsers/date.py   | 1 +
 2 files changed, 2 insertions(+)
680288454090f3c48c7f0580cdcb919c0b5a883e ensure period is always uppercase in dict value. update period documentation
 docs/parsers/date.md | 2 +-
 jc/parsers/date.py   | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)
7cb8577b9655f258f2910e7e7bcf3266d4cbece0 correct epoch_utc calculation. Fix for 12 hour vs. 24 hour representation
 docs/parsers/date.md                  | 36 ++++++++--------
 jc/parsers/date.py                    | 81 +++++++++++++++++++++--------------
 tests/fixtures/ubuntu-20.04/date2.out |  1 +
 3 files changed, 70 insertions(+), 48 deletions(-)
55810ccd1f17ef6a4b1cb72fc21f6cf990ef8bb3 set epoch_dt conversion again if not C locale
 jc/parsers/upower.py | 1 +
 1 file changed, 1 insertion(+)
f9921720cd0b9b0d76d66e6eb5bfe43481f5f52b revert to local testing for naive datetime objects
 runtests.sh         |  8 ++++----
 tests/test_date.py  | 48 ------------------------------------------------
 tests/test_last2.py | 42 ------------------------------------------
 3 files changed, 4 insertions(+), 94 deletions(-)
cda1ebd271aa8fd1b716054a2149f876d8087230 try tzset()
 tests/test_date.py  | 2 ++
 tests/test_last2.py | 2 ++
 2 files changed, 4 insertions(+)
6901e4a23aad0b58cbbfac86c61917115d115dfe try setting timezone env variable before tests to ensure it is the same on all test systems
 runtests.sh         |  6 +++---
 tests/test_date.py  | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 tests/test_last2.py | 40 ++++++++++++++++++++++++++++++++++++++++
 3 files changed, 89 insertions(+), 3 deletions(-)
6bc21d3c735edc7897e49afd2a5ea9e3aa56d7fb fix date parser tests - local tests only since timezones may not match on github actions VMs
 runtests.sh                               | 1 +
 tests/{test_date.py => localtest_date.py} | 0
 tests/localtest_last.py                   | 1 -
 3 files changed, 1 insertion(+), 1 deletion(-)
1ef231e26a2898d2a01f341fb92014df92703f72 add date parser updates
 CHANGELOG | 2 ++
 1 file changed, 2 insertions(+)
3cd43f0f985a3b8a4e74bf5632bd8dac92d751c4 formatting
 docs/parsers/upower.md | 2 +-
 jc/parsers/upower.py   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
156501996688e62dd61a8456206218582a6cbe1b fix weekday numbering to be ISO 8601 compliant. Add naive calculated epoch timestamp field
 EXAMPLES.md                           | 21 ++++-----
 docs/parsers/date.md                  | 41 ++++++++++--------
 jc/parsers/date.py                    | 82 +++++++++++++++++++++--------------
 tests/fixtures/generic/date.json      |  2 +-
 tests/fixtures/ubuntu-20.04/date.json |  2 +-
 5 files changed, 85 insertions(+), 63 deletions(-)
0a4de2d3a1c235d1ac2d6e59346e77761fe51885 add naive datetime calculation info to docs
 docs/parsers/last.md   | 2 ++
 docs/parsers/upower.md | 5 +++--
 2 files changed, 5 insertions(+), 2 deletions(-)
a058f6c174e31f5e6040883bb544b83abd88c749 added naive epoch calculation info to docs
 jc/parsers/last.py | 2 ++
 1 file changed, 2 insertions(+)
d8e5d03b01a87704424f5259cf6bd977274fd6ee naive updated_epoch timestamp calculation added
 jc/parsers/upower.py | 53 ++++++++++++++++++++--------------------------------
 1 file changed, 20 insertions(+), 33 deletions(-)
9dc62eff2eaaafec89c5b8797d8ca8e4c77a07d4 remove epoch conversions
 jc/parsers/upower.py | 55 ++++++++++++++++++++++++++++++++--------------------
 1 file changed, 34 insertions(+), 21 deletions(-)
d4fea17c57a97d6914624b06208b9439bf2eb05f use UTC when calculating epoch timestamp. reset time locale to default after changing
 docgen.sh              |  2 +-
 docs/parsers/upower.md |  2 +-
 jc/parsers/upower.py   | 15 +++++++++++----
 3 files changed, 13 insertions(+), 6 deletions(-)
3dd7a5b77ea708047bc12be9f2caddd9078723f1 add upower docs
 docgen.sh              |   1 +
 docs/parsers/upower.md | 229 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 230 insertions(+)
d77c90a3ba2036b216f4a612876ace988eafd217 fix quoted values in detail level. Add examples
 jc/parsers/upower.py | 120 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 114 insertions(+), 6 deletions(-)
01f0c20df09fd4aa12bd108928b97376b51ef31a add sample using C locale timestamp
 tests/fixtures/ubuntu-18.04/upower-d-clocale.out | 27 ++++++++++++++++++++++++
 1 file changed, 27 insertions(+)
aafbe576b3b754de91591d9ec2dae9e9f827dee4 working parser and processor
 jc/parsers/upower.py | 173 ++++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 137 insertions(+), 36 deletions(-)
bd68ad40345fb1f69be0e0f87dc67134f826cd06 don't modify detail_type value since it is no longer a key
 jc/parsers/upower.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
bfee017c138bb30ec6af836685013b7124028974 made the schema more explicit by hardcoding more items. still working on the schema
 jc/parsers/upower.py | 81 +++++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 61 insertions(+), 20 deletions(-)
61f532cfd0b7fbf14a58a0fd638bcbfb03fbde72 working history list
 jc/parsers/upower.py | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)
58dbbb75b607d0b29be185c3b8c3f0d8af21ecad simplified logic
 jc/parsers/upower.py | 30 +++++++++---------------------
 1 file changed, 9 insertions(+), 21 deletions(-)
8d88b91fcf5060d7d54f687efec3e3a606bab767 move if statements and generalize the history detail detection
 jc/parsers/upower.py | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)
ad39fc60299089f56f37baac71820e50cbe87ed3 working upower parser. history lines are ignored
 jc/cli.py                                |   1 +
 jc/parsers/upower.py                     | 173 +++++++++++++++++++++++++++++++
 tests/fixtures/generic/upower-i.out      |  32 ++++++
 tests/fixtures/generic/upower-i2.out     |  24 +++++
 tests/fixtures/ubuntu-18.04/upower-d.out |  27 +++++
 tests/fixtures/ubuntu-18.04/upower-i.out |  11 ++
 6 files changed, 268 insertions(+)
89f1fd96e6b7aa0acf6272e4f3469005d4f7c6bf add acpi tests
 tests/fixtures/generic/acpi-V.json      |  1 +
 tests/fixtures/generic/acpi-V2.json     |  1 +
 tests/fixtures/generic/acpi-V3.json     |  1 +
 tests/fixtures/generic/acpi-V4.json     |  1 +
 tests/fixtures/ubuntu-18.04/acpi-V.json |  1 +
 tests/test_acpi.py                      | 82 +++++++++++++++++++++++++++++++++
 6 files changed, 87 insertions(+)
bd425f2493b68949c1fa02cd1d3289ec882d9b0d version bump to v1.15.0. Add acpi docs
 CHANGELOG            |   4 +
 EXAMPLES.md          |  58 ++++++++++++
 docgen.sh            |   1 +
 docs/parsers/acpi.md | 256 +++++++++++++++++++++++++++++++++++++++++++++++++++
 jc/cli.py            |   2 +-
 setup.py             |   2 +-
 6 files changed, 321 insertions(+), 2 deletions(-)
46962ff02a0630766a927babc92e11ec91b1f789 remove redundant lines
 jc/parsers/acpi.py | 12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)
e4cb88b05166815e8ad03b646bd3f2b1da7f0d4b remove unneeded line-state assignment
 jc/parsers/acpi.py | 1 -
 1 file changed, 1 deletion(-)
32840703dc1d88412712b08db1c9bdaebbc34450 remove redundant code
 jc/parsers/acpi.py | 47 ++++++++---------------------------------------
 1 file changed, 8 insertions(+), 39 deletions(-)
1f7aafd0415a79e0547cc6f1c008c1918f8fb460 fix for full charge batter case. Clean up battery object logic
 jc/parsers/acpi.py                 | 15 ++++++---------
 tests/fixtures/generic/acpi-V.out  |  1 +
 tests/fixtures/generic/acpi-V4.out | 12 ++++++++++++
 3 files changed, 19 insertions(+), 9 deletions(-)
7378d5dce43f75440cb57903e8ae0c1c615b0782 remove comment
 jc/parsers/acpi.py | 1 -
 1 file changed, 1 deletion(-)
84f76866cdf76f67b34de999fd987de8a02f0306 working process function
 jc/parsers/acpi.py | 200 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 197 insertions(+), 3 deletions(-)
322da9ea6a1ceea1152d720797adb8f3a7dc1199 working parser
 jc/parsers/acpi.py                | 67 ++++++++++++++++++++++++++++++++-------
 tests/fixtures/generic/acpi-V.out |  4 +++
 2 files changed, 59 insertions(+), 12 deletions(-)
58645301ec111bfeb2a618f5f169cc734042dc5f add acpi command parser
 jc/cli.py                              |   3 +-
 jc/parsers/acpi.py                     | 191 +++++++++++++++++++++++++++++++++
 tests/fixtures/generic/acpi-V.out      |  16 +++
 tests/fixtures/generic/acpi-V2.out     |  12 +++
 tests/fixtures/generic/acpi-V3.out     |  13 +++
 tests/fixtures/ubuntu-18.04/acpi-V.out |   2 +
 6 files changed, 236 insertions(+), 1 deletion(-)
1e18dd30a824b0463f0cad86e0da7094c47d34f9 Merge pull request #102 from kellyjonbrazil/dev
cc6a19adccea3e10243a166b87d852b6f95414b5 fix typo in comments
 jc/parsers/yaml.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2a5588b177a24d5b78a4b5a515aba515804b7baa packaging fix for yaml parser and pyoxidizer
 CHANGELOG          | 5 +++++
 jc/cli.py          | 2 +-
 jc/parsers/yaml.py | 7 ++++++-
 setup.py           | 2 +-
 4 files changed, 13 insertions(+), 3 deletions(-)
20f9b7f88b97ed68aba46e102b8c7b72443b9c85 fix typo
 CHANGELOG | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
d7e32313cd9776b4a6af38cc2819d6e4ef8c0d55 fix typo
 CHANGELOG | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
fb5654d3c4549e84940e2518f2d214debdd42d51 formatting
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
258f1433b36a7ee117ac43953edb4fe964603e7b add locale info to readme
 README.md | 2 ++
 1 file changed, 2 insertions(+)
fb723ae8bd7bb51f9a4bab380ec1bc54cda0445b Merge pull request #101 from kellyjonbrazil/dev
283b89e37c38a3082203e43e38569c8b0bb11e12 simplify answer data logic
 CHANGELOG         | 3 ++-
 jc/parsers/dig.py | 6 +++---
 2 files changed, 5 insertions(+), 4 deletions(-)
f450f9eb8b7d382af316e88301e72af01a018be9 add hciconfig tests
 tests/fixtures/centos-7.7/hciconfig-a.json   |  1 +
 tests/fixtures/centos-7.7/hciconfig.json     |  1 +
 tests/fixtures/ubuntu-20.04/hciconfig-a.json |  1 +
 tests/fixtures/ubuntu-20.04/hciconfig.json   |  1 +
 tests/test_hciconfig.py                      | 70 ++++++++++++++++++++++++++++
 5 files changed, 74 insertions(+)
b3f8cf99a4874335c6b43e105e0c1562c08256dc work for both tabs and spaces
 jc/parsers/hciconfig.py | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)
4301ea8caea7c14f59bcddf09668d0198e1115a8 remove debug line
 jc/parsers/hciconfig.py | 1 -
 1 file changed, 1 deletion(-)
c672d1c174a42ce44544dfaec0ebcf3c30fd7acf initial working hciconfig parser
 CHANGELOG                 |   3 +
 EXAMPLES.md               | 126 ++++++++++++++
 README.md                 |   1 +
 docgen.sh                 |   1 +
 docs/parsers/hciconfig.md | 358 +++++++++++++++++++++++++++++++++++++++
 jc/parsers/hciconfig.py   | 414 ++++++++++++++++++++++++++++++++++++++++++++--
 man/jc.1                  |  22 ++-
 7 files changed, 903 insertions(+), 22 deletions(-)
229e953a38471cdd41af0810577d324329840a4b initial add of hciconfig parser
 jc/cli.py                                   |   3 +-
 jc/parsers/hciconfig.py                     | 142 ++++++++++++++++++++++++++++
 setup.py                                    |   2 +-
 tests/fixtures/centos-7.7/hciconfig-a.out   |  10 ++
 tests/fixtures/centos-7.7/hciconfig.out     |   6 ++
 tests/fixtures/ubuntu-20.04/hciconfig-a.out |  27 ++++++
 tests/fixtures/ubuntu-20.04/hciconfig.out   |  17 ++++
 7 files changed, 205 insertions(+), 2 deletions(-)
87b506dc9b4831d11b4fd04fd6849532db074f90 fix for spaces in dig answer data
 CHANGELOG                                     |  3 +++
 jc/cli.py                                     |  2 +-
 jc/parsers/dig.py                             |  8 ++++++--
 setup.py                                      |  2 +-
 tests/fixtures/generic/dig-answer-spaces.json |  1 +
 tests/fixtures/generic/dig-answer-spaces.out  | 23 +++++++++++++++++++++++
 tests/test_dig.py                             | 12 ++++++++++++
 7 files changed, 47 insertions(+), 4 deletions(-)
15c9002d9eff0f52d873fb3ab35dfafd03a8e919 simplify logic by taking out 'not' in JC_COLORS parsing
 jc/cli.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
042aaa61b96fc8472a8a460c49bde4cbbc359094 minor updates
 README.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
ef856c6ba5774cd8ec23acd71496846e794e3872 clarify -q option
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
9cf5be73e3f975132d1ffbef412638b941a5664f typo fix
 docs/parsers/iw_scan.md | 2 +-
 jc/parsers/iw_scan.py   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
63fc149e2a097cbde60c2ce1aeb102d9becabd9b typo fix
 docs/parsers/iw_scan.md | 2 +-
 jc/parsers/iw_scan.py   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
3c25839350800c7e7d2c48fc032bb21efa0ac213 Merge pull request #98 from kellyjonbrazil/dev
58246e33b71bae0ca4a42ad5bdf31134948b1014 update compatibility info and changelog date
 CHANGELOG | 2 +-
 README.md | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)
8b1407c7068e2105a83992bbb026138ea67bc07c pull env-specific tests from CI/CD and run locally only
 runtests.sh             |  6 ++++++
 tests/localtest_last.py | 41 +++++++++++++++++++++++++++++++++++++++++
 tests/test_last.py      | 22 ++++++++++++----------
 3 files changed, 59 insertions(+), 10 deletions(-)
2fde4a4e2299b98a9958e3a55849c6791e4b17dc doc updates
 EXAMPLES.md             | 2 +-
 docs/parsers/iw_scan.md | 2 +-
 jc/parsers/iw_scan.py   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
60b9e9798286121399d0f8b75d63ab0f3312c9bf last parser enhancements: augment hostname with CONSOLE for GUI login, add convenience fields when -F is used: login_epoch, logout_epoch, duration_seconds, calculate duration to hours:minutes
 docs/parsers/last.md                      | 37 ++++++++++++--------
 jc/parsers/last.py                        | 57 +++++++++++++++++++++++--------
 tests/fixtures/centos-7.7/last-crash.json |  2 +-
 tests/fixtures/centos-7.7/last-w.json     |  2 +-
 tests/fixtures/centos-7.7/last-wF.json    |  2 +-
 tests/fixtures/centos-7.7/last-wF.out     |  6 ++++
 tests/fixtures/centos-7.7/last.json       |  2 +-
 tests/fixtures/fedora32/last.json         |  2 +-
 tests/fixtures/osx-10.14.6/last.json      |  2 +-
 tests/fixtures/ubuntu-18.04/last-w.json   |  2 +-
 tests/fixtures/ubuntu-18.04/last.json     |  2 +-
 tests/fixtures/ubuntu-20.04/last-F.json   |  2 +-
 12 files changed, 80 insertions(+), 38 deletions(-)
0adac79c0f2a22b31dfef1432a029af06132467b Add last parser enhancements
 CHANGELOG | 1 +
 1 file changed, 1 insertion(+)
9f485b5981a2ce49ac699b9dad39993c5605ae18 change mac_address fieldname to bssid. Add credit to Phillip
 jc/parsers/iw_scan.py                   | 6 +++---
 tests/fixtures/centos-7.7/iw-scan0.json | 2 +-
 tests/fixtures/centos-7.7/iw-scan1.json | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)
db17d21b8f9b2f899760e648f1483d33d0bcf47a Merge pull request #97 from pschmitt/iw_scan_fix_space_detection
996d394e89c732f327323ca340fce405bd5fb2e4 iw_scan: Improve detection of lines starting with spaces
 jc/parsers/iw_scan.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
5885b960f9b33a95ecec9f4a33233c2f8682fbc4 doc updates
 CHANGELOG | 3 ++-
 README.md | 2 +-
 man/jc.1  | 4 ++++
 3 files changed, 7 insertions(+), 2 deletions(-)
79987b35f332e287567e103f25cf91cb50e040c0 formatting
 EXAMPLES.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
661b3ef311ad26678030c70c11f2f955667311a4 doc updates
 EXAMPLES.md             | 91 +++++++++++++++++++++++++++++++++++++++++++++++++
 README.md               |  1 +
 docs/parsers/iw_scan.md |  2 +-
 jc/parsers/iw_scan.py   |  2 +-
 4 files changed, 94 insertions(+), 2 deletions(-)
fb422726a8366c7133f0712d3b05a26620eea785 update test to add 'down' condition
 tests/fixtures/ubuntu-20.04/last-F.json | 2 +-
 tests/fixtures/ubuntu-20.04/last-F.out  | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)
4fb6f3ea59c52515926a51a006e65a1c18e57720 add support for down in addition to crash
 jc/parsers/last.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
f78fe771e1c2fb4691858fa7f27b1febe5f8c6c0 add iw-scan tests
 tests/fixtures/centos-7.7/iw-scan0.json |  1 +
 tests/fixtures/centos-7.7/iw-scan1.json |  1 +
 tests/test_iw_scan.py                   | 46 +++++++++++++++++++++++++++++++++
 3 files changed, 48 insertions(+)
567b8872538ac9f6b384b98741acd9794229d513 doc updates
 docgen.sh               |   1 +
 docs/parsers/iw_scan.md | 160 ++++++++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/iw_scan.py   | 103 +++++++++++++++++++++++++++----
 3 files changed, 252 insertions(+), 12 deletions(-)
e516e6b9466b29d40ec10070dd61551180eeef90 fix country/environment fields and process int/float conversions
 jc/parsers/iw_scan.py | 30 +++++++++++++++++++++++++++++-
 1 file changed, 29 insertions(+), 1 deletion(-)
62748676aae3d5955191ed267215df33a5bd3a4d initial iw-scan parser
 jc/cli.py             |   1 +
 jc/parsers/iw_scan.py | 224 ++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 225 insertions(+)
7351c72e45242b9eb08c51dea7b6fccf12366dfd add fixes and tests for entries that contain 'crash'
 jc/parsers/last.py                        |  10 +-
 tests/fixtures/centos-7.7/last-crash.json |   1 +
 tests/fixtures/centos-7.7/last-crash.out  | 184 ++++++++++++++++++++++++++++++
 tests/fixtures/centos-7.7/last-wF.json    |   1 +
 tests/fixtures/centos-7.7/last-wF.out     | 184 ++++++++++++++++++++++++++++++
 tests/test_last.py                        |  23 ++++
 6 files changed, 402 insertions(+), 1 deletion(-)
2b7405c5e21db2488fc48b58f6c65cff947ca95d doc updates
 CHANGELOG            |  3 +--
 README.md            |  2 +-
 docs/parsers/last.md |  6 +-----
 jc/parsers/last.py   |  6 +-----
 man/jc.1             | 22 +++++++++++++++++++---
 5 files changed, 23 insertions(+), 16 deletions(-)
e2c77cb935a5bd95dbe930d424e5a02e88e1fa76 add test for last -F output
 jc/parsers/last.py                      |  3 ++-
 tests/fixtures/ubuntu-20.04/last-F.json |  1 +
 tests/test_last.py                      | 12 ++++++++++++
 3 files changed, 15 insertions(+), 1 deletion(-)
7ac621e4c916373a03f379425033cb2d81a03578 add -F support
 docs/parsers/last.md                   |  6 ++++++
 jc/parsers/last.py                     | 30 ++++++++++++++++++++++++------
 tests/fixtures/ubuntu-20.04/last-F.out |  6 ++++++
 3 files changed, 36 insertions(+), 6 deletions(-)
d8b5d6c66ced19dc16f2b4975d2293a903732ffe version bump to 1.14.1
 jc/cli.py | 2 +-
 setup.py  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
22b461eb4b1ca86ea9e8c1fde8a2c312d1526b5f Add period field for en_US.UTF-8 locale
 CHANGELOG                             |  1 +
 EXAMPLES.md                           |  1 +
 docs/parsers/date.md                  |  2 ++
 jc/parsers/date.py                    | 40 +++++++++++++++++++++++++----------
 tests/fixtures/generic/date.json      |  2 +-
 tests/fixtures/ubuntu-20.04/date.json |  1 +
 tests/test_date.py                    | 12 +++++++++++
 7 files changed, 47 insertions(+), 12 deletions(-)
b37ee8555a2a108625a834a7990bc3320e79b08d changelog update
 CHANGELOG | 6 ++++++
 1 file changed, 6 insertions(+)
1d0ad2f045733c5c690738d49951fdb9bcd3d66d doc fixes
 docs/parsers/airport.md           | 2 +-
 docs/parsers/airport_s.md         | 6 +++---
 docs/parsers/arp.md               | 6 +++---
 docs/parsers/blkid.md             | 6 +++---
 docs/parsers/cksum.md             | 6 +++---
 docs/parsers/crontab.md           | 2 +-
 docs/parsers/crontab_u.md         | 2 +-
 docs/parsers/csv.md               | 6 +++---
 docs/parsers/date.md              | 2 +-
 docs/parsers/df.md                | 6 +++---
 docs/parsers/dig.md               | 6 +++---
 docs/parsers/dmidecode.md         | 6 +++---
 docs/parsers/du.md                | 6 +++---
 docs/parsers/env.md               | 6 +++---
 docs/parsers/file.md              | 6 +++---
 docs/parsers/free.md              | 6 +++---
 docs/parsers/fstab.md             | 6 +++---
 docs/parsers/group.md             | 6 +++---
 docs/parsers/gshadow.md           | 6 +++---
 docs/parsers/hash.md              | 6 +++---
 docs/parsers/hashsum.md           | 6 +++---
 docs/parsers/history.md           | 6 +++---
 docs/parsers/hosts.md             | 6 +++---
 docs/parsers/id.md                | 4 ++--
 docs/parsers/ifconfig.md          | 6 +++---
 docs/parsers/ini.md               | 2 +-
 docs/parsers/iptables.md          | 6 +++---
 docs/parsers/jobs.md              | 6 +++---
 docs/parsers/last.md              | 6 +++---
 docs/parsers/ls.md                | 6 +++---
 docs/parsers/lsblk.md             | 6 +++---
 docs/parsers/lsmod.md             | 6 +++---
 docs/parsers/lsof.md              | 6 +++---
 docs/parsers/mount.md             | 6 +++---
 docs/parsers/netstat.md           | 6 +++---
 docs/parsers/ntpq.md              | 6 +++---
 docs/parsers/passwd.md            | 6 +++---
 docs/parsers/ping.md              | 2 +-
 docs/parsers/pip_list.md          | 6 +++---
 docs/parsers/pip_show.md          | 6 +++---
 docs/parsers/ps.md                | 6 +++---
 docs/parsers/route.md             | 6 +++---
 docs/parsers/shadow.md            | 6 +++---
 docs/parsers/ss.md                | 6 +++---
 docs/parsers/stat.md              | 6 +++---
 docs/parsers/sysctl.md            | 2 +-
 docs/parsers/systemctl.md         | 6 +++---
 docs/parsers/systemctl_lj.md      | 6 +++---
 docs/parsers/systemctl_ls.md      | 6 +++---
 docs/parsers/systemctl_luf.md     | 6 +++---
 docs/parsers/timedatectl.md       | 2 +-
 docs/parsers/tracepath.md         | 2 +-
 docs/parsers/traceroute.md        | 2 +-
 docs/parsers/uname.md             | 2 +-
 docs/parsers/uptime.md            | 2 +-
 docs/parsers/w.md                 | 6 +++---
 docs/parsers/wc.md                | 6 +++---
 docs/parsers/who.md               | 6 +++---
 docs/parsers/xml.md               | 2 +-
 docs/parsers/yaml.md              | 6 +++---
 jc/parsers/airport.py             | 2 +-
 jc/parsers/airport_s.py           | 6 +++---
 jc/parsers/arp.py                 | 6 +++---
 jc/parsers/blkid.py               | 6 +++---
 jc/parsers/cksum.py               | 6 +++---
 jc/parsers/crontab.py             | 2 +-
 jc/parsers/crontab_u.py           | 2 +-
 jc/parsers/csv.py                 | 6 +++---
 jc/parsers/date.py                | 2 +-
 jc/parsers/df.py                  | 6 +++---
 jc/parsers/dig.py                 | 6 +++---
 jc/parsers/dmidecode.py           | 6 +++---
 jc/parsers/du.py                  | 6 +++---
 jc/parsers/env.py                 | 6 +++---
 jc/parsers/file.py                | 6 +++---
 jc/parsers/foo.py                 | 6 +++---
 jc/parsers/free.py                | 6 +++---
 jc/parsers/fstab.py               | 6 +++---
 jc/parsers/group.py               | 6 +++---
 jc/parsers/gshadow.py             | 6 +++---
 jc/parsers/hash.py                | 6 +++---
 jc/parsers/hashsum.py             | 6 +++---
 jc/parsers/history.py             | 6 +++---
 jc/parsers/hosts.py               | 6 +++---
 jc/parsers/id.py                  | 4 ++--
 jc/parsers/ifconfig.py            | 6 +++---
 jc/parsers/ini.py                 | 2 +-
 jc/parsers/iptables.py            | 6 +++---
 jc/parsers/jobs.py                | 6 +++---
 jc/parsers/last.py                | 6 +++---
 jc/parsers/ls.py                  | 6 +++---
 jc/parsers/lsblk.py               | 6 +++---
 jc/parsers/lsmod.py               | 6 +++---
 jc/parsers/lsof.py                | 6 +++---
 jc/parsers/mount.py               | 6 +++---
 jc/parsers/netstat.py             | 6 +++---
 jc/parsers/netstat_freebsd_osx.py | 2 +-
 jc/parsers/netstat_linux.py       | 2 +-
 jc/parsers/ntpq.py                | 6 +++---
 jc/parsers/passwd.py              | 6 +++---
 jc/parsers/ping.py                | 4 ++--
 jc/parsers/pip_list.py            | 6 +++---
 jc/parsers/pip_show.py            | 6 +++---
 jc/parsers/ps.py                  | 6 +++---
 jc/parsers/route.py               | 6 +++---
 jc/parsers/shadow.py              | 6 +++---
 jc/parsers/ss.py                  | 6 +++---
 jc/parsers/stat.py                | 6 +++---
 jc/parsers/sysctl.py              | 2 +-
 jc/parsers/systemctl.py           | 6 +++---
 jc/parsers/systemctl_lj.py        | 6 +++---
 jc/parsers/systemctl_ls.py        | 6 +++---
 jc/parsers/systemctl_luf.py       | 6 +++---
 jc/parsers/timedatectl.py         | 2 +-
 jc/parsers/tracepath.py           | 2 +-
 jc/parsers/traceroute.py          | 2 +-
 jc/parsers/uname.py               | 2 +-
 jc/parsers/uptime.py              | 2 +-
 jc/parsers/w.py                   | 6 +++---
 jc/parsers/wc.py                  | 6 +++---
 jc/parsers/who.py                 | 6 +++---
 jc/parsers/xml.py                 | 2 +-
 jc/parsers/yaml.py                | 6 +++---
 123 files changed, 312 insertions(+), 312 deletions(-)
ceccfb2c815f57f1b6fd81f891d8b495de23f9f5 add test output for iw-scan and date on ubuntu 20.04
 tests/fixtures/centos-7.7/iw-scan0.out |   36 +
 tests/fixtures/centos-7.7/iw-scan1.out | 1999 ++++++++++++++++++++++++++++++++
 tests/fixtures/ubuntu-20.04/date.out   |    1 +
 3 files changed, 2036 insertions(+)
03c02953cd7e3327b391f799c37a2990eb2cb24c add wc doc
 docgen.sh          |  1 +
 docs/parsers/wc.md | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 96 insertions(+)
f254a0eaa16fcda316f7a75424ee359058204b03 version bump
 setup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
9e3b88727cd439e15f235dddb9dd5796e010797a Merge pull request #91 from kellyjonbrazil/dev
b12217466e906829d19be4cfd80dfe7cf4008e57 spelling
 CHANGELOG | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
8b9c932f9b05295e63b3e7d0073f243458fd4dd9 update date
 CHANGELOG | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
5986ce03db6fcd1aa0f7b064eaa96c2120c06d2d add printenv info
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
a7b0e936e400d2f9e55629e2d722cc002e035e9f add vdir and printenv info
 CHANGELOG | 2 ++
 1 file changed, 2 insertions(+)
cb0221142455a6bcb904fbe9ade657be45815b63 add wc tests
 jc/parsers/wc.py                         |  3 +-
 tests/fixtures/osx-10.14.6/wc-stdin.json |  1 +
 tests/fixtures/osx-10.14.6/wc-stdin.out  |  1 +
 tests/test_wc.py                         | 58 ++++++++++++++++++++++++++++++++
 4 files changed, 61 insertions(+), 2 deletions(-)
bd443bf39227515ae5f8df65d07b30268dcc90a9 add printenv to env docs
 jc/parsers/env.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
1f547edd361e66b19ccbcb59f6ba0ae78f6080ce add printenv to env docs
 docs/parsers/env.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
e4bac3a493705b09e301ddc90dd1b0cee7467c3f add wc parser
 CHANGELOG                          |   1 +
 EXAMPLES.md                        |  26 +++++++
 README.md                          |   1 +
 jc/cli.py                          |   1 +
 jc/parsers/wc.py                   | 130 ++++++++++++++++++++++++++++++++
 tests/fixtures/centos-7.7/wc.json  |   1 +
 tests/fixtures/centos-7.7/wc.out   |  67 +++++++++++++++++
 tests/fixtures/osx-10.14.6/wc.json |   1 +
 tests/fixtures/osx-10.14.6/wc.out  | 150 +++++++++++++++++++++++++++++++++++++
 9 files changed, 378 insertions(+)
5e6bfa681aff03fbd683f81a9f4daa56b49d1344 add vdir info
 README.md          | 2 +-
 docs/parsers/ls.md | 4 ++--
 jc/parsers/ls.py   | 6 +++---
 3 files changed, 6 insertions(+), 6 deletions(-)
276160125e01553c75eaad68530177bcf4f9004d add new commands to README
 README.md | 3 +++
 1 file changed, 3 insertions(+)
d4ae5543f2d5f28a0db5b8e2e19993c21c5d960c add hash tests
 tests/fixtures/centos-7.7/hash.json |  1 +
 tests/fixtures/centos-7.7/hash.out  |  4 ++++
 tests/test_hash.py                  | 34 ++++++++++++++++++++++++++++++++++
 3 files changed, 39 insertions(+)
55f360e267fdfcfef0c124ed6b88535cc181a8b0 add hash command parser
 CHANGELOG            |   1 +
 EXAMPLES.md          |  71 +++++++++++++++++++++++++++++++++
 docgen.sh            |   1 +
 docs/parsers/hash.md |  78 +++++++++++++++++++++++++++++++++++++
 jc/cli.py            |   1 +
 jc/parsers/hash.py   | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 260 insertions(+)
fdedab2a0cf5af15df5803d87302397dd6d71741 description updates
 jc/parsers/cksum.py   | 2 +-
 jc/parsers/hashsum.py | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
a9be42e3031ab0d697cff67a9e384caa2265a3ad specify parser warnings for quiet option
 jc/cli.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
6da9510e46e84ec1cb93384825184d2996cf0e08 add cksum tests
 tests/fixtures/centos-7.7/cksum.json  |   1 +
 tests/fixtures/centos-7.7/cksum.out   |  59 ++++++++++++++
 tests/fixtures/centos-7.7/sum.json    |   1 +
 tests/fixtures/centos-7.7/sum.out     |  58 ++++++++++++++
 tests/fixtures/osx-10.14.6/cksum.json |   1 +
 tests/fixtures/osx-10.14.6/cksum.out  | 145 +++++++++++++++++++++++++++++++++
 tests/fixtures/osx-10.14.6/sum.json   |   1 +
 tests/fixtures/osx-10.14.6/sum.out    | 146 ++++++++++++++++++++++++++++++++++
 tests/test_cksum.py                   |  70 ++++++++++++++++
 9 files changed, 482 insertions(+)
0431798178740b03cdefececc6df958e5adf62fc add cksum parser
 CHANGELOG               |   1 +
 docgen.sh               |   1 +
 docs/parsers/cksum.md   |  95 +++++++++++++++++++++++++++++++++++
 docs/parsers/hashsum.md |   2 +-
 jc/cli.py               |   3 +-
 jc/parsers/cksum.py     | 128 ++++++++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/hashsum.py   |   2 +-
 7 files changed, 229 insertions(+), 3 deletions(-)
62432f3c484e74acb2b2dfd15d448b3f1b5d53c4 update hashsum description
 jc/parsers/hashsum.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
9fbbc30906b597e6afaf2030015a7a694d85f79e add supported commands to docs
 docs/parsers/hashsum.md | 10 ++++++++++
 jc/parsers/hashsum.py   | 10 ++++++++++
 2 files changed, 20 insertions(+)
d1567d1f622902053f3df58645b4e39532e0c30a add hashsum documentation
 CHANGELOG               |  4 ++
 docgen.sh               |  1 +
 docs/parsers/hashsum.md | 99 +++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 104 insertions(+)
6ca1f5970b3a518615a54ee7fcbc1bddab2db331 Merge branch 'dev' of https://github.com/kellyjonbrazil/jc into dev
1c880b9e24ca53cd592cec1dbc52301308290fb4 force git tests
 tests/test_hashsum.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
3b7d54c720dfc93637328cf06eb10a85447c8793 add python 3.9
 .github/workflows/pythonapp.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
44a740605705bd0ecfde2a6bcc7a826e1010dcf0 add hashsum tests
 tests/fixtures/centos-7.7/md5sum.json    |  1 +
 tests/fixtures/centos-7.7/sha256sum.json |  1 +
 tests/fixtures/centos-7.7/sha384sum.json |  1 +
 tests/fixtures/osx-10.14.6/md5.json      |  1 +
 tests/fixtures/osx-10.14.6/shasum.json   |  1 +
 tests/test_hashsum.py                    | 82 ++++++++++++++++++++++++++++++++
 6 files changed, 87 insertions(+)
8157dcfdb1868548b7c8ca692e6be25f80bb2c2c fix for files with spaces in the name
 jc/parsers/hashsum.py | 47 ++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 36 insertions(+), 11 deletions(-)
28762aea15cabc9cd8293d725e7f1f0550f8e15d add hashsum parser
 jc/cli.py                               |   1 +
 jc/parsers/hashsum.py                   | 110 +++++++++++++++++++++++++
 tests/fixtures/centos-7.7/md5sum.out    |  56 +++++++++++++
 tests/fixtures/centos-7.7/sha256sum.out |  55 +++++++++++++
 tests/fixtures/centos-7.7/sha384sum.out |  56 +++++++++++++
 tests/fixtures/osx-10.14.6/md5.out      | 104 +++++++++++++++++++++++
 tests/fixtures/osx-10.14.6/shasum.out   | 142 ++++++++++++++++++++++++++++++++
 7 files changed, 524 insertions(+)
439871ea9f6b055a407e1faaf47e4f56d1829501 add ubuntu
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
c9180b005c0547c8cbfe4809e66894f1123b0809 formatting
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
b14e0725f86853f0113116b1c06f54aaa563f365 add ansible plugin blog post link
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
70fe3dcb4d5b97aba1d6c6dcd5088fecb27af181 formatting
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
8c554604a42a3ea7ca9131b65c64fd3ceb95f906 formatting
 README.md | 1 +
 1 file changed, 1 insertion(+)
a0a35454bd2831c116cb598c686150b883412f94 add link to the web demo
 README.md | 1 +
 1 file changed, 1 insertion(+)
e8467e2af5b0c3f14832a9e6d4a96f219c27f3f2 remove extra space
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
7515deb5669ef04623e9cbf58653b30c99a96430 add ansible install command
 README.md | 1 +
 1 file changed, 1 insertion(+)
ed9e52af241b609ee7f5d1b835c9f6c5306cd3c5 spelling
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
592a3804104628c790997747a778b3b39d076dfe add Ansible note
 README.md | 2 ++
 1 file changed, 2 insertions(+)
1a458d2d5b4c16c0ad90671727ae9b19939e7f23 update link
 docs/readme.md | 2 +-
 jc/__init__.py | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
0e4cf53b92ff951a6390a4dacf8833c272473583 add parser docs link
 docs/readme.md | 2 ++
 jc/__init__.py | 2 ++
 2 files changed, 4 insertions(+)
e2f06ccb33177173d984bc0cdda1aae1a3f4c681 formatting
 docs/parsers/xml.md  | 2 +-
 docs/parsers/yaml.md | 2 +-
 jc/parsers/xml.py    | 2 +-
 jc/parsers/yaml.py   | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)
8abff004cd8e09529e5d94be4883308152e11565 indentation fix
 docs/parsers/yaml.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
c4a0e2e3feb2e51eaaaa202064f352229017bcc3 fix indentation
 jc/parsers/yaml.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
4f10f79c73f8b3d6edc2c83e6a12d0ddc1a78555 standardize doc
 docs/parsers/uname.md | 6 ++----
 jc/parsers/uname.py   | 6 ++----
 2 files changed, 4 insertions(+), 8 deletions(-)
69e7a560fd82337570c4bb4aa4780f513c18bd94 add output info to docs
 docs/parsers/env.md     | 2 ++
 docs/parsers/history.md | 2 ++
 jc/parsers/env.py       | 2 ++
 jc/parsers/history.py   | 2 ++
 4 files changed, 8 insertions(+)
59b105580805d78516abe1c1069d52a6f0a8131a enhance docs
 docs/parsers/airport_s.md     |  2 +-
 docs/parsers/arp.md           | 12 +++++++-----
 docs/parsers/blkid.md         |  8 ++++++--
 docs/parsers/crontab.md       | 10 ++++++++--
 docs/parsers/crontab_u.md     |  6 ++++--
 docs/parsers/csv.md           |  9 ++++-----
 docs/parsers/date.md          |  8 ++++++--
 docs/parsers/df.md            |  8 ++++++--
 docs/parsers/dig.md           |  8 ++++++--
 docs/parsers/dmidecode.md     |  8 ++++++--
 docs/parsers/du.md            |  8 ++++++--
 docs/parsers/env.md           |  8 ++++++--
 docs/parsers/file.md          |  8 ++++++--
 docs/parsers/free.md          |  8 ++++++--
 docs/parsers/fstab.md         |  4 ++--
 docs/parsers/group.md         |  4 ++--
 docs/parsers/gshadow.md       |  4 ++--
 docs/parsers/history.md       |  4 ++--
 docs/parsers/hosts.md         |  4 ++--
 docs/parsers/id.md            |  8 ++++++--
 docs/parsers/ifconfig.md      | 10 +++++++---
 docs/parsers/ini.md           | 10 ++++++----
 docs/parsers/iptables.md      | 10 +++++++---
 docs/parsers/jobs.md          | 10 +++++++---
 docs/parsers/kv.md            | 11 +++++++----
 docs/parsers/last.md          |  8 ++++++--
 docs/parsers/ls.md            | 21 ++++++++++-----------
 docs/parsers/lsblk.md         |  8 ++++++--
 docs/parsers/lsmod.md         |  8 ++++++--
 docs/parsers/lsof.md          |  8 ++++++--
 docs/parsers/mount.md         |  8 ++++++--
 docs/parsers/netstat.md       | 17 ++++++++++-------
 docs/parsers/ntpq.md          |  8 ++++++--
 docs/parsers/passwd.md        |  4 ++--
 docs/parsers/ping.md          | 12 +++++++++---
 docs/parsers/pip_list.md      |  8 ++++++--
 docs/parsers/pip_show.md      |  8 ++++++--
 docs/parsers/ps.md            | 14 +++++++++-----
 docs/parsers/route.md         |  8 ++++++--
 docs/parsers/shadow.md        |  4 ++--
 docs/parsers/ss.md            |  8 ++++++--
 docs/parsers/stat.md          |  8 ++++++--
 docs/parsers/sysctl.md        | 16 +++++++++-------
 docs/parsers/systemctl.md     |  8 ++++++--
 docs/parsers/systemctl_lj.md  |  8 ++++++--
 docs/parsers/systemctl_ls.md  |  8 ++++++--
 docs/parsers/systemctl_luf.md |  8 ++++++--
 docs/parsers/timedatectl.md   |  8 ++++++--
 docs/parsers/tracepath.md     | 10 ++++++++--
 docs/parsers/traceroute.md    | 16 ++++++++++------
 docs/parsers/uname.md         |  8 ++++++--
 docs/parsers/uptime.md        |  8 ++++++--
 docs/parsers/w.md             |  8 ++++++--
 docs/parsers/who.md           | 10 +++++++---
 docs/parsers/xml.md           |  4 ++--
 docs/parsers/yaml.md          |  4 ++--
 jc/parsers/group.py           |  4 ++--
 jc/parsers/gshadow.py         |  4 ++--
 jc/parsers/history.py         |  4 ++--
 jc/parsers/hosts.py           |  4 ++--
 jc/parsers/id.py              |  8 ++++++--
 jc/parsers/ifconfig.py        | 10 +++++++---
 jc/parsers/ini.py             | 10 ++++++----
 jc/parsers/iptables.py        | 10 +++++++---
 jc/parsers/jobs.py            | 10 +++++++---
 jc/parsers/kv.py              | 11 +++++++----
 jc/parsers/last.py            |  8 ++++++--
 jc/parsers/ls.py              | 21 ++++++++++-----------
 jc/parsers/lsblk.py           |  8 ++++++--
 jc/parsers/lsmod.py           |  8 ++++++--
 jc/parsers/lsof.py            |  8 ++++++--
 jc/parsers/mount.py           |  8 ++++++--
 jc/parsers/netstat.py         | 17 ++++++++++-------
 jc/parsers/ntpq.py            |  8 ++++++--
 jc/parsers/passwd.py          |  4 ++--
 jc/parsers/ping.py            | 12 +++++++++---
 jc/parsers/pip_list.py        |  8 ++++++--
 jc/parsers/pip_show.py        |  8 ++++++--
 jc/parsers/ps.py              | 14 +++++++++-----
 jc/parsers/route.py           |  8 ++++++--
 jc/parsers/shadow.py          |  4 ++--
 jc/parsers/ss.py              |  8 ++++++--
 jc/parsers/stat.py            |  8 ++++++--
 jc/parsers/sysctl.py          | 16 +++++++++-------
 jc/parsers/systemctl.py       |  8 ++++++--
 jc/parsers/systemctl_lj.py    |  8 ++++++--
 jc/parsers/systemctl_ls.py    |  8 ++++++--
 jc/parsers/systemctl_luf.py   |  8 ++++++--
 jc/parsers/timedatectl.py     |  8 ++++++--
 jc/parsers/tracepath.py       | 10 ++++++++--
 jc/parsers/traceroute.py      | 16 ++++++++++------
 jc/parsers/uname.py           |  8 ++++++--
 jc/parsers/uptime.py          |  8 ++++++--
 jc/parsers/w.py               |  8 ++++++--
 jc/parsers/who.py             | 10 +++++++---
 jc/parsers/xml.py             |  4 ++--
 jc/parsers/yaml.py            |  4 ++--
 97 files changed, 564 insertions(+), 269 deletions(-)
6ed48c6289214fe5114971c80772efdf9ac1b8c5 enhance docs
 jc/parsers/airport_s.py |  2 +-
 jc/parsers/arp.py       | 12 +++++++-----
 jc/parsers/blkid.py     |  8 ++++++--
 jc/parsers/crontab.py   | 10 ++++++++--
 jc/parsers/crontab_u.py |  6 ++++--
 jc/parsers/csv.py       |  9 ++++-----
 jc/parsers/date.py      |  8 ++++++--
 jc/parsers/df.py        |  8 ++++++--
 jc/parsers/dig.py       |  8 ++++++--
 jc/parsers/dmidecode.py |  8 ++++++--
 jc/parsers/du.py        |  8 ++++++--
 jc/parsers/env.py       |  8 ++++++--
 jc/parsers/file.py      |  8 ++++++--
 jc/parsers/foo.py       | 10 ++++++++--
 jc/parsers/free.py      |  8 ++++++--
 jc/parsers/fstab.py     |  4 ++--
 16 files changed, 88 insertions(+), 37 deletions(-)
f2fb4d3f415fbc1c09eec6dedcf70fba78406b3f improve docs
 docs/parsers/airport.md   | 2 +-
 docs/parsers/airport_s.md | 2 +-
 jc/parsers/airport.py     | 2 +-
 jc/parsers/airport_s.py   | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)
6aeea59ea84e56434e87ddf89cd5d4435b99e140 doc updates
 docs/parsers/airport.md   | 11 +++++++----
 docs/parsers/airport_s.md | 11 +++++++----
 2 files changed, 14 insertions(+), 8 deletions(-)
d016f3bbb307f85bd0f93a508323941a8bb9d872 improve documentation
 jc/parsers/airport.py   | 11 +++++++----
 jc/parsers/airport_s.py | 11 +++++++----
 2 files changed, 14 insertions(+), 8 deletions(-)
7131c297180bfa195d0209d46fc70ab8e67efe2e add module usage info to docs
 docs/parsers/airport.md       | 7 ++++++-
 docs/parsers/airport_s.md     | 7 ++++++-
 docs/parsers/arp.md           | 7 ++++++-
 docs/parsers/crontab.md       | 7 ++++++-
 docs/parsers/crontab_u.md     | 7 ++++++-
 docs/parsers/csv.md           | 7 ++++++-
 docs/parsers/date.md          | 7 ++++++-
 docs/parsers/df.md            | 7 ++++++-
 docs/parsers/dig.md           | 7 ++++++-
 docs/parsers/dmidecode.md     | 7 ++++++-
 docs/parsers/du.md            | 7 ++++++-
 docs/parsers/env.md           | 7 ++++++-
 docs/parsers/file.md          | 7 ++++++-
 docs/parsers/free.md          | 7 ++++++-
 docs/parsers/fstab.md         | 7 ++++++-
 docs/parsers/group.md         | 7 ++++++-
 docs/parsers/gshadow.md       | 7 ++++++-
 docs/parsers/history.md       | 7 ++++++-
 docs/parsers/hosts.md         | 7 ++++++-
 docs/parsers/id.md            | 7 ++++++-
 docs/parsers/ifconfig.md      | 7 ++++++-
 docs/parsers/ini.md           | 7 ++++++-
 docs/parsers/iptables.md      | 7 ++++++-
 docs/parsers/jobs.md          | 7 ++++++-
 docs/parsers/kv.md            | 7 ++++++-
 docs/parsers/last.md          | 7 ++++++-
 docs/parsers/ls.md            | 7 ++++++-
 docs/parsers/lsblk.md         | 7 ++++++-
 docs/parsers/lsmod.md         | 7 ++++++-
 docs/parsers/lsof.md          | 7 ++++++-
 docs/parsers/mount.md         | 7 ++++++-
 docs/parsers/netstat.md       | 7 ++++++-
 docs/parsers/ntpq.md          | 7 ++++++-
 docs/parsers/passwd.md        | 7 ++++++-
 docs/parsers/ping.md          | 7 ++++++-
 docs/parsers/pip_list.md      | 7 ++++++-
 docs/parsers/pip_show.md      | 7 ++++++-
 docs/parsers/ps.md            | 7 ++++++-
 docs/parsers/route.md         | 7 ++++++-
 docs/parsers/shadow.md        | 7 ++++++-
 docs/parsers/ss.md            | 7 ++++++-
 docs/parsers/stat.md          | 7 ++++++-
 docs/parsers/sysctl.md        | 7 ++++++-
 docs/parsers/systemctl.md     | 7 ++++++-
 docs/parsers/systemctl_lj.md  | 7 ++++++-
 docs/parsers/systemctl_ls.md  | 7 ++++++-
 docs/parsers/systemctl_luf.md | 7 ++++++-
 docs/parsers/timedatectl.md   | 7 ++++++-
 docs/parsers/tracepath.md     | 7 ++++++-
 docs/parsers/traceroute.md    | 7 ++++++-
 docs/parsers/uname.md         | 9 +++++++--
 docs/parsers/uptime.md        | 7 ++++++-
 docs/parsers/w.md             | 7 ++++++-
 docs/parsers/who.md           | 7 ++++++-
 docs/parsers/xml.md           | 7 ++++++-
 docs/parsers/yaml.md          | 7 ++++++-
 jc/parsers/airport.py         | 7 ++++++-
 jc/parsers/airport_s.py       | 7 ++++++-
 jc/parsers/arp.py             | 7 ++++++-
 jc/parsers/blkid.py           | 7 ++++++-
 jc/parsers/crontab.py         | 7 ++++++-
 jc/parsers/crontab_u.py       | 7 ++++++-
 jc/parsers/csv.py             | 7 ++++++-
 jc/parsers/date.py            | 7 ++++++-
 jc/parsers/df.py              | 7 ++++++-
 jc/parsers/dig.py             | 7 ++++++-
 jc/parsers/dmidecode.py       | 7 ++++++-
 jc/parsers/du.py              | 7 ++++++-
 jc/parsers/env.py             | 7 ++++++-
 jc/parsers/file.py            | 7 ++++++-
 jc/parsers/foo.py             | 7 ++++++-
 jc/parsers/free.py            | 7 ++++++-
 jc/parsers/fstab.py           | 7 ++++++-
 jc/parsers/group.py           | 7 ++++++-
 jc/parsers/gshadow.py         | 7 ++++++-
 jc/parsers/history.py         | 7 ++++++-
 jc/parsers/hosts.py           | 7 ++++++-
 jc/parsers/id.py              | 7 ++++++-
 jc/parsers/ifconfig.py        | 7 ++++++-
 jc/parsers/ini.py             | 7 ++++++-
 jc/parsers/iptables.py        | 7 ++++++-
 jc/parsers/jobs.py            | 7 ++++++-
 jc/parsers/kv.py              | 7 ++++++-
 jc/parsers/last.py            | 7 ++++++-
 jc/parsers/ls.py              | 7 ++++++-
 jc/parsers/lsblk.py           | 7 ++++++-
 jc/parsers/lsmod.py           | 7 ++++++-
 jc/parsers/lsof.py            | 7 ++++++-
 jc/parsers/mount.py           | 7 ++++++-
 jc/parsers/netstat.py         | 7 ++++++-
 jc/parsers/ntpq.py            | 7 ++++++-
 jc/parsers/passwd.py          | 7 ++++++-
 jc/parsers/ping.py            | 7 ++++++-
 jc/parsers/pip_list.py        | 7 ++++++-
 jc/parsers/pip_show.py        | 7 ++++++-
 jc/parsers/ps.py              | 7 ++++++-
 jc/parsers/route.py           | 7 ++++++-
 jc/parsers/shadow.py          | 7 ++++++-
 jc/parsers/ss.py              | 7 ++++++-
 jc/parsers/stat.py            | 7 ++++++-
 jc/parsers/sysctl.py          | 7 ++++++-
 jc/parsers/systemctl.py       | 7 ++++++-
 jc/parsers/systemctl_lj.py    | 7 ++++++-
 jc/parsers/systemctl_ls.py    | 7 ++++++-
 jc/parsers/systemctl_luf.py   | 7 ++++++-
 jc/parsers/timedatectl.py     | 7 ++++++-
 jc/parsers/tracepath.py       | 7 ++++++-
 jc/parsers/traceroute.py      | 7 ++++++-
 jc/parsers/uname.py           | 9 +++++++--
 jc/parsers/uptime.py          | 7 ++++++-
 jc/parsers/w.py               | 7 ++++++-
 jc/parsers/who.py             | 7 ++++++-
 jc/parsers/xml.py             | 7 ++++++-
 jc/parsers/yaml.py            | 7 ++++++-
 114 files changed, 686 insertions(+), 116 deletions(-)
7432442983841b42c8d3d2459b55596c05d1e100 add usage
 docs/parsers/blkid.md | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
5344883394a0662ee16bb5edd68df8e4410025f6 spelling/add ping parser update
 CHANGELOG | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
3fcd2f6c2e015b0e65e7261c8e591ccd8a7d0e6c version bump
 jc/cli.py | 2 +-
 setup.py  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
f3d84bd5bf06349b681e9b72d904676e9f6bca19 tighten crontab and crontab-u parser variable detection
 CHANGELOG                              |  3 +++
 jc/parsers/crontab.py                  |  2 +-
 jc/parsers/crontab_u.py                |  4 ++--
 tests/fixtures/debian10/crontab-u.json |  1 +
 tests/fixtures/debian10/crontab-u.out  |  2 ++
 tests/test_crontab_u.py                | 12 ++++++++++++
 6 files changed, 21 insertions(+), 3 deletions(-)
549780c23220bca3bcab58d7329ba8d44d1be55d add debian/apt-get info
 README.md | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
2a6da69b82aa9ade6c01d490a32b57b415c62a9e improve linux/bsd check
 jc/parsers/ping.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
5c538816cf76686bac1a86a7c06e24664d25a2dc ping parser fix for raspberry pi
 CHANGELOG                          |  3 +++
 jc/cli.py                          |  2 +-
 jc/parsers/ping.py                 |  4 ++--
 setup.py                           |  2 +-
 tests/fixtures/pi/ping-ip-O-D.json |  1 +
 tests/fixtures/pi/ping-ip-O-D.out  | 10 ++++++++++
 tests/fixtures/pi/ping-ip-O.json   |  1 +
 tests/fixtures/pi/ping-ip-O.out    | 10 ++++++++++
 tests/test_ping.py                 | 26 ++++++++++++++++++++++++++
 9 files changed, 55 insertions(+), 4 deletions(-)
7b8b378a7df397c488fc54fbd6e77f5f3f23c10c add pydoc-markdown version requirement
 docgen.sh | 1 +
 1 file changed, 1 insertion(+)
e30a75e25c4b43969bf9f874f89e18512a5e3a34 Merge pull request #76 from kellyjonbrazil/dev
85ad5cfd0bfb903ce35e37b343244fed88dbd979 date change
 CHANGELOG | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
88b9d5068c5bac0691fedb543114300d6afc7131 finish date parser
 EXAMPLES.md                      | 18 ++++++++++++++++++
 README.md                        |  1 +
 docs/parsers/date.md             | 34 +++++++++++++++++++---------------
 tests/fixtures/generic/date.json |  1 +
 tests/fixtures/generic/date.out  |  1 +
 tests/test_date.py               | 34 ++++++++++++++++++++++++++++++++++
 6 files changed, 74 insertions(+), 15 deletions(-)
f8c4948a090642db595eda2ba2ea0773e560ba67 remove comment
 jc/parsers/date.py | 1 -
 1 file changed, 1 deletion(-)
412322447f019aec0b64888631bc965e9f21186d add month_num and weekday_num fields
 jc/parsers/date.py | 65 ++++++++++++++++++++++++++++++++++++++++--------------
 1 file changed, 48 insertions(+), 17 deletions(-)
d4f289e40fae621b87f0d49451fca4c3dde216b7 documentation fixup
 docs/parsers/date.md | 4 ++--
 jc/parsers/date.py   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
e1f3feb8f529172ae26ce4c7a66a4a1c21b722ce cover empty data case in process
 jc/parsers/date.py | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)
37d3bc699c7be16955be06840d242980f05f1074 add date parser
 CHANGELOG            |   3 +-
 docgen.sh            |   1 +
 docs/parsers/date.md |  89 ++++++++++++++++++++++++++++++++++++
 jc/cli.py            |   1 +
 jc/parsers/date.py   | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++
 man/jc.1             |   4 ++
 6 files changed, 224 insertions(+), 1 deletion(-)
672fd18016b8122510b6ab246b5675b7fd399b63 date bump
 man/jc.1 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
bc2c23a2a09b96d34bb80f69fdc7751fb5ac3ed4 version bump
 man/jc.1 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
865f7e78124e382c6d315702fa6e48f2104cee46 add kv parser to man page
 man/jc.1 | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
720212b552e1bd2b9196dd5f06e4b3f85d463531 fixup traceroute example with new behavior
 EXAMPLES.md | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)
d3be61f60837801d5a505dc2520cc80c874a6092 version bump
 jc/parsers/traceroute.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
13418b16b8fd78fdd97ac045ec3fe9aa59d46080 doc update
 docs/parsers/traceroute.md | 5 ++++-
 jc/parsers/traceroute.py   | 5 ++++-
 2 files changed, 8 insertions(+), 2 deletions(-)
42d2017cd6f5ee1d1a92bd4958cd63366c1e715d traceroute updates: handle missing header row, add annotations, don't print timeouts as probes
 CHANGELOG                                          |  3 +++
 jc/parsers/traceroute.py                           | 26 +++++++++++++++-------
 tests/fixtures/centos-7.7/traceroute.json          |  2 +-
 tests/fixtures/freebsd12/traceroute.json           |  2 +-
 tests/fixtures/freebsd12/traceroute6.json          |  2 +-
 tests/fixtures/generic/traceroute1.json            |  2 +-
 tests/fixtures/generic/traceroute2.json            |  2 +-
 tests/fixtures/generic/traceroute3.json            |  2 +-
 tests/fixtures/generic/traceroute5.json            |  2 +-
 tests/fixtures/generic/traceroute6.json            |  2 +-
 tests/fixtures/generic/traceroute7.json            |  2 +-
 tests/fixtures/osx-10.14.6/traceroute-asn.json     |  2 +-
 .../fixtures/osx-10.14.6/traceroute-no-header.json |  1 +
 tests/fixtures/osx-10.14.6/traceroute-q.json       |  2 +-
 tests/fixtures/osx-10.14.6/traceroute.json         |  2 +-
 .../osx-10.14.6/traceroute6-mult-addresses.json    |  2 +-
 tests/fixtures/osx-10.14.6/traceroute6.json        |  2 +-
 tests/test_traceroute.py                           |  7 ++++--
 18 files changed, 41 insertions(+), 24 deletions(-)
4345e76ead2a49ae0691077e9fbd2b6c5fdfd129 change to use --kv for key/value files
 EXAMPLES.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
741431322ba2677355c361fcd6095ed8cd0a4349 update tests for kv parser
 tests/test_ini.py | 24 ------------------------
 tests/test_kv.py  | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 46 insertions(+), 24 deletions(-)
980beaaf41a04891f7c2f5daeb1e3a23d3c7ec19 fix docgen issue
 jc/parsers/ifconfig.py | 2 --
 1 file changed, 2 deletions(-)
2205034e0906b333c259648f7a0e5392945f12ef add kv parser
 CHANGELOG         |  3 +++
 EXAMPLES.md       | 53 ++++++++++++++++++++++---------------------
 README.md         |  3 ++-
 docgen.sh         |  1 +
 jc/cli.py         |  3 ++-
 jc/parsers/ini.py |  4 ++--
 jc/parsers/kv.py  | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 setup.py          |  2 +-
 8 files changed, 105 insertions(+), 31 deletions(-)
82b9c87a66fce5d8626c56858a8c6f1f3326e7fb update docs
 docs/parsers/airport.md       |  6 ++++-
 docs/parsers/airport_s.md     |  6 ++++-
 docs/parsers/arp.md           |  6 ++++-
 docs/parsers/blkid.md         |  6 ++++-
 docs/parsers/crontab.md       |  6 ++++-
 docs/parsers/crontab_u.md     |  6 ++++-
 docs/parsers/csv.md           |  6 ++++-
 docs/parsers/df.md            |  6 ++++-
 docs/parsers/dig.md           |  6 ++++-
 docs/parsers/dmidecode.md     |  6 ++++-
 docs/parsers/du.md            |  6 ++++-
 docs/parsers/env.md           |  6 ++++-
 docs/parsers/file.md          |  6 ++++-
 docs/parsers/free.md          |  6 ++++-
 docs/parsers/fstab.md         |  6 ++++-
 docs/parsers/group.md         |  6 ++++-
 docs/parsers/gshadow.md       |  6 ++++-
 docs/parsers/history.md       |  6 ++++-
 docs/parsers/hosts.md         |  6 ++++-
 docs/parsers/id.md            |  6 ++++-
 docs/parsers/ifconfig.md      | 13 +++++----
 docs/parsers/ini.md           |  6 ++++-
 docs/parsers/iptables.md      |  6 ++++-
 docs/parsers/jobs.md          |  6 ++++-
 docs/parsers/kv.md            | 61 +++++++++++++++++++++++++++++++++++++++++++
 docs/parsers/last.md          |  6 ++++-
 docs/parsers/ls.md            |  6 ++++-
 docs/parsers/lsblk.md         |  6 ++++-
 docs/parsers/lsmod.md         |  6 ++++-
 docs/parsers/lsof.md          |  6 ++++-
 docs/parsers/mount.md         |  6 ++++-
 docs/parsers/netstat.md       |  6 ++++-
 docs/parsers/ntpq.md          |  6 ++++-
 docs/parsers/passwd.md        |  6 ++++-
 docs/parsers/ping.md          |  6 ++++-
 docs/parsers/pip_list.md      |  6 ++++-
 docs/parsers/pip_show.md      |  6 ++++-
 docs/parsers/ps.md            |  6 ++++-
 docs/parsers/route.md         |  6 ++++-
 docs/parsers/shadow.md        |  6 ++++-
 docs/parsers/ss.md            |  6 ++++-
 docs/parsers/stat.md          |  6 ++++-
 docs/parsers/sysctl.md        |  6 ++++-
 docs/parsers/systemctl.md     |  6 ++++-
 docs/parsers/systemctl_lj.md  |  6 ++++-
 docs/parsers/systemctl_ls.md  |  6 ++++-
 docs/parsers/systemctl_luf.md |  6 ++++-
 docs/parsers/timedatectl.md   |  6 ++++-
 docs/parsers/tracepath.md     |  6 ++++-
 docs/parsers/traceroute.md    |  9 +++++--
 docs/parsers/uname.md         |  6 ++++-
 docs/parsers/uptime.md        |  6 ++++-
 docs/parsers/w.md             |  6 ++++-
 docs/parsers/who.md           |  6 ++++-
 docs/parsers/xml.md           |  6 ++++-
 docs/parsers/yaml.md          |  6 ++++-
 docs/readme.md                |  1 +
 docs/utils.md                 |  5 ++++
 58 files changed, 345 insertions(+), 62 deletions(-)
dda517a937323b9888e081aea1032a9d63c4a6bf shorten more examples
 README.md | 166 ++------------------------------------------------------------
 1 file changed, 3 insertions(+), 163 deletions(-)
4e6d283b9eddf7759b4dd37bd643394ff73febd4 shorten netstat example
 README.md | 65 ---------------------------------------------------------------
 1 file changed, 65 deletions(-)
55acab05aa740dfd7534304f2678b60942cad116 change name to CHANGELOG
 changelog.txt => CHANGELOG | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
ed38a18d236cdb991779f4f148e42359c139e61c remove more examples
 README.md | 87 +--------------------------------------------------------------
 1 file changed, 1 insertion(+), 86 deletions(-)
95b3c11203d3dd0627c5eeca39fe1d145bf2d733 remove more examples
 README.md | 124 --------------------------------------------------------------
 1 file changed, 124 deletions(-)
dce318f4fd44b9c4013211bf233020e84566ddb7 remove examples to reduce file size
 README.md | 1540 +------------------------------------------------------------
 1 file changed, 3 insertions(+), 1537 deletions(-)
85127f0fb8096192b19fca1f4ffe38ee391351be move examples to root
 jc/examples.md => EXAMPLES.md | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
fb45058244ce879f12bbb5b7267b0fd63fef1d63 add examples file
 jc/examples.md | 2640 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 2640 insertions(+)
45bb5ae389a00ed6a132a65c69ce76c7e5976858 spelling
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
339238ab364d8735892a11cb16a62a651edae169 version bump and add route -6 tests
 changelog.txt                            |  3 +++
 jc/cli.py                                |  2 +-
 setup.py                                 |  2 +-
 tests/fixtures/centos-7.7/route-6-n.json |  1 +
 tests/fixtures/centos-7.7/route-6-n.out  | 24 ++++++++++++++++++++++++
 tests/fixtures/centos-7.7/route-6.json   |  1 +
 tests/fixtures/centos-7.7/route-6.out    | 24 ++++++++++++++++++++++++
 tests/test_route.py                      | 24 ++++++++++++++++++++++++
 8 files changed, 79 insertions(+), 2 deletions(-)
032cda8b3db096b690d2557e3b918c50c716c543 Merge pull request #74 from kellyjonbrazil/dev
6badd3fb1e1cf6d1ee99614fadc20d54be8039aa add parser count test
 tests/test_cli.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
724d825745b6f1692eb3b068c3fb59d14892e690 add tracepath parser
 man/jc.1 | 4 ++++
 1 file changed, 4 insertions(+)
ff1e32ad2ee156f105f5069c6b14a65b22784dfa version bump
 setup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
a5f97febd3066b9e95a18d6b73162a7d206c5845 update traceroute, tracepath, and uname tests
 tests/fixtures/centos-7.7/tracepath.json  |  1 +
 tests/fixtures/centos-7.7/tracepath6.json |  1 +
 tests/fixtures/freebsd12/traceroute.json  |  1 +
 tests/fixtures/freebsd12/traceroute.out   | 14 ++++++++++
 tests/fixtures/freebsd12/traceroute6.json |  1 +
 tests/fixtures/freebsd12/traceroute6.out  | 34 +++++++++++++++++++++++
 tests/fixtures/osx-10.14.6/uname.out      |  1 +
 tests/test_tracepath.py                   | 46 +++++++++++++++++++++++++++++++
 tests/test_traceroute.py                  | 24 ++++++++++++++++
 tests/test_uname.py                       |  9 ++++++
 10 files changed, 132 insertions(+)
5baa6cc865634142690e78596c640db35e110b29 add route parser update
 changelog.txt | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
7a4f30b843d8f11711abbb8f9bb263f945ff87ea fix for iface issue
 jc/parsers/route.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
b2c385dc4f63e3e15f47e986deac0524967214a0 change 'if' to 'iface'
 jc/parsers/route.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
5d5da8d33fa6ab77c745d338d1a2e2e8f2e4c697 more fixes for ipv6 fix
 jc/parsers/route.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
e60457157839daba385202906997dec48c9c4950 fix next_hop fix
 jc/parsers/route.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
f9dacc3f95b32e1431914ae0b0dc5c8e8840d5a7 fixup for ipv6
 jc/parsers/route.py | 4 ++++
 1 file changed, 4 insertions(+)
6086920332575cd7db1b38262a3b4ba8fbfae7ab update ParseError message
 jc/parsers/traceroute.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
f52f3163bcaf8d7e784f02505e81456e8240295b add tracepath example
 README.md | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)
d18ff73e880c7d34957f2713857cc83094f914cc update author info
 jc/parsers/tracepath.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
1e5d602caecd96c9056ad77f9fc50cf25bf6fdfd working tracepath parser
 docs/parsers/tracepath.md | 122 ++++++++++++++++++++++++----
 jc/parsers/tracepath.py   | 198 +++++++++++++++++++++++++++++++++++++++++-----
 2 files changed, 288 insertions(+), 32 deletions(-)
12912521ecb376c36dfdd743b3c4195598fb9aac doc update
 docs/parsers/traceroute.md | 7 -------
 jc/parsers/traceroute.py   | 4 ----
 2 files changed, 11 deletions(-)
842ea3a94bec3fcab76257fdde5514d1de3d57fa add tracepath parser skeleton
 docs/parsers/tracepath.md | 64 ++++++++++++++++++++++++++++++++++
 jc/parsers/tracepath.py   | 89 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 153 insertions(+)
a8560dbc1598fa97de87594228b4cc10282d4197 add tracepath
 jc/cli.py | 1 +
 1 file changed, 1 insertion(+)
a65e27540a8c5c7123d2fdf79fcbefa1e2f8afdc update docs
 docgen.sh                  |  1 +
 docs/parsers/traceroute.md | 14 --------------
 jc/parsers/traceroute.py   | 10 ----------
 3 files changed, 1 insertion(+), 24 deletions(-)
c3c5ed11e68938e35920144406d37ea3b21d63dd change name from tr to trparse
 jc/parsers/traceroute.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
ce24149335cd8ed1e8513a2cf040432fe42d86b7 formatting
 jc/parsers/ping.py | 1 -
 1 file changed, 1 deletion(-)
0314ca8c4831d24c169a0e4948421ecd638fd699 add trparse acknowledgement
 README.md | 1 +
 1 file changed, 1 insertion(+)
ebd8ee49a9f43063850e30c745c8cae46ee13de1 add key/value info to ini example
 README.md | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)
38d10c97814ec69586c3b447c182f339772d6e22 add ping and traceroute examples
 README.md | 131 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 130 insertions(+), 1 deletion(-)
360106c24d24e6a9697c00a158a14aaa334a4b1f add tracepath
 changelog.txt | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
ca470a5d02fd9fbaf05d8b3b3bb1ffe9f4cf5af3 add tracepath fixtures
 tests/fixtures/centos-7.7/tracepath.out  | 34 ++++++++++++++++++++++++++++++++
 tests/fixtures/centos-7.7/tracepath6.out |  5 +++++
 2 files changed, 39 insertions(+)
57f66e6b1d554ff20b72959f5ebb9e7b2feffed2 add exception with hint to use "uname -a"
 changelog.txt       |  2 +-
 jc/parsers/uname.py | 14 +++++++++++++-
 2 files changed, 14 insertions(+), 2 deletions(-)
e774f67924c0e6195f79829b2ac75ce95f76fbaa turn off interpolation and coerce None to ''
 jc/parsers/ini.py | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)
ac10e576c167d20de259e47a6aa5b23fc998b4c3 spelling
 docs/parsers/ini.md | 4 ++--
 jc/parsers/ini.py   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
bcae0a99cd0ccce4ec8a67929f7c83a1095a5b88 add key/value to ini description
 man/jc.1 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
c73c2ff879b3ed7a3e6f04e53e0a729e4f00ed21 add ping, traceroute, and ini update
 changelog.txt | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
c39b1a3356881a11a8f6fe9432897e6d67162f07 add ping, traceroute and update ini description
 README.md | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
125dc2d9e051a82a4a438afe2e520212338353f5 add info about key/value files to doc
 docs/parsers/ini.md | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)
b7d4ddc7ced2c3aabf3a857b53a0bf1b62eb6a2c add tests for key/value files
 tests/fixtures/generic/keyvalue-ifcfg.json |  1 +
 tests/fixtures/generic/keyvalue-ifcfg.txt  | 19 +++++++++++++++++++
 tests/fixtures/generic/keyvalue.json       |  1 +
 tests/fixtures/generic/keyvalue.txt        |  5 +++++
 tests/test_ini.py                          | 24 ++++++++++++++++++++++++
 5 files changed, 50 insertions(+)
f5e546c6fa7cba166284a0976887d6b82451d3e8 add support for simple key/value pairs
 jc/parsers/ini.py | 42 +++++++++++++++++++++++++++++++++---------
 1 file changed, 33 insertions(+), 9 deletions(-)
928e39cd103b96b8c3ccc8d85c930ffb419296c6 add generic traceroute tests
 tests/fixtures/generic/traceroute1.json |  1 +
 tests/fixtures/generic/traceroute2.json |  1 +
 tests/fixtures/generic/traceroute3.json |  1 +
 tests/fixtures/generic/traceroute4.json |  1 +
 tests/fixtures/generic/traceroute5.json |  1 +
 tests/fixtures/generic/traceroute6.json |  1 +
 tests/fixtures/generic/traceroute7.json |  1 +
 tests/fixtures/generic/traceroute8.json |  1 +
 tests/test_traceroute.py                | 96 +++++++++++++++++++++++++++++++++
 9 files changed, 104 insertions(+)
d0b7ea68a005daff313e44808b256656313a78a3 check for key in dictionary
 jc/parsers/traceroute.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
8444690133b6a7522822ab279e97ede6ded17ba9 add traceroute
 man/jc.1 | 4 ++++
 1 file changed, 4 insertions(+)
c03c42d76703ff8f423cf3c10ea6254a27a685cb add traceroute tests
 tests/fixtures/centos-7.7/traceroute.json          |  1 +
 tests/fixtures/osx-10.14.6/traceroute-asn.json     |  1 +
 .../osx-10.14.6/traceroute-mult-addresses.json     |  1 +
 tests/fixtures/osx-10.14.6/traceroute-q.json       |  1 +
 tests/fixtures/osx-10.14.6/traceroute.json         |  1 +
 .../osx-10.14.6/traceroute6-mult-addresses.json    |  1 +
 ...-address.out => traceroute6-mult-addresses.out} |  0
 tests/fixtures/osx-10.14.6/traceroute6.json        |  1 +
 tests/test_traceroute.py                           | 78 +++++++++++++++++++---
 9 files changed, 76 insertions(+), 9 deletions(-)
ab67688a00ac335d2a5603e9cadef8b565957911 add test skeleton
 tests/test_traceroute.py | 55 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)
5dcb7166daef3c53da65bba0d591672e64d3a90b add traceroute doc
 docgen.sh                  |   1 +
 docs/parsers/traceroute.md | 168 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 169 insertions(+)
14697b86d7fc1cfebb41e0fd2d9a9b9b60071d3b add MIT license
 jc/parsers/traceroute.py | 26 ++++++++++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)
4f4b6276d4bf798b17d996f39742bd0428fc2f19 update docstring
 jc/parsers/traceroute.py | 71 ++++++++++++++++++++++++++----------------------
 1 file changed, 38 insertions(+), 33 deletions(-)
7bc497e1291059ae7858c9d2bd2d9a1b4c030dd1 updated process() function to set integers and floats
 jc/parsers/traceroute.py | 131 ++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 117 insertions(+), 14 deletions(-)
68a37a6a5a3f0ad0fa24c84d363050af9fa11f97 remove unused function load()
 jc/parsers/traceroute.py | 4 ----
 1 file changed, 4 deletions(-)
6f5cd1d7c5f76d7d4da42171fdc30daf9fe3996e change to use f-string
 jc/parsers/traceroute.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
126b1b121ca10183dc7e9dece83b42907becad39 add traceroute6 example
 tests/fixtures/generic/traceroute8.out | 10 ++++++++++
 1 file changed, 10 insertions(+)
2341e456a012564f86d533d2748a5887d79995e4 use ParseError instead of generic Exception
 jc/parsers/traceroute.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
72d80e95bb50ae2a7432082e65aba15235ba0955 remove unused regex patterns
 jc/parsers/traceroute.py               |  9 +--------
 tests/fixtures/generic/traceroute1.out | 16 ++++++++++++++++
 tests/fixtures/generic/traceroute2.out | 13 +++++++++++++
 tests/fixtures/generic/traceroute3.out | 20 ++++++++++++++++++++
 tests/fixtures/generic/traceroute4.out |  7 +++++++
 tests/fixtures/generic/traceroute5.out | 10 ++++++++++
 tests/fixtures/generic/traceroute6.out | 31 +++++++++++++++++++++++++++++++
 tests/fixtures/generic/traceroute7.out | 17 +++++++++++++++++
 8 files changed, 115 insertions(+), 8 deletions(-)
f5ec82440cd1c1b5ac9011d3517298d0cdcd8766 simplify regex patterns
 jc/parsers/traceroute.py | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)
c8e526ead35b868733f57b4c114062a48b78a817 fixes for bsd-style ipv6 output
 jc/parsers/traceroute.py                    | 11 ++++++++---
 tests/fixtures/osx-10.14.6/traceroute-q.out |  4 ++++
 2 files changed, 12 insertions(+), 3 deletions(-)
066adfb76479df7042bfb12bbb83b5dbd8a6d54c handle warning lines in the traceroute output
 jc/parsers/traceroute.py                           | 30 +++++++++++++++-----
 tests/fixtures/centos-7.7/traceroute.out           | 32 ++++++++++++++++++++++
 tests/fixtures/osx-10.14.6/traceroute-asn.out      |  5 ++++
 .../osx-10.14.6/traceroute-mult-addresses.out      |  5 ++++
 .../fixtures/osx-10.14.6/traceroute-no-header.out  |  3 ++
 .../osx-10.14.6/traceroute6-multi-address.out      |  8 ++++++
 tests/fixtures/osx-10.14.6/traceroute6.out         |  7 +++++
 7 files changed, 83 insertions(+), 7 deletions(-)
5b444d4717b0b8528647e17e71d699907def3e18 add traceroute parser
 jc/cli.py                                 |   1 +
 jc/parsers/traceroute.py                  | 295 ++++++++++++++++++++++++++++++
 tests/fixtures/osx-10.14.6/traceroute.out |  11 ++
 3 files changed, 307 insertions(+)
69c95adc8d59927c1c00b7e766ca5003b7b6454c add osx ipv6 ping dup test
 tests/fixtures/osx-10.14.6/ping6-ip-dup.json |  1 +
 tests/fixtures/osx-10.14.6/ping6-ip-dup.out  | 68 ++++++++++++++++++++++++++++
 tests/test_ping.py                           | 12 +++++
 3 files changed, 81 insertions(+)
2b0e0d8f5c1a6a5450e362971f9ad5892093b2ce add ipv6 dup test
 tests/fixtures/centos-7.7/ping6-ip-dup.json |  1 +
 tests/fixtures/centos-7.7/ping6-ip-dup.out  | 14 ++++++++++++++
 tests/test_ping.py                          | 12 ++++++++++++
 3 files changed, 27 insertions(+)
778d1bacbf8df523d434b22f5e1517955e4c15ee update docs to add "duplicates" fields
 docs/parsers/ping.md | 20 ++++++++++++++------
 jc/parsers/ping.py   | 20 ++++++++++++++------
 2 files changed, 28 insertions(+), 12 deletions(-)
7e1b0410166c584775ebcd681a280ec7321560c7 add duplicate replies tests
 tests/test_ping.py | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
313b9b329ca6b674069718839f55a4bd7834db80 update fixtures for added 'duplicate' fields
 tests/fixtures/centos-7.7/ping-hostname-O-D-p-s.json    | 2 +-
 tests/fixtures/centos-7.7/ping-hostname-O-p.json        | 2 +-
 tests/fixtures/centos-7.7/ping-hostname-O.json          | 2 +-
 tests/fixtures/centos-7.7/ping-ip-O-D.json              | 2 +-
 tests/fixtures/centos-7.7/ping-ip-O.json                | 2 +-
 tests/fixtures/centos-7.7/ping-ip-dup.json              | 1 +
 tests/fixtures/centos-7.7/ping6-hostname-O-D-p-s.json   | 2 +-
 tests/fixtures/centos-7.7/ping6-hostname-O-p.json       | 2 +-
 tests/fixtures/centos-7.7/ping6-ip-O-D-p.json           | 2 +-
 tests/fixtures/centos-7.7/ping6-ip-O-p.json             | 2 +-
 tests/fixtures/fedora32/ping-hostname-O-D-p-s.json      | 2 +-
 tests/fixtures/fedora32/ping-hostname-O-p.json          | 2 +-
 tests/fixtures/fedora32/ping-hostname-O.json            | 2 +-
 tests/fixtures/fedora32/ping-ip-O-D.json                | 2 +-
 tests/fixtures/fedora32/ping-ip-O.json                  | 2 +-
 tests/fixtures/fedora32/ping6-hostname-O-D-p-s.json     | 2 +-
 tests/fixtures/fedora32/ping6-hostname-O-D-p.json       | 2 +-
 tests/fixtures/fedora32/ping6-hostname-O-p.json         | 2 +-
 tests/fixtures/fedora32/ping6-ip-O-D-p.json             | 2 +-
 tests/fixtures/fedora32/ping6-ip-O-p.json               | 2 +-
 tests/fixtures/freebsd12/ping-hostname-p.json           | 2 +-
 tests/fixtures/freebsd12/ping-hostname-s.json           | 2 +-
 tests/fixtures/freebsd12/ping-hostname.json             | 2 +-
 tests/fixtures/freebsd12/ping-ip-p.json                 | 2 +-
 tests/fixtures/freebsd12/ping-ip-s.json                 | 2 +-
 tests/fixtures/freebsd12/ping-ip.json                   | 2 +-
 tests/fixtures/freebsd12/ping6-hostname-p.json          | 2 +-
 tests/fixtures/freebsd12/ping6-hostname-s.json          | 2 +-
 tests/fixtures/freebsd12/ping6-hostname.json            | 2 +-
 tests/fixtures/freebsd12/ping6-ip-p.json                | 2 +-
 tests/fixtures/freebsd12/ping6-ip-s.json                | 2 +-
 tests/fixtures/freebsd12/ping6-ip.json                  | 2 +-
 tests/fixtures/osx-10.14.6/ping-hostname-p.json         | 2 +-
 tests/fixtures/osx-10.14.6/ping-hostname-s.json         | 2 +-
 tests/fixtures/osx-10.14.6/ping-hostname.json           | 2 +-
 tests/fixtures/osx-10.14.6/ping-ip-dup.json             | 1 +
 tests/fixtures/osx-10.14.6/ping-ip-p.json               | 2 +-
 tests/fixtures/osx-10.14.6/ping-ip-s.json               | 2 +-
 tests/fixtures/osx-10.14.6/ping-ip.json                 | 2 +-
 tests/fixtures/osx-10.14.6/ping6-hostname-p.json        | 2 +-
 tests/fixtures/osx-10.14.6/ping6-hostname-s.json        | 2 +-
 tests/fixtures/osx-10.14.6/ping6-hostname.json          | 2 +-
 tests/fixtures/osx-10.14.6/ping6-ip-p.json              | 2 +-
 tests/fixtures/osx-10.14.6/ping6-ip-s.json              | 2 +-
 tests/fixtures/osx-10.14.6/ping6-ip.json                | 2 +-
 tests/fixtures/ubuntu-18.04/ping-hostname-O-D-p-s.json  | 2 +-
 tests/fixtures/ubuntu-18.04/ping-hostname-O-p.json      | 2 +-
 tests/fixtures/ubuntu-18.04/ping-hostname-O.json        | 2 +-
 tests/fixtures/ubuntu-18.04/ping-ip-O-D.json            | 2 +-
 tests/fixtures/ubuntu-18.04/ping-ip-O.json              | 2 +-
 tests/fixtures/ubuntu-18.04/ping6-hostname-O-D-p-s.json | 2 +-
 tests/fixtures/ubuntu-18.04/ping6-hostname-O-D-p.json   | 2 +-
 tests/fixtures/ubuntu-18.04/ping6-hostname-O-p.json     | 2 +-
 tests/fixtures/ubuntu-18.04/ping6-ip-O-D-p.json         | 2 +-
 tests/fixtures/ubuntu-18.04/ping6-ip-O-p.json           | 2 +-
 55 files changed, 55 insertions(+), 53 deletions(-)
6830062256fbc453f87224f7ab8c10e4494b5a83 add support for duplicate replies
 docs/parsers/ping.md                       |  6 ++-
 jc/parsers/ping.py                         | 83 ++++++++++++++++++++++--------
 tests/fixtures/centos-7.7/ping-ip-dup.out  | 27 ++++++++++
 tests/fixtures/osx-10.14.6/ping-ip-dup.out | 20 +++++++
 4 files changed, 112 insertions(+), 24 deletions(-)
323072c9827c41c5d74433504b5efceb846cfe09 add source_ip to schema doc
 docs/parsers/ping.md | 1 +
 jc/parsers/ping.py   | 1 +
 2 files changed, 2 insertions(+)
8719d96bddec80187e7ba3286ba93bfec8465744 change description
 jc/cli.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
dd5d318ab5bbb1027dd600fd3b0b6ec9b8adfdc3 version bump and add ping command
 man/jc.1 | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
d6dc7f5e65c097895c19000e59e8803a3b350fdc add osx ping tests
 tests/fixtures/osx-10.14.6/ping-hostname-p.json  |   1 +
 tests/fixtures/osx-10.14.6/ping-hostname-s.json  |   1 +
 tests/fixtures/osx-10.14.6/ping-hostname.json    |   1 +
 tests/fixtures/osx-10.14.6/ping-ip-p.json        |   1 +
 tests/fixtures/osx-10.14.6/ping-ip-s.json        |   1 +
 tests/fixtures/osx-10.14.6/ping-ip.json          |   1 +
 tests/fixtures/osx-10.14.6/ping6-hostname-p.json |   1 +
 tests/fixtures/osx-10.14.6/ping6-hostname-s.json |   1 +
 tests/fixtures/osx-10.14.6/ping6-hostname.json   |   1 +
 tests/fixtures/osx-10.14.6/ping6-ip-p.json       |   1 +
 tests/fixtures/osx-10.14.6/ping6-ip-s.json       |   1 +
 tests/fixtures/osx-10.14.6/ping6-ip.json         |   1 +
 tests/test_ping.py                               | 152 ++++++++++++++++++-----
 13 files changed, 135 insertions(+), 29 deletions(-)
c203664eb5aafa0afa3101b79e3fd13b3e009ec5 freebsd ping tests
 tests/fixtures/freebsd12/ping-hostname-p.json  |   1 +
 tests/fixtures/freebsd12/ping-hostname-s.json  |   1 +
 tests/fixtures/freebsd12/ping-hostname.json    |   1 +
 tests/fixtures/freebsd12/ping-ip-p.json        |   1 +
 tests/fixtures/freebsd12/ping-ip-s.json        |   1 +
 tests/fixtures/freebsd12/ping-ip.json          |   1 +
 tests/fixtures/freebsd12/ping6-hostname-p.json |   1 +
 tests/fixtures/freebsd12/ping6-hostname-s.json |   1 +
 tests/fixtures/freebsd12/ping6-hostname.json   |   1 +
 tests/fixtures/freebsd12/ping6-ip-p.json       |   1 +
 tests/fixtures/freebsd12/ping6-ip-s.json       |   1 +
 tests/fixtures/freebsd12/ping6-ip.json         |   1 +
 tests/test_ping.py                             | 168 +++++++++++++++++++++++--
 13 files changed, 171 insertions(+), 9 deletions(-)
19ecf1fa19e9fa0873002baf07fa670b71ed7752 add Fedora32 tests
 tests/fixtures/fedora32/ping-hostname-O-D-p-s.json |   1 +
 tests/fixtures/fedora32/ping-hostname-O-p.json     |   1 +
 tests/fixtures/fedora32/ping-hostname-O.json       |   1 +
 tests/fixtures/fedora32/ping-ip-O-D.json           |   1 +
 tests/fixtures/fedora32/ping-ip-O.json             |   1 +
 .../fixtures/fedora32/ping6-hostname-O-D-p-s.json  |   1 +
 tests/fixtures/fedora32/ping6-hostname-O-D-p.json  |   1 +
 tests/fixtures/fedora32/ping6-hostname-O-p.json    |   1 +
 tests/fixtures/fedora32/ping6-ip-O-D-p.json        |   1 +
 tests/fixtures/fedora32/ping6-ip-O-p.json          |   1 +
 tests/test_ping.py                                 | 108 +++++++++++++++++++++
 11 files changed, 118 insertions(+)
b8deb0426cc23333c0e0a9dc3776d9761d99abb0 add ubuntu ping tests
 .../ubuntu-18.04/ping-hostname-O-D-p-s.json        |   1 +
 tests/fixtures/ubuntu-18.04/ping-hostname-O-p.json |   1 +
 tests/fixtures/ubuntu-18.04/ping-hostname-O.json   |   1 +
 tests/fixtures/ubuntu-18.04/ping-ip-O-D.json       |   1 +
 tests/fixtures/ubuntu-18.04/ping-ip-O.json         |   1 +
 .../ubuntu-18.04/ping6-hostname-O-D-p-s.json       |   1 +
 .../ubuntu-18.04/ping6-hostname-O-D-p.json         |   1 +
 .../fixtures/ubuntu-18.04/ping6-hostname-O-p.json  |   1 +
 tests/fixtures/ubuntu-18.04/ping6-ip-O-D-p.json    |   1 +
 tests/fixtures/ubuntu-18.04/ping6-ip-O-p.json      |   1 +
 tests/test_ping.py                                 | 117 +++++++++++++++++++--
 11 files changed, 119 insertions(+), 8 deletions(-)
3b8371f0208a097cb8a1c026348d3842e6702b9c add centos ping tests
 .../fixtures/centos-7.7/ping-hostname-O-D-p-s.json |   1 +
 tests/fixtures/centos-7.7/ping-hostname-O-p.json   |   1 +
 tests/fixtures/centos-7.7/ping-hostname-O.json     |   1 +
 tests/fixtures/centos-7.7/ping-ip-O-D.json         |   1 +
 tests/fixtures/centos-7.7/ping-ip-O.json           |   1 +
 .../centos-7.7/ping6-hostname-O-D-p-s.json         |   1 +
 tests/fixtures/centos-7.7/ping6-hostname-O-p.json  |   1 +
 tests/fixtures/centos-7.7/ping6-ip-O-D-p.json      |   1 +
 tests/fixtures/centos-7.7/ping6-ip-O-p.json        |   1 +
 tests/test_ping.py                                 | 193 +++++++++++++++++++++
 10 files changed, 202 insertions(+)
20bb1cdf396abdb3707b34fa146cbe913f9bbd6f add TypeError to except for None values
 jc/parsers/ping.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
301daa48d0bfc28f97c8e46f028f8c6b875bf34e update documentation
 docs/parsers/ping.md | 128 ++++++++++++++++++++++++++++++++++++++++++++-------
 jc/parsers/ping.py   |   2 +
 2 files changed, 114 insertions(+), 16 deletions(-)
8421ec88033e02f472e4961d87551a0352663a16 remove cygwin compatibility
 jc/parsers/ping.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
74211eb0129f6aa655a38ba4d4d8844d81441107 add examples
 jc/parsers/ping.py | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 82 insertions(+), 5 deletions(-)
60bd42f298f309cbec6d24c9543ea3d51bd73b18 add process() logic
 jc/parsers/ping.py | 70 +++++++++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 59 insertions(+), 11 deletions(-)
14bdd74526e400997c5bc247ea35ed40799e83ff add ping test fixtures
 tests/fixtures/freebsd12/ping-hostname-p.out  | 9 +++++++++
 tests/fixtures/freebsd12/ping-hostname-s.out  | 8 ++++++++
 tests/fixtures/freebsd12/ping-hostname.out    | 8 ++++++++
 tests/fixtures/freebsd12/ping-ip-p.out        | 9 +++++++++
 tests/fixtures/freebsd12/ping-ip-s.out        | 8 ++++++++
 tests/fixtures/freebsd12/ping-ip.out          | 8 ++++++++
 tests/fixtures/freebsd12/ping6-hostname-p.out | 9 +++++++++
 tests/fixtures/freebsd12/ping6-hostname-s.out | 8 ++++++++
 tests/fixtures/freebsd12/ping6-hostname.out   | 8 ++++++++
 tests/fixtures/freebsd12/ping6-ip-p.out       | 9 +++++++++
 tests/fixtures/freebsd12/ping6-ip-s.out       | 8 ++++++++
 tests/fixtures/freebsd12/ping6-ip.out         | 8 ++++++++
 12 files changed, 100 insertions(+)
fb0f3eda04a4b1dbb81da7d5791cbfe746bfd617 add ping commands
 tests/fixtures/create_fixtures.sh | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
91ee6e6701307363336a39f9e16641465ddd05c2 add osx ping test fixtures
 tests/fixtures/osx-10.14.6/ping-hostname-p.out  | 9 +++++++++
 tests/fixtures/osx-10.14.6/ping-hostname-s.out  | 8 ++++++++
 tests/fixtures/osx-10.14.6/ping-hostname.out    | 8 ++++++++
 tests/fixtures/osx-10.14.6/ping-ip-p.out        | 9 +++++++++
 tests/fixtures/osx-10.14.6/ping-ip-s.out        | 8 ++++++++
 tests/fixtures/osx-10.14.6/ping-ip.out          | 8 ++++++++
 tests/fixtures/osx-10.14.6/ping6-hostname-p.out | 9 +++++++++
 tests/fixtures/osx-10.14.6/ping6-hostname-s.out | 8 ++++++++
 tests/fixtures/osx-10.14.6/ping6-hostname.out   | 8 ++++++++
 tests/fixtures/osx-10.14.6/ping6-ip-p.out       | 9 +++++++++
 tests/fixtures/osx-10.14.6/ping6-ip-s.out       | 8 ++++++++
 tests/fixtures/osx-10.14.6/ping6-ip.out         | 8 ++++++++
 12 files changed, 100 insertions(+)
51f4e6927c68a7e2a26954f564d10d316b98a984 add support for pattern in osx/bsd
 jc/parsers/ping.py | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)
94988d86674293faddc6f7e7c82575738d2dc791 add fedora ping fixtures
 tests/fixtures/fedora32/ping-hostname-O-D-p-s.out  | 26 ++++++++++++++++++++++
 tests/fixtures/fedora32/ping-hostname-O-p.out      | 26 ++++++++++++++++++++++
 tests/fixtures/fedora32/ping-hostname-O.out        | 25 +++++++++++++++++++++
 tests/fixtures/fedora32/ping-ip-O-D.out            | 25 +++++++++++++++++++++
 tests/fixtures/fedora32/ping-ip-O.out              | 25 +++++++++++++++++++++
 tests/fixtures/fedora32/ping6-hostname-O-D-p-s.out | 26 ++++++++++++++++++++++
 tests/fixtures/fedora32/ping6-hostname-O-D-p.out   | 26 ++++++++++++++++++++++
 tests/fixtures/fedora32/ping6-hostname-O-p.out     | 26 ++++++++++++++++++++++
 tests/fixtures/fedora32/ping6-ip-O-D-p.out         | 26 ++++++++++++++++++++++
 tests/fixtures/fedora32/ping6-ip-O-p.out           | 26 ++++++++++++++++++++++
 10 files changed, 257 insertions(+)
fe36f5a98cd3ee7753e250b6553e4453d971f929 add fixtures for ping
 tests/fixtures/centos-7.7/ping-ip-O-D.out          | 25 +++++++++++++++++++++
 tests/fixtures/centos-7.7/ping-ip-O.out            | 25 +++++++++++++++++++++
 tests/fixtures/create_fixtures.sh                  | 12 ++++++++++
 .../ubuntu-18.04/ping-hostname-O-D-p-s.out         | 26 ++++++++++++++++++++++
 tests/fixtures/ubuntu-18.04/ping-hostname-O-p.out  | 26 ++++++++++++++++++++++
 tests/fixtures/ubuntu-18.04/ping-hostname-O.out    | 25 +++++++++++++++++++++
 tests/fixtures/ubuntu-18.04/ping-ip-O-D.out        | 25 +++++++++++++++++++++
 tests/fixtures/ubuntu-18.04/ping-ip-O.out          | 25 +++++++++++++++++++++
 .../ubuntu-18.04/ping6-hostname-O-D-p-s.out        | 26 ++++++++++++++++++++++
 .../fixtures/ubuntu-18.04/ping6-hostname-O-D-p.out | 26 ++++++++++++++++++++++
 tests/fixtures/ubuntu-18.04/ping6-hostname-O-p.out | 26 ++++++++++++++++++++++
 tests/fixtures/ubuntu-18.04/ping6-ip-O-D-p.out     | 26 ++++++++++++++++++++++
 tests/fixtures/ubuntu-18.04/ping6-ip-O-p.out       | 25 +++++++++++++++++++++
 13 files changed, 318 insertions(+)
f9eb18b9271b2428dd82f2dc26d3fa0435dad81d change 'request_timeout' field to 'type', fix compatibility, other formatting fixes
 jc/parsers/ping.py | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)
cc60f3674822c644933f286a0364b09d7e2a60b3 add ping parser
 docgen.sh            |  1 +
 docs/parsers/ping.md | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 jc/cli.py            |  3 ++-
 3 files changed, 67 insertions(+), 1 deletion(-)
604ade791f7bd33b37f64916befba27a2ea08b5b add ping parser
 jc/parsers/ping.py                                 | 325 +++++++++++++++++++++
 .../fixtures/centos-7.7/ping-hostname-O-D-p-s.out  |  26 ++
 tests/fixtures/centos-7.7/ping-hostname-O-p.out    |  26 ++
 tests/fixtures/centos-7.7/ping-hostname-O.out      |  25 ++
 .../fixtures/centos-7.7/ping6-hostname-O-D-p-s.out |  26 ++
 tests/fixtures/centos-7.7/ping6-hostname-O-p.out   |  26 ++
 tests/fixtures/centos-7.7/ping6-ip-O-D-p.out       |  26 ++
 tests/fixtures/centos-7.7/ping6-ip-O-p.out         |  26 ++
 8 files changed, 506 insertions(+)
690ac52a917200e46eac2feafc9f504f2734301c add man page
 man/jc.1 | 261 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 261 insertions(+)
34ed772775f1f02ed148f24a3bfff532bc811607 version bump
 changelog.txt | 3 +++
 jc/cli.py     | 2 +-
 setup.py      | 2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)
d5ab95571f64f55d8194e9e5592ac538bb535229 fix tests when using older versions of pygments
 tests/test_cli.py | 37 ++++++++++++++++++++++++++-----------
 1 file changed, 26 insertions(+), 11 deletions(-)
ffb3a0ee5fb30a3f61d6cbedf877ab04acdbf624 Merge pull request #73 from kellyjonbrazil/dev
94b12b57aaa56170d1f31f4910fd1239f88de137 spelling
 changelog.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
6d149e84571d5d6dd1d8a1f219ba299de5173779 version bump
 changelog.txt | 7 +++++++
 setup.py      | 2 +-
 2 files changed, 8 insertions(+), 1 deletion(-)
1ad89c90d890039b817f65b2635db1b5e849a9e7 add pacman
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
fb71c7b020bc1eda9484595f30b0200a4f59aa45 function name spelling
 tests/test_cli.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
28ed17ad3bce866e5dc0179ef5de43380ac6ace1 add parser_count test to test_cli_about_jc
 tests/test_cli.py | 1 +
 1 file changed, 1 insertion(+)
0c2a4e2bf71dca50d4a9bb27ca99944909c022ff add cli tests
 tests/test_cli.py | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
62bec30de2f1a303f2ec411d89f7f9f9c6d1abaf add json_out tests
 tests/test_cli.py | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
3fced77e4e258dbf7db94a313e599c830a597b49 add set_env_colors tests
 tests/test_cli.py | 99 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 98 insertions(+), 1 deletion(-)
a09d1d8b7687912610598c88d172733d5e29b1ce move environment variable assignment to main() to simplify tests
 jc/cli.py | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)
8f4243fbd8d70ca9fd019e984c564e37c81e07db formatting
 README.md | 1 -
 1 file changed, 1 deletion(-)
47aaf20549ea238443427e69d5841d6996b7afab add sysctl command parser
 README.md | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
0c5289ea50e4d3d35e80147b4cad32434c19a2a0 add sysctl tests
 tests/fixtures/freebsd12/sysctl-a.json   |  2 +-
 tests/fixtures/osx-10.14.6/sysctl-a.json |  2 +-
 tests/test_sysctl.py                     | 70 ++++++++++++++++++++++++++++++++
 3 files changed, 72 insertions(+), 2 deletions(-)
3e53323514906fb84abfaeed0c2ee1fd9090ad8d don't filter out empty lines
 jc/parsers/sysctl.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
a5ee9861b9b9b479aee59ea5b1d75f20d7c3c8e7 update fixtures
 tests/fixtures/freebsd12/sysctl-a.json   |    1 +
 tests/fixtures/freebsd12/sysctl-a.out    | 3783 ++++++++++++++++++++++++++++++
 tests/fixtures/osx-10.14.6/sysctl-a.json |    2 +-
 3 files changed, 3785 insertions(+), 1 deletion(-)
feb8ca76545cba4fd0927273ddf90a77df994006 spelling
 docs/parsers/sysctl.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
a7abe4473b90c512466db9ae98cfac585689fe2a spelling
 jc/parsers/sysctl.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
780b9b61dec3e142e46c9a82146d2af4e1144123 specify IndexError exception in try/except block
 jc/parsers/sysctl.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
19ace36ffa659bedf0ba2e43572c9e253592b2e7 add fixtures
 tests/fixtures/osx-10.14.6/sysctl-a.json  |    1 +
 tests/fixtures/osx-10.14.6/sysctl-a.out   | 1287 +++++++++++++++++++++++++++++
 tests/fixtures/ubuntu-18.04/sysctl-a.json |    1 +
 tests/fixtures/ubuntu-18.04/sysctl-a.out  |  878 ++++++++++++++++++++
 4 files changed, 2167 insertions(+)
5fff8afc9f47f8cc6db8ed3613b90b5cdc683b43 add fixes for freebsd where values can be on separate lines under the key
 jc/parsers/sysctl.py | 44 +++++++++++++++++++++++++++++++++-----------
 1 file changed, 33 insertions(+), 11 deletions(-)
4ad230c9279c5eb6c8ed6baf7254b8e9328e5af0 doc update and add test fixtures
 docs/parsers/sysctl.md                  |  12 +-
 jc/parsers/sysctl.py                    |  12 +-
 tests/fixtures/centos-7.7/sysctl-a.json |   1 +
 tests/fixtures/centos-7.7/sysctl-a.out  | 918 ++++++++++++++++++++++++++++++++
 4 files changed, 929 insertions(+), 14 deletions(-)
dd98eb1ec8f451eb87a5094e76a7f758dee3fc69 append duplicate key values to original key instead of adding unique keys
 jc/parsers/sysctl.py | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)
c6baf42e72b4f41ed511e7db943297d03a39c0d5 doc updates
 docgen.sh              |  1 +
 docs/parsers/sysctl.md | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/sysctl.py   | 14 ++++----
 3 files changed, 94 insertions(+), 7 deletions(-)
e2bac97d563e5ef771ccd8ed1e5c42cbf588b120 fix for multiple identical keys in sysctl output
 jc/parsers/sysctl.py | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)
d112ee94d0ec534828c8508d0fb833b768975990 use try/except and add support for floats in process()
 jc/parsers/sysctl.py | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)
27b21b2fafab912f21b88b66c7f817cbce155765 formatting and docstring updates
 jc/cli.py | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)
8c96d5cd20448a4f7f9736c4d489d6ecc3068ad7 reduce pygments version requirement
 requirements.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
c29ed3fd695f725005333db5e6e2cd844bb4ca14 formatting of quotation marks and docstrings
 jc/cli.py | 27 ++++++++++++++-------------
 1 file changed, 14 insertions(+), 13 deletions(-)
cedf603f121636bdfa95432059c3c275c3ea3e9e minor formatting
 jc/cli.py | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
279161c36f288c27a9789054ae372fe8ceb58a94 Merge pull request #72 from duelafn/pygments-2.3
ce0b43d919f07d96d1b94e9d14d03e935e80011d Remove dependency on 3rd party packaging library
 jc/cli.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
ddafa5bf06066bab8e9587be902d6752fcf51605 Support older pygments
 jc/cli.py | 52 ++++++++++++++++++++++++++++++++++++++++++++++------
 setup.py  |  2 +-
 2 files changed, 47 insertions(+), 7 deletions(-)
bc7116c31bacf3159aef775fd0e615187420b010 fix JC_COLORS env bug and simplify set_env_colors()
 jc/cli.py | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)
53b709272115e769dac905296fa3b000c1cdd66a remove side-effects from functions and print in main()
 jc/cli.py | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)
beb9174b1b35937ae1fb99778369ae643a8f1005 add sysctl parser
 jc/parsers/sysctl.py | 123 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 123 insertions(+)
aea41ed341c8d53cc07c35e8044e8f816ddd2fed move verbose_debug enable earlier in code to catch more issues. add sysctl and version bump
 jc/cli.py | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)
d789494cb1f691aa352419aaefc692f654477177 change type check to use isinstance
 jc/tracebackplus.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
608e7b4cff081f92177e4151ffa1a91a4a6895ca add license info
 jc/tracebackplus.py | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)
4ee199c02a78c2707c5d1427d7c8fae56df5671c use tracebackplus instead of cgitb since cgitb is depricated
 jc/cli.py           |   6 +-
 jc/tracebackplus.py | 186 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 189 insertions(+), 3 deletions(-)
fbf47d408501dadda4671fb530f5e11859e85d53 add arch linux
 README.md | 1 +
 1 file changed, 1 insertion(+)
5a238e4b4204f0552327534ef798c28d3ad4f578 remove updates-testing from fedora command
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
f852b8246a8f9e5f7d9144fed3a0daa4eddfe035 wrap warning message
 jc/utils.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
88140d929a500ee78f807862c4912c399df2a460 wrap error message in code
 jc/cli.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
45f726824027af49c437b6e81e4700f7098af320 add -dd to error message
 jc/cli.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
3a3c8e4d4a77135eaee5cb30c3107a4531c300ce move verbose_debug under debug check
 jc/cli.py | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
c1ac183a0472e93226c9ee1905f56c5183e3721f simplify debug option
 jc/cli.py | 37 +++++++++++++++----------------------
 1 file changed, 15 insertions(+), 22 deletions(-)
18bb779ee5cd5821764b03173f16e922f753c64d formatting: double quotes to single quotes
 jc/cli.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
8b6612fe7911ab9e0bf8d29be60865d3b8aa3fd8 move JC_COLORS parsing error message
 jc/cli.py | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
fde0bc853415418e01616861ace5048770bd97f8 improve package install info
 README.md | 43 +++++++++----------------------------------
 1 file changed, 9 insertions(+), 34 deletions(-)
e661a78939ff067b8a61f08301c178dd10a344ab Merge pull request #71 from wigust/guix
847e346602789bf58e3515319e9d080dfb897fc9 add guix package info
 README.md | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
b9697516887c61f08d8d7b1dc9130350e5bdba9c add other references
 README.md | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
ad6f2ba03a293a7f55e456fa5f5b55ee3cbcd4ec formatting
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
63c6a5edc0e9001b143595fd8b96f1b4a1377a3a formatting
 README.md | 1 +
 1 file changed, 1 insertion(+)
9f4cf9dd5efe94adfff0961fdb73097ca27c5463 formatting
 README.md | 264 ++++++++++++++++++++++++++++++++++++++++++++++----------------
 1 file changed, 197 insertions(+), 67 deletions(-)
51331b6dc01eee00847fa4be549ffde365373a01 formatting
 README.md | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
efb6761033319644bf9cdae6288ff5609f6482ea formatting
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
6a4f737a0f1c322bebccf69809d9816fc770c5ef update json syntax highlighting
 README.md | 203 +++++++++++++++++++++++++++-----------------------------------
 1 file changed, 88 insertions(+), 115 deletions(-)
be6864b778ab721bcba5fc3221576153be7b2ed3 add syntax highlighting tags
 README.md | 52 ++++++++++++++++++++++++++--------------------------
 1 file changed, 26 insertions(+), 26 deletions(-)
de3b91a36cfcaf565b26b1da42f1e87835da4dc3 add -dd option
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
ef5482c3b5afa0ee8e85851bebab1c104cb59936 add verbose debug option
 changelog.txt |  3 +++
 jc/cli.py     | 17 +++++++++++------
 setup.py      |  2 +-
 3 files changed, 15 insertions(+), 7 deletions(-)
d20b795137036f8b889eb231cb4f14b756ec6479 Merge pull request #70 from kellyjonbrazil/dev
8a134065dff429551449c1ea16a36d745fdab580 update fixtures for last chain fix
 tests/fixtures/centos-7.7/iptables-filter-line-numbers.json   | 2 +-
 tests/fixtures/centos-7.7/iptables-filter-nv.json             | 2 +-
 tests/fixtures/centos-7.7/iptables-filter.json                | 2 +-
 tests/fixtures/centos-7.7/iptables-mangle.json                | 2 +-
 tests/fixtures/centos-7.7/iptables-nat.json                   | 2 +-
 tests/fixtures/centos-7.7/iptables-raw.json                   | 2 +-
 tests/fixtures/ubuntu-18.04/iptables-filter-line-numbers.json | 2 +-
 tests/fixtures/ubuntu-18.04/iptables-filter-nv.json           | 2 +-
 tests/fixtures/ubuntu-18.04/iptables-filter.json              | 2 +-
 tests/fixtures/ubuntu-18.04/iptables-mangle.json              | 2 +-
 tests/fixtures/ubuntu-18.04/iptables-nat.json                 | 2 +-
 tests/fixtures/ubuntu-18.04/iptables-raw.json                 | 2 +-
 12 files changed, 12 insertions(+), 12 deletions(-)
22aee1bfa40ed1d3c4df28cd934ef0edfc5c458c version bump
 changelog.txt | 3 +++
 jc/cli.py     | 2 +-
 setup.py      | 2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)
b282820fd67dcc96c058198f97b066e7b402d1f3 fix to include the final chain in output
 jc/parsers/iptables.py | 3 +++
 1 file changed, 3 insertions(+)
3ee098306daf903687cb0febf92773a81e216111 version bump
 jc/parsers/iptables.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
09e8f379a64b3b37bb99b4291c10aa4a5cdedea4 iptables code optimizations
 jc/parsers/iptables.py | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)
69018cdb3a77fcdcb5648e3b89933148c55a6412 fix date
 changelog.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
d0d7254c6acc7be4341618d231a5b166f640b287 add docstring
 docs/utils.md | 15 +++++++++++++++
 jc/utils.py   | 11 +++++++++++
 2 files changed, 26 insertions(+)
cc0f0971d76b6f3dec8d989e83f5676db8f2c6d9 Improve and standardize empty data check for all parsers
 changelog.txt               |   3 +
 jc/cli.py                   |   2 +-
 jc/parsers/airport.py       |  10 +-
 jc/parsers/airport_s.py     |   4 +-
 jc/parsers/arp.py           |   4 +-
 jc/parsers/blkid.py         |   5 +-
 jc/parsers/crontab.py       |   5 +-
 jc/parsers/crontab_u.py     |   5 +-
 jc/parsers/csv.py           |   5 +-
 jc/parsers/df.py            |   5 +-
 jc/parsers/dig.py           | 193 ++++++++++++++++----------------
 jc/parsers/dmidecode.py     | 264 ++++++++++++++++++++++----------------------
 jc/parsers/du.py            |   8 +-
 jc/parsers/env.py           |   8 +-
 jc/parsers/file.py          |  39 ++++---
 jc/parsers/foo.py           |   8 +-
 jc/parsers/free.py          |   5 +-
 jc/parsers/fstab.py         |   5 +-
 jc/parsers/group.py         |   5 +-
 jc/parsers/gshadow.py       |   5 +-
 jc/parsers/history.py       |  26 +++--
 jc/parsers/hosts.py         |   8 +-
 jc/parsers/id.py            |   8 +-
 jc/parsers/ifconfig.py      |  18 +--
 jc/parsers/ini.py           |   5 +-
 jc/parsers/iptables.py      |  44 ++++----
 jc/parsers/jobs.py          |   8 +-
 jc/parsers/last.py          |   8 +-
 jc/parsers/ls.py            |   5 +-
 jc/parsers/lsblk.py         |   8 +-
 jc/parsers/lsmod.py         |   5 +-
 jc/parsers/lsof.py          |   9 +-
 jc/parsers/mount.py         |   9 +-
 jc/parsers/netstat.py       |   8 +-
 jc/parsers/ntpq.py          |   5 +-
 jc/parsers/passwd.py        |   8 +-
 jc/parsers/pip_list.py      |   9 +-
 jc/parsers/pip_show.py      |   9 +-
 jc/parsers/ps.py            |   6 +-
 jc/parsers/route.py         |   6 +-
 jc/parsers/shadow.py        |   8 +-
 jc/parsers/ss.py            |   8 +-
 jc/parsers/stat.py          |   7 +-
 jc/parsers/systemctl.py     |   8 +-
 jc/parsers/systemctl_lj.py  |   8 +-
 jc/parsers/systemctl_ls.py  |   8 +-
 jc/parsers/systemctl_luf.py |   8 +-
 jc/parsers/timedatectl.py   |  14 ++-
 jc/parsers/uname.py         |   6 +-
 jc/parsers/uptime.py        |   5 +-
 jc/parsers/w.py             |   5 +-
 jc/parsers/who.py           |   8 +-
 jc/parsers/xml.py           |   5 +-
 jc/parsers/yaml.py          |  11 +-
 jc/utils.py                 |   4 +
 setup.py                    |   2 +-
 56 files changed, 476 insertions(+), 439 deletions(-)
2af61730f0f5b9bc6f1f4c5d9d808ff6ccb0faeb Merge pull request #68 from kellyjonbrazil/dev
83f41b83dc01c462c6a2295e9fc56ad42a3b62f4 version bump
 changelog.txt | 2 +-
 jc/cli.py     | 2 +-
 setup.py      | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
1fb84fce88e0306c26a5771fa4c6dc14a21409a1 fix for no data
 changelog.txt               |  5 ++++
 jc/parsers/systemctl_lj.py  |  3 ++-
 jc/parsers/systemctl_ls.py  | 33 +++++++++++++-----------
 jc/parsers/systemctl_luf.py | 35 +++++++++++++------------
 jc/parsers/uptime.py        |  5 ++--
 jc/parsers/w.py             | 63 ++++++++++++++++++++++++---------------------
 jc/parsers/xml.py           |  6 +++--
 tests/test_systemctl_ls.py  |  6 +++++
 tests/test_systemctl_luf.py |  6 +++++
 tests/test_timedatectl.py   |  6 +++++
 tests/test_uname.py         |  6 +++++
 tests/test_uptime.py        |  6 +++++
 tests/test_w.py             |  6 +++++
 tests/test_who.py           |  6 +++++
 tests/test_xml.py           |  6 +++++
 tests/test_yaml.py          |  6 +++++
 16 files changed, 137 insertions(+), 67 deletions(-)
a8837e12447c52dbe438b19c07777b9b4a22081c remove --upgrade from pip install
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
04d2eec5581998d1a80e762b670af76c92111065 fix for no data
 changelog.txt              |  2 ++
 jc/parsers/systemctl.py    | 33 ++++++++++++++++++---------------
 jc/parsers/systemctl_lj.py | 33 ++++++++++++++++++---------------
 tests/test_stat.py         |  6 ++++++
 tests/test_systemctl.py    |  6 ++++++
 tests/test_systemctl_lj.py |  6 ++++++
 6 files changed, 56 insertions(+), 30 deletions(-)
1b57ec92f052ddc8959540511512190a539262b7 fix for no data
 changelog.txt                              |  8 ++++++
 jc/parsers/mount.py                        |  3 ++-
 jc/parsers/netstat.py                      | 41 +++++++++++++++---------------
 jc/parsers/ntpq.py                         | 35 ++++++++++++-------------
 jc/parsers/pip_list.py                     | 31 +++++++++++-----------
 jc/parsers/ps.py                           |  9 ++++---
 jc/parsers/route.py                        |  9 ++++---
 jc/parsers/ss.py                           | 14 +++++-----
 tests/fixtures/centos-7.7/ss-sudo-a.json   |  2 +-
 tests/fixtures/ubuntu-18.04/ss-sudo-a.json |  2 +-
 tests/test_lsof.py                         |  6 +++++
 tests/test_mount.py                        |  6 +++++
 tests/test_netstat.py                      |  6 +++++
 tests/test_ntpq.py                         |  6 +++++
 tests/test_passwd.py                       |  6 +++++
 tests/test_pip_list.py                     |  6 +++++
 tests/test_pip_show.py                     |  6 +++++
 tests/test_ps.py                           |  6 +++++
 tests/test_route.py                        |  6 +++++
 tests/test_shadow.py                       |  6 +++++
 tests/test_ss.py                           |  6 +++++
 21 files changed, 152 insertions(+), 68 deletions(-)
4d8859540417e99e273fda2cea959240f3c37ea3 enhance empty data check
 jc/parsers/df.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
52b1272a3aab09b5a8c4a277fbf9975a1b8b6921 enhance empty data check
 jc/parsers/blkid.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
d2ccad6a83138fbf6eb863634fd354dc6c3fa238 fix for no data
 jc/parsers/lsblk.py | 21 ++++++++++++---------
 jc/parsers/lsmod.py | 15 +++++++++------
 tests/test_lsblk.py |  6 ++++++
 tests/test_lsmod.py |  6 ++++++
 4 files changed, 33 insertions(+), 15 deletions(-)
cad6dde4ac66cf970a7f52d8e7958ea35c083629 fix for no data
 tests/test_group.py    | 6 ++++++
 tests/test_gshadow.py  | 6 ++++++
 tests/test_history.py  | 6 ++++++
 tests/test_hosts.py    | 6 ++++++
 tests/test_id.py       | 6 ++++++
 tests/test_ifconfig.py | 6 ++++++
 tests/test_ini.py      | 6 ++++++
 tests/test_iptables.py | 6 ++++++
 tests/test_jobs.py     | 6 ++++++
 tests/test_last.py     | 6 ++++++
 10 files changed, 60 insertions(+)
06811c3539b0d871e13e9b8d3b51f731d06fd2ce add test for no data
 tests/test_fstab.py | 6 ++++++
 1 file changed, 6 insertions(+)
0cb23c2b21f464082609409261de8e95eb1b0d55 add fix for no data
 changelog.txt      |  1 +
 jc/parsers/free.py | 17 ++++++++++-------
 tests/test_free.py |  6 ++++++
 3 files changed, 17 insertions(+), 7 deletions(-)
ac4688dca22334385ec2c87027f2f14f9ca93ce4 add test for no data
 tests/test_file.py | 6 ++++++
 1 file changed, 6 insertions(+)
326c3b4670a0e47cbe2988b38fb1c1b26a4db890 add test for no data
 tests/test_env.py | 6 ++++++
 1 file changed, 6 insertions(+)
9b29d0c2688eda2e4707aeba693ed14fa433a706 add test for no data
 tests/test_du.py | 6 ++++++
 1 file changed, 6 insertions(+)
e0013c38710b4ecf3a588a16d1d908effc23b485 add test for no data
 tests/test_dmidecode.py | 5 +++++
 1 file changed, 5 insertions(+)
a75744075b0628bdb711d8a929a759b4b4067edb add no data test
 tests/test_dig.py | 6 ++++++
 1 file changed, 6 insertions(+)
525aec1a02380f17ab7827434616f981f7457bd0 fix for no data
 changelog.txt    |  1 +
 jc/parsers/df.py | 16 +++++++++-------
 tests/test_df.py |  6 ++++++
 3 files changed, 16 insertions(+), 7 deletions(-)
0bf9a7a072a80e10a29c6bb3943b107352dc1d45 add test for no data
 tests/test_csv.py | 6 ++++++
 1 file changed, 6 insertions(+)
d8f2f4c95bc699386b9fe93d10e13637875a1dcf fix for no data
 changelog.txt           |  2 ++
 jc/parsers/crontab.py   | 79 +++++++++++++++++++++++-----------------------
 jc/parsers/crontab_u.py | 83 +++++++++++++++++++++++++------------------------
 tests/test_crontab.py   |  6 ++++
 tests/test_crontab_u.py |  6 ++++
 5 files changed, 96 insertions(+), 80 deletions(-)
35d733b44f3705bed3dd8ce340379470f199f772 fix for no data
 changelog.txt       |   2 +
 jc/parsers/arp.py   | 112 +++++++++++++++++++++++++---------------------------
 jc/parsers/blkid.py |   4 +-
 tests/test_arp.py   |   6 +++
 tests/test_blkid.py |   6 +++
 5 files changed, 70 insertions(+), 60 deletions(-)
9179b4175c5063bed14ecb96ba24c517920c0d94 add nodata tests
 changelog.txt           | 4 ++++
 tests/test_airport.py   | 6 ++++++
 tests/test_airport_s.py | 6 ++++++
 3 files changed, 16 insertions(+)
bb07d78c78ff5c5b2ee4d2086ffc6dd5ebedf0fb add nodata fix
 jc/parsers/airport_s.py | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)
07b179cd7f8853ff6aca0b27a703e198c158ca72 Merge pull request #67 from kellyjonbrazil/Dev
054422d8373e7b8def18ddabd447062cb9cc3137 add test for empty directory
 tests/test_ls.py | 6 ++++++
 1 file changed, 6 insertions(+)
3e052d18102e98a09cbba21866855691eaccc216 version bump
 changelog.txt | 3 +++
 jc/cli.py     | 2 +-
 setup.py      | 2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)
c8e72805cf9def478b56c925f4afcc0ece1daac0 fix error on empty directory
 jc/parsers/ls.py | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)
12a80e7db0f6c7d536674ad8d34e26bba9a1f1f9 add fedora package info
 README.md | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)
ee7ff9a09d3373f60ae1645376ccc0057803147e Merge pull request #66 from kellyjonbrazil/dev
f6478fb636ead8d1e53e4a88d59e55222df37a8f version bump
 changelog.txt | 2 +-
 jc/cli.py     | 2 +-
 setup.py      | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
811a0b0495819925199d70db266066197cc6824e add info regarding the local parser plugin files
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
aeb48edf727f23cc4f8fd9b760cfb69f03098278 use $LOCALAPPDATA variable for windows
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
b1e94f0df7041bcae97455508f423178aef9d61d heading formatting
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
60050e3c0fe34980f7db5b8bd46430f953f0c3a3 fix linux/unix directory and add note about the XDG specification followed
 README.md | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)
39ef09aa5b0d43b5128299511afe80336aa38203 add local parser plugin feature
 changelog.txt | 3 +++
 1 file changed, 3 insertions(+)
8377d4311611c242e16eaebe66dafac9529150d4 formatting
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
54e4c447ab34ae54c73c92df40f1b4ca6ffb2277 clean up formatting
 jc/cli.py | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
937a9fa9cf2ede8e686ba853989f33e4a483a0ad vendorize appdirs module
 jc/appdirs.py    | 611 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 jc/cli.py        |   3 +-
 requirements.txt |   1 -
 setup.py         |   1 -
 4 files changed, 613 insertions(+), 3 deletions(-)
808ff6cf0e784cf0c2d523ff2e01197cb6e88c82 more acknowledgments updates
 README.md | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
7f5c649a95a871c3cd8d48731a6d26dcba6f725b update acknowledgments
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
b72727dec995de1ca5f68ee17a710b086c87d612 update custom parsers info
 README.md | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
3fc88bfb334143b68a9cb78d4034f33e7c0bcf76 Merge pull request #65 from duelafn/local-parsers
9f2279d5867eb89d4b4b7b4ffca290166ec97c48 Load custom parsers from <user_data_dir>/jc/jcparsers
 README.md        |  7 +++++++
 jc/cli.py        | 22 ++++++++++++++++++++--
 requirements.txt |  1 +
 setup.py         |  1 +
 4 files changed, 29 insertions(+), 2 deletions(-)
346a14cb9bb0d762fc3fa366ad97e5ff85f3992a change osx_device to unix_device
 changelog.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
dac00d17ff9f3d2bb959697b6e567015bfc2702b add nixos test
 tests/fixtures/nixos/route-ee.json |  1 +
 tests/fixtures/nixos/route-ee.out  |  4 ++++
 tests/test_route.py                | 12 ++++++++++++
 3 files changed, 17 insertions(+)
9ca7cd40601b97829e8f88071fdfb928d939f7e5 update docs
 jc/parsers/route.py | 51 +++++++++++++++++----------------------------------
 1 file changed, 17 insertions(+), 34 deletions(-)
aa31628970b12295a41dff20e829fcce9f8a4d07 update docs
 README.md               | 46 ++++++++++++++++++++++++--------------------
 docs/parsers/netstat.md | 16 +++++++++++++---
 docs/parsers/route.md   | 51 +++++++++++++++++--------------------------------
 docs/parsers/stat.md    |  4 ++--
 jc/parsers/netstat.py   | 16 +++++++++++++---
 5 files changed, 70 insertions(+), 63 deletions(-)
bed694fcf5c8c31bbd4f3e88759fe7ab82382d24 version bump
 setup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
4b4af69fa184896ec15b5be7dc8416f36f921d5e fix date
 changelog.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
9d96190a5b19e8d71c3ac66eb0303d269dd4ce5d Merge pull request #64 from kellyjonbrazil/dev
fa44d48c094a55e499c2c780d109bf277736b42e freebsd fixes, tests, and fixtures
 changelog.txt                        |   2 +
 jc/parsers/stat.py                   |  12 ++--
 tests/fixtures/freebsd12/stat.json   |   1 +
 tests/fixtures/freebsd12/stat.out    | 107 +++++++++++++++++++++++++++++++++++
 tests/fixtures/osx-10.14.6/stat.json |   2 +-
 tests/test_stat.py                   |  12 ++++
 6 files changed, 129 insertions(+), 7 deletions(-)
4ef961c2788c935b1fea1c9777b976e7b89e7367 add freebsd test and fixtures
 tests/fixtures/freebsd12/ntpq-p.json |  1 +
 tests/fixtures/freebsd12/ntpq-p.out  |  7 +++++++
 tests/test_ntpq.py                   | 12 ++++++++++++
 3 files changed, 20 insertions(+)
292a837d5c47165ccb155f079b0a114b5c17a98e add tests and fixtures for freebsd12
 tests/fixtures/freebsd12/last.json |  1 +
 tests/fixtures/freebsd12/last.out  |  9 +++++++++
 tests/test_last.py                 | 12 ++++++++++++
 3 files changed, 22 insertions(+)
aa7b915d847dbd29d2c09b2cc40b847e37174ffb version bump
 jc/parsers/last.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
c46fe73236b912d2ee89dfb36ff259fe95fd0479 add last fixes for freebsd
 changelog.txt | 1 +
 1 file changed, 1 insertion(+)
039b2c129cbe79d2d23b1194b043d8b730609956 freebsd fixes
 jc/parsers/last.py | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
8f2e5e4808b30c658a4cb87125639e4d7d6c15d8 fix compatible logic
 jc/utils.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
c4da8e4f78e6b4aaa4aff76ae042be9aaec832a7 add nixos and freebsd to tested. update new arp fields
 README.md | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)
bcab9078a4c2bfd6ae4dca9448b577d9ed0fc01c add w parser fix
 changelog.txt | 1 +
 1 file changed, 1 insertion(+)
b3c6c1ea925bf7cd76368f5074fb8af52a844522 strip whitespace in string fields and add tests
 jc/parsers/w.py             |  8 +++++++-
 tests/fixtures/nixos/w.json |  1 +
 tests/fixtures/nixos/w.out  |  5 +++++
 tests/test_w.py             | 20 ++++++++++++++++----
 4 files changed, 29 insertions(+), 5 deletions(-)
a3af8662bd491e344c93d24afabd23e90efd8086 add permanent field
 tests/fixtures/osx-10.11.6/arp-a.json  | 107 ++++++++++++++++++++++++++++++++-
 tests/fixtures/osx-10.14.6/arp-a.json  |  99 +++++++++++++++++++++++++++++-
 tests/fixtures/osx-10.14.6/arp-a2.json |   2 +-
 3 files changed, 205 insertions(+), 3 deletions(-)
35940d0bc80bf61b11f40b1e1043835f26eb391c add freebsd permanent and expires fields
 changelog.txt                       |  2 ++
 docs/parsers/arp.md                 | 12 +++++++++++-
 jc/parsers/arp.py                   | 33 ++++++++++++++++++++++++++++++---
 tests/fixtures/freebsd12/arp-a.json |  1 +
 tests/fixtures/freebsd12/arp-a.out  |  3 +++
 tests/test_arp.py                   | 12 ++++++++++++
 6 files changed, 59 insertions(+), 4 deletions(-)
26994cdcb7148d2c9d1701bca9541d247356260b add freebsd compatibility info
 docs/parsers/df.md      |   2 +-
 docs/parsers/fstab.md   |   2 +-
 docs/parsers/mount.md   |   2 +-
 docs/parsers/netstat.md | 163 ++++++++++++++++++++++++++++--------------------
 docs/parsers/ntpq.md    |   2 +-
 docs/parsers/route.md   |  25 ++++----
 docs/parsers/stat.md    |   2 +-
 docs/parsers/uname.md   |   2 +-
 8 files changed, 115 insertions(+), 85 deletions(-)
017159a829691cb6a7174f123d024eb252179b75 add freebsd nestat tests and fixtures
 tests/fixtures/freebsd12/netstat-Aa.json   |   1 +
 tests/fixtures/freebsd12/netstat-AaT.json  |   1 +
 tests/fixtures/freebsd12/netstat-AaT.out   |  24 +++++++
 tests/fixtures/freebsd12/netstat-AanP.json |   1 +
 tests/fixtures/freebsd12/netstat-AanP.out  |  24 +++++++
 tests/fixtures/freebsd12/netstat-Aax.json  |   1 +
 tests/fixtures/freebsd12/netstat-Aax.out   |  24 +++++++
 tests/fixtures/freebsd12/netstat-aT.json   |   1 +
 tests/fixtures/freebsd12/netstat-aT.out    |  24 +++++++
 tests/fixtures/freebsd12/netstat-an.json   |   1 +
 tests/fixtures/freebsd12/netstat-i.json    |   1 +
 tests/fixtures/freebsd12/netstat-ib.json   |   1 +
 tests/fixtures/freebsd12/netstat-ib.out    |   8 +++
 tests/fixtures/freebsd12/netstat-r.json    |   1 +
 tests/test_netstat.py                      | 108 +++++++++++++++++++++++++++++
 15 files changed, 221 insertions(+)
b4e9c85e08d199dad67f03c7603194278a022696 fixup -T freebsd output and add whitespace stripping to parse_post
 jc/parsers/netstat_freebsd_osx.py | 12 ++++++++++++
 1 file changed, 12 insertions(+)
189146cd84cfad262f2b2601bb0cb4b9dde2587e add more ints. remove whitespace strip code and move to freebsd_osx module
 jc/parsers/netstat.py | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)
af34153ffab10ca1ad7f44736d379d91ae43c813 version bump
 changelog.txt | 2 +-
 jc/cli.py     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
bf2ff3ffbb639446779b1f04f2997707d99c0a1f fix compatibility search for platform names that append the version number (e.g. freebsd12)
 jc/utils.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
6423c9efd69e938af38934a97ca6b65009e8f07e integer and float updates
 jc/parsers/netstat.py | 39 ++++++++++++++++++++++++++++++++++-----
 1 file changed, 34 insertions(+), 5 deletions(-)
58ab0d4ece7f006ce9431afb9e0fecbe60930be7 strip whitespace from string fields
 changelog.txt                              |  1 +
 jc/parsers/netstat.py                      | 11 +++++++++--
 tests/fixtures/osx-10.14.6/netstat-An.json |  2 +-
 tests/fixtures/osx-10.14.6/netstat.json    |  2 +-
 4 files changed, 12 insertions(+), 4 deletions(-)
83a738bf4d756036d6269b9153220d7f1018ac9c update fixtures for osx_flags and osx_inode name change to unix_flags and unix_inode
 tests/fixtures/osx-10.14.6/netstat-Abn.json | 2 +-
 tests/fixtures/osx-10.14.6/netstat-An.json  | 2 +-
 tests/fixtures/osx-10.14.6/netstat.json     | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
3640671fc6a67c9628fd47e19e9fe0a0738439ce rename module
 jc/parsers/{netstat_osx.py => netstat_freebsd_osx.py} | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
1da623b30ef6f9b12ac231518d2d4e7dadcf717b add items
 changelog.txt | 9 +++++++++
 1 file changed, 9 insertions(+)
b10ca64646e93d9797182ea046f4956a17b37627 change osx_inode and osx_flags to unix_inode and unix_flags. Also rename netstat_osx module to netstat_freebsd_osx
 jc/parsers/netstat.py | 142 +++++++++++++++++++++++++-------------------------
 1 file changed, 71 insertions(+), 71 deletions(-)
2128763ee67a07da6ebf123abeec39794bc1f4e2 fix osx version from 16.4 to 14.6
 tests/test_netstat.py | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)
a27e7ed39c63c04cfa78caceaada42f7a9496a2c test updates for added route_flags_pretty and flags_pretty fields
 tests/fixtures/centos-7.7/netstat-r.json      | 2 +-
 tests/fixtures/centos-7.7/netstat-rne.json    | 2 +-
 tests/fixtures/centos-7.7/netstat-rnee.json   | 2 +-
 tests/fixtures/centos-7.7/route-vn.json       | 2 +-
 tests/fixtures/centos-7.7/route.json          | 2 +-
 tests/fixtures/osx-10.14.6/netstat-r.json     | 2 +-
 tests/fixtures/osx-10.14.6/netstat-rnl.json   | 2 +-
 tests/fixtures/ubuntu-18.04/netstat-r.json    | 2 +-
 tests/fixtures/ubuntu-18.04/netstat-rne.json  | 2 +-
 tests/fixtures/ubuntu-18.04/netstat-rnee.json | 2 +-
 tests/fixtures/ubuntu-18.04/route-vn.json     | 2 +-
 tests/fixtures/ubuntu-18.04/route.json        | 2 +-
 12 files changed, 12 insertions(+), 12 deletions(-)
f07b7eaa474eb87dbdbc7fbe41b9386feff7bee2 add flags_pretty
 jc/parsers/route.py | 50 ++++++++++++++++++++++++++++++++++++++------------
 1 file changed, 38 insertions(+), 12 deletions(-)
6ce18de84ce16a926f9cd97c3210ef209c3352da add route_flags_pretty
 jc/parsers/netstat.py       | 139 ++++++++++++++++++++++----------------------
 jc/parsers/netstat_linux.py |  23 ++++++++
 jc/parsers/netstat_osx.py   |  37 +++++++++++-
 3 files changed, 130 insertions(+), 69 deletions(-)
8631b756e7ab8cd71c2a3eb288e2d1823cec5782 add freebsd test files
 tests/fixtures/freebsd12/netstat-Aa.out | 24 ++++++++++++++++++++++++
 tests/fixtures/freebsd12/netstat-an.out | 24 ++++++++++++++++++++++++
 tests/fixtures/freebsd12/netstat-i.out  |  8 ++++++++
 tests/fixtures/freebsd12/netstat-r.out  | 20 ++++++++++++++++++++
 4 files changed, 76 insertions(+)
7414d984125300164a5b6156d7a80128d4d6cb15 add freebsd compatibility
 jc/parsers/df.py    | 6 +++---
 jc/parsers/fstab.py | 6 +++---
 jc/parsers/mount.py | 6 +++---
 jc/parsers/ntpq.py  | 6 +++---
 jc/parsers/stat.py  | 6 +++---
 jc/parsers/uname.py | 6 +++---
 6 files changed, 18 insertions(+), 18 deletions(-)
d7b19892e8fb11e17fcbadcdbb08d49897d7754f add freebsd support for netstat -i
 jc/parsers/netstat.py     | 13 ++++++++-----
 jc/parsers/netstat_osx.py |  4 ++--
 2 files changed, 10 insertions(+), 7 deletions(-)
96df396eaf4e030113005a95e525d644c394dfe1 formatting
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2f6f640317da5af894f34f187c4243ef0c599d07 spelling
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
c4a0a50f3a3ac5833ab5d2f8a0cb3f18da335812 add nix-env
 README.md | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
658f8a3842273cea049689b3aea15d89a7294b24 add zypper and ports info
 README.md | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)
bfb876a1e394ff63c6773965ba0b65da4e109c1b formatting
 README.md | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
90c34b1f4ee2d9ec8125346bb90b227f76ada2ba fix dmidecode example
 README.md | 1 +
 1 file changed, 1 insertion(+)
3f9164ea77ec41e1b0671d0a642900d8e36faf9b bold formatting
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
7fd6fecbf5a08b1f13aa7e906e94be9bc126780a formatting
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
8029f72363a4d19938df07603f03a0147f6246a8 change osx_flags from integer to string
 changelog.txt                        | 3 +++
 docs/parsers/stat.md                 | 2 +-
 jc/cli.py                            | 2 +-
 jc/parsers/stat.py                   | 6 +++---
 setup.py                             | 2 +-
 tests/fixtures/osx-10.14.6/stat.json | 2 +-
 6 files changed, 10 insertions(+), 7 deletions(-)
c7fdce5d3b7566a7d290627767c47d9c196e02ad Merge pull request #62 from kellyjonbrazil/dev
84f48aa369a458f534523ecc1e3aaaf403d06f1c version bump
 changelog.txt | 2 +-
 jc/cli.py     | 2 +-
 setup.py      | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
2e9a0a9c1221dd01bd683ecbc4871d03738da671 add features
 changelog.txt | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
c1f6f2b9508e558ab88b4a0a61e93a6cf5460bea osx fixes and tests
 docs/parsers/stat.md                 |  8 ++-
 jc/parsers/stat.py                   |  5 +-
 tests/fixtures/osx-10.14.6/stat.json |  1 +
 tests/fixtures/osx-10.14.6/stat.out  | 94 ++++++++++++++++++++++++++++++++++++
 tests/test_stat.py                   | 12 +++++
 5 files changed, 116 insertions(+), 4 deletions(-)
ede21bca13c4b46899721f01d979c8b063f861a3 add OSX support for stat
 jc/parsers/stat.py | 188 +++++++++++++++++++++++++++++++----------------------
 1 file changed, 110 insertions(+), 78 deletions(-)
8dd9a9f9cbc70a19176f909f6ac76b2bcf670736 add netstat -i tests
 tests/fixtures/centos-7.7/netstat-i.json   |  1 +
 tests/fixtures/osx-10.14.6/netstat-i.json  |  1 +
 tests/fixtures/ubuntu-18.04/netstat-i.json |  1 +
 tests/fixtures/ubuntu-18.04/netstat-i.out  |  4 ++++
 tests/test_netstat.py                      | 38 ++++++++++++++++++++++++++++++
 5 files changed, 45 insertions(+)
04f92cd1330759e4bad1c0304b9e1c28e8d32d59 add linux support for netstat -i
 README.md                               | 32 +++++++++++++++++++++
 docs/parsers/netstat.md                 | 50 ++++++++++++++++++++++++++++++++-
 jc/parsers/netstat.py                   | 44 +++++++++++++++++++++++++++--
 jc/parsers/netstat_linux.py             | 39 +++++++++++++++++++++++++
 tests/fixtures/centos-7.7/netstat-i.out |  5 ++++
 5 files changed, 166 insertions(+), 4 deletions(-)
8be8d2393b276a9249e1c573ce19cf630f0942fd add netstat -i support for OSX
 jc/parsers/netstat.py                    | 19 +++++++++++---
 jc/parsers/netstat_osx.py                | 40 +++++++++++++++++++++++++++++
 tests/fixtures/osx-10.14.6/netstat-i.out | 43 ++++++++++++++++++++++++++++++++
 3 files changed, 99 insertions(+), 3 deletions(-)
0a879681be68fe2e6e5c013ab0fe18de99b04f7e add netstat -r to docs
 README.md               |  37 +++++++++++
 docs/parsers/netstat.md | 171 +++++++++---------------------------------------
 jc/parsers/netstat.py   | 171 +++++++++---------------------------------------
 3 files changed, 97 insertions(+), 282 deletions(-)
2ca1587a49511899bf719e0b0c7de32158fc491d add linux netstat -r tests
 tests/fixtures/centos-7.7/netstat-r.json      |  1 +
 tests/fixtures/centos-7.7/netstat-rne.json    |  1 +
 tests/fixtures/centos-7.7/netstat-rnee.json   |  1 +
 tests/fixtures/ubuntu-18.04/netstat-r.json    |  1 +
 tests/fixtures/ubuntu-18.04/netstat-r.out     |  5 ++
 tests/fixtures/ubuntu-18.04/netstat-rne.json  |  1 +
 tests/fixtures/ubuntu-18.04/netstat-rne.out   |  5 ++
 tests/fixtures/ubuntu-18.04/netstat-rnee.json |  1 +
 tests/fixtures/ubuntu-18.04/netstat-rnee.out  |  5 ++
 tests/test_netstat.py                         | 81 +++++++++++++++++++++++++++
 10 files changed, 102 insertions(+)
ec2cd2d708a57c0458657416bedcb4340cb40901 add netstat -r support for linux
 docs/parsers/netstat.md                     | 11 +++++----
 jc/parsers/netstat.py                       | 13 ++++++----
 jc/parsers/netstat_linux.py                 | 37 +++++++++++++++++++++++++++++
 jc/parsers/netstat_osx.py                   |  1 +
 tests/fixtures/centos-7.7/netstat-r.out     |  5 ++++
 tests/fixtures/centos-7.7/netstat-rne.out   |  5 ++++
 tests/fixtures/centos-7.7/netstat-rnee.out  |  5 ++++
 tests/fixtures/osx-10.14.6/netstat-r.json   |  2 +-
 tests/fixtures/osx-10.14.6/netstat-rnl.json |  2 +-
 9 files changed, 70 insertions(+), 11 deletions(-)
5d0dbece9317e84a47d9f4b2d18a9ffa33fbee6e add netstat -r functionality for OSX
 docs/parsers/netstat.md                     | 17 ++++-
 jc/parsers/netstat.py                       | 23 ++++++-
 jc/parsers/netstat_osx.py                   | 37 ++++++++++-
 tests/fixtures/osx-10.14.6/netstat-r.json   |  1 +
 tests/fixtures/osx-10.14.6/netstat-r.out    | 93 ++++++++++++++++++++++++++++
 tests/fixtures/osx-10.14.6/netstat-rnl.json |  1 +
 tests/fixtures/osx-10.14.6/netstat-rnl.out  | 96 +++++++++++++++++++++++++++++
 tests/test_netstat.py                       | 25 ++++++++
 8 files changed, 288 insertions(+), 5 deletions(-)
df1e4b414b2bda5be3153767cd854b2483ba600b remove unused folder
 .gitignore | 1 -
 1 file changed, 1 deletion(-)
40760991e7dae43cd15134310f7bbb5ce0f58dae update copyright date
 LICENSE.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
464f5f86cf2c8fe6a1a857b0ad4d221a3edf3d88 update description
 setup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
7b09e9fccdd4f09218a500b54c898ada1b9843c7 set empty values to Null and update fixtures
 docs/parsers/dmidecode.md                  | 2 +-
 jc/parsers/dmidecode.py                    | 5 ++++-
 tests/fixtures/centos-7.7/dmidecode.json   | 2 +-
 tests/fixtures/fedora32/dmidecode.json     | 2 +-
 tests/fixtures/ubuntu-18.04/dmidecode.json | 2 +-
 5 files changed, 8 insertions(+), 5 deletions(-)
6cba7d429898d331c674c778f8bd85ba75a8dca9 remove linux from description
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
9730f62e4970b5a4490f8dc24b6cfb9cacd0cbf2 fixup name field and update test fixtures
 jc/parsers/netstat_osx.py                   |   7 +-
 tests/fixtures/osx-10.14.6/netstat-Abn.json |   2 +-
 tests/fixtures/osx-10.14.6/netstat-An.json  |   2 +-
 tests/fixtures/osx-10.14.6/netstat.json     |   2 +-
 tests/fixtures/osx-10.14.6/netstat.out      | 271 +++++++++++++++-------------
 5 files changed, 151 insertions(+), 133 deletions(-)
e0c1c87f549eee000b93b5f5a3e8d0b052eb7d32 formatting
 README.md | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
931b3d2b836b251590497f4cfa65f106762086c1 formatting
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
e5d561baeecf1fd83a884b3cd9d322762f750dfb add multipath condition for osx detection
 jc/parsers/netstat.py | 1 +
 1 file changed, 1 insertion(+)
2867593e7aa12299686e2c6aa0f2a79a9b550b53 changelog update
 changelog.txt | 6 ++++++
 1 file changed, 6 insertions(+)
dd52fee5635c977d5c77046ab9fe78d2ed10deef osx netstat tests and fixtures
 tests/fixtures/osx-10.14.6/netstat-Abn.json |   1 +
 tests/fixtures/osx-10.14.6/netstat-Abn.out  | 689 ++++++++++++++++++++++++++
 tests/fixtures/osx-10.14.6/netstat-An.json  |   1 +
 tests/fixtures/osx-10.14.6/netstat-An.out   | 689 ++++++++++++++++++++++++++
 tests/fixtures/osx-10.14.6/netstat.json     |   1 +
 tests/fixtures/osx-10.14.6/netstat.out      | 724 ++++++++++++++++++++++++++++
 tests/test_netstat.py                       |  36 ++
 7 files changed, 2141 insertions(+)
8e1f8858273e671a882a07eae1c35b38f5298c94 fix filtered netstat views
 jc/parsers/netstat.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
2d39a58f902e6af77f8f96ffcd1d68b7cbadd56c doc update
 README.md                 | 67 +++++++++++++++++++++++++++++++++++++++++------
 docs/parsers/dmidecode.md |  4 +--
 docs/parsers/netstat.md   | 20 ++++++++++++--
 jc/parsers/dmidecode.py   |  4 +--
 4 files changed, 81 insertions(+), 14 deletions(-)
9c4fa2ae2601ca4880c0b078fa917f01f1392e0e integer conversions and icmp fix
 jc/parsers/netstat.py     | 21 +++++++++++++++++++--
 jc/parsers/netstat_osx.py |  3 +++
 2 files changed, 22 insertions(+), 2 deletions(-)
de52d84e82df6d8c5e2416c6bc44e59c41c685da fix udp state and udp46 entries
 jc/parsers/netstat_osx.py | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)
ce9b55059a28d363b8b0ae4f3ccbdbdc4bf4b58e organize files
 jc/parsers/netstat.py       | 171 +----------------------------------------
 jc/parsers/netstat_linux.py | 181 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 185 insertions(+), 167 deletions(-)
bcd370a6a01a115d470776f5690f8571d68d3930 code cleanup
 jc/parsers/netstat.py     | 16 ++++------------
 jc/parsers/netstat_osx.py |  4 +---
 2 files changed, 5 insertions(+), 15 deletions(-)
c8216850abd2d0b8cc6761453f853f296e8a28f3 code cleanup
 jc/parsers/netstat_osx.py | 74 ++++++++++++-----------------------------------
 1 file changed, 19 insertions(+), 55 deletions(-)
f5feedb90b39e5c3f4564615482d47ccd145844f fix comments
 jc/parsers/netstat_osx.py | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)
a4371cd187fe5077018edbfeee77eb17c6a90ad3 support netstat -A
 jc/parsers/netstat_osx.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
9d5ba4c83404e4fab5c0f40c30b4735685499a31 formatting
 jc/parsers/netstat_osx.py | 2 --
 1 file changed, 2 deletions(-)
1639dee1bb93f6f89e8bb7b37134dc1f561c479c fix parse_post
 jc/parsers/netstat_osx.py | 45 ++++++++++-----------------------------------
 1 file changed, 10 insertions(+), 35 deletions(-)
9363f430f20951e6fa739f06c85c5b6b3421b60d use list extend method to simplify code
 jc/parsers/netstat.py | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
9192a0907364c772558380be1373b8dcea972a6d parse all sections
 jc/parsers/netstat_osx.py | 158 ++++++++++++++++++++++++++++++++++++----------
 1 file changed, 124 insertions(+), 34 deletions(-)
b915eb97556ccc5fc60e8d23f7298ffec2d8e3b7 initial osx parser
 jc/parsers/netstat.py     | 118 ++++++++++++++++---------------
 jc/parsers/netstat_osx.py | 174 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 237 insertions(+), 55 deletions(-)
1cfcc2b592f682d2b50a0c4188fa3ae832a6c682 tighten up line test logic when counting tabs
 jc/parsers/dmidecode.py | 2 ++
 1 file changed, 2 insertions(+)
7138dd02b73073441a52c9b574bf0d6e02f0d7d9 cleanup variables after adding to item
 jc/parsers/dmidecode.py | 11 +++++++++++
 1 file changed, 11 insertions(+)
b4276643b70f7820f8f53df22b32fffb54e30ca2 add dmidecode tests and fixtures
 tests/fixtures/centos-7.7/dmidecode.json   |  1 +
 tests/fixtures/fedora32/dmidecode.json     |  1 +
 tests/fixtures/ubuntu-18.04/dmidecode.json |  1 +
 tests/test_dmidecode.py                    | 53 ++++++++++++++++++++++++++++++
 4 files changed, 56 insertions(+)
2ef00763bfe7c4348f30026759941efe39861a0c fix first item
 jc/parsers/dmidecode.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
54364928fc826ead7774a4cec1bcb73a5cb9ee0f fix oddities like hybrid single/multiline data and items containing multiple records
 docs/parsers/dmidecode.md |  37 ---------------
 jc/parsers/dmidecode.py   | 118 +++++++++++++++++++++++++++++-----------------
 2 files changed, 74 insertions(+), 81 deletions(-)
09b3b4932b0fa4a2b18c88a8465c15a194b727e6 add dmidecode output fixtures
 tests/fixtures/centos-7.7/dmidecode.out   | 11810 ++++++++++++++++++++++++++++
 tests/fixtures/fedora32/dmidecode.out     | 11810 ++++++++++++++++++++++++++++
 tests/fixtures/ubuntu-18.04/dmidecode.out | 11810 ++++++++++++++++++++++++++++
 3 files changed, 35430 insertions(+)
29d6670119d8fcd0344e90f01bfb6260aa936e50 convert integers
 jc/parsers/dmidecode.py | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
2f654b5f1acda01192294f4c18a5a31363e7f387 doc update
 docs/parsers/dmidecode.md | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
e53b9f5992450b53efc886b4fa9ca16f3dd07530 add caveats to documentation
 jc/parsers/dmidecode.py | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
addb234e6162c58750cb67947bc4776635bf54fb add dmidecode doc
 docs/parsers/dmidecode.md | 153 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 153 insertions(+)
76eca3b65911a0a340d3d94322a8145ee89c50da add dmidecode
 docgen.sh | 1 +
 1 file changed, 1 insertion(+)
f90dec4c0ecf88623fb22273b7527ec8884826c4 add examples to documentation
 jc/parsers/dmidecode.py | 99 ++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 94 insertions(+), 5 deletions(-)
8900a59d4cb424ff58d1eb27f8fda7ea0a668a5c simplify logic by removing redundant block
 jc/parsers/dmidecode.py | 20 +-------------------
 1 file changed, 1 insertion(+), 19 deletions(-)
6685138200d5955115707d04aad0293ea8af5b15 fix for missing multi-line values that come immediately after a previous multi-line value
 jc/parsers/dmidecode.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
4d3e65b980d50164b8220e59560822b9871580ea fix missing values
 jc/parsers/dmidecode.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
e9282bb546f560da6396f44e2ce9e04136348e2c add dmidecode parser
 jc/cli.py               |   1 +
 jc/parsers/dmidecode.py | 174 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 175 insertions(+)
f5627a45947e5e76e5f3e64d9b30099fe0b962a2 version bump
 changelog.txt | 3 +++
 jc/cli.py     | 2 +-
 setup.py      | 2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)
81ffdb25105c681c8ed12336d220a102b7f4215e remove shebang for Fedora packaging
 jc/cli.py | 1 -
 1 file changed, 1 deletion(-)
4c00a99850cb6f69713be7c6ad9ffba11924d9b8 version bump
 changelog.txt | 3 +++
 jc/cli.py     | 2 +-
 setup.py      | 2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)
2bfcb45b28e2174a8bbc27237e619b5c232ccae8 make cli.py executable
 jc/cli.py | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
ab0c10e791283affb227d0d5306701ba7fd29d13 remove execute permissions
 LICENSE.md | 0
 README.md  | 0
 2 files changed, 0 insertions(+), 0 deletions(-)
2c1935115de03a28fe92674b04b2542b0eccb8fe Merge pull request #61 from kellyjonbrazil/dev
d98e43dc78205d3224bfc1e67de2da3c5fb7ea9a add netstat item
 changelog.txt | 1 +
 1 file changed, 1 insertion(+)
9348988d646d9b9c9970c19e84f311554ae38e7b add netstat test for Fedora32
 tests/test_netstat.py | 12 ++++++++++++
 1 file changed, 12 insertions(+)
1285c664679c40b18327c89b85921a80b01f0191 netstat with bluetooth section
 tests/fixtures/fedora32/netstat.json |   1 +
 tests/fixtures/fedora32/netstat.out  | 139 +++++++++++++++++++++++++++++++++++
 2 files changed, 140 insertions(+)
b7191bbc130e0f33d02c0a4819fa91ffff1599d3 handle bluetooth section (ignore for now)
 jc/parsers/netstat.py | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)
98b97509f7893cb95e9651ce9706db5c961aa997 version bump
 changelog.txt | 4 ++++
 jc/cli.py     | 2 +-
 setup.py      | 2 +-
 3 files changed, 6 insertions(+), 2 deletions(-)
2b2b570490f3834367a598579473001f45738e8a add tests for 'gone - no logout'
 tests/fixtures/fedora32/last.json |  1 +
 tests/fixtures/fedora32/last.out  |  8 ++++++++
 tests/test_last.py                | 12 ++++++++++++
 3 files changed, 21 insertions(+)
cce2d1ff298f2284c43c4534144329f3533a81ad add condition for 'gone - no logout'
 jc/parsers/last.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
b79600c57249cbb65805caad2524cc2492342be6 version bump
 jc/parsers/ls.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
140f1a85437745296b56976bef1b46514e323a4f test fixes for issue #60
 tests/fixtures/centos-7.7/ls-R-newlines.json   | 2 +-
 tests/fixtures/centos-7.7/ls-R.json            | 2 +-
 tests/fixtures/centos-7.7/ls-glob.json         | 2 +-
 tests/fixtures/osx-10.14.6/ls-glob.json        | 2 +-
 tests/fixtures/ubuntu-18.04/ls-R-newlines.json | 2 +-
 tests/fixtures/ubuntu-18.04/ls-R.json          | 2 +-
 tests/fixtures/ubuntu-18.04/ls-glob.json       | 2 +-
 7 files changed, 7 insertions(+), 7 deletions(-)
e34657cfde6816ab7a7415d83580df0a1d98a5a6 fix issue #60 that was skipping the first file in some instances using -R without -l
 jc/parsers/ls.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
99070fa6073c4415a6faf8ca69dd6aa089af4062 version bump
 changelog.txt | 3 +++
 jc/cli.py     | 2 +-
 setup.py      | 2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)
2b46785b1f1281ee63df9159e36068f4607ad9b8 add MIT license to vendorized IfconfigParser class
 jc/parsers/ifconfig.py | 28 +++++++++++++++++++++++++---
 1 file changed, 25 insertions(+), 3 deletions(-)
c72562524b2b9aaca0be372bb24343158829ba5a fully remove tests from packaging
 setup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
b7dd6441c7e3f54f8a260fceef49aae6816c7151 version bump
 changelog.txt | 4 ++++
 jc/cli.py     | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)
31fcc2f755ad86622cf51a75879b14d44f246300 remove manifest.in - no longer needed due to removing tests
 MANIFEST.in | 1 -
 1 file changed, 1 deletion(-)
b391aa14bceffedb5a9c13f3f908923790edefc1 add license_file to metadata
 setup.cfg | 2 ++
 1 file changed, 2 insertions(+)
d3c45debbb6690acd341fbcc9b99d1ae4cf0a43c remove tests and add license file
 setup.py | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
5b08469b874553744bd5c5b1fa6581f4dcffacd0 Merge pull request #57 from kellyjonbrazil/dev
4a77ec63a46554c84e646d31564230774ed87431 add IfconfigParser class
 docs/parsers/ifconfig.md | 11 +++++++++++
 1 file changed, 11 insertions(+)
d13606b6dc2c207be6dea89a2c3e713c18a574b8 modify dependencies for easier packaging into Fedora
 changelog.txt    | 3 +++
 jc/cli.py        | 2 +-
 requirements.txt | 3 +--
 setup.py         | 5 ++---
 4 files changed, 7 insertions(+), 6 deletions(-)
05291c93bba1aa364ba1ac7f2508e24bb362a814 vendorize ifconfig-parser module for easier packaging in Fedora
 jc/parsers/ifconfig.py | 201 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 198 insertions(+), 3 deletions(-)
8cf00a208eb8493300331e7361b72e4f9e3f140e change text to strings
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
06d73c88767a5b4d6003231c897c447ee5e1faa5 formatting
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
649c646ea25ac7f89900cffa8919df01671bd32d add brew install option
 README.md | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
b7756d92501a7b8ba8e77d77d9d3718a58425beb version bump
 changelog.txt | 3 +++
 jc/cli.py     | 2 +-
 setup.py      | 2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)
1cd2cd954c21e5caec333507bd81819c82d45b49 remove references to homebrew/shim to allow tests to pass in homebrew packaging ci/cd
 tests/fixtures/osx-10.11.6/du.json | 2 +-
 tests/fixtures/osx-10.11.6/du.out  | 7 -------
 tests/fixtures/osx-10.14.6/du.json | 2 +-
 tests/fixtures/osx-10.14.6/du.out  | 7 -------
 4 files changed, 2 insertions(+), 16 deletions(-)
72020b8da999ddca6f9ba82da235c9f42e4f4273 move packages info to jc-packages github page
 README.md | 24 ++----------------------
 1 file changed, 2 insertions(+), 22 deletions(-)
cf9720b749e7fc8caed0d2f1f2b1727a22a156b6 update install info
 README.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
967b9db7f90a3c3a0352edde7f4455c5f5d45b18 spelling
 README.md | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
bb3acb1182f4d509f9ddc7dfcffa4578e0a2bd5e formatting
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
560c7f7e6d1f8a69ab026ddbff753d232ca1d00b formatting
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
79b28417644e00b933f531374d2f7fe8051e61be add new binary package install info
 README.md | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)
a06a89cbd11026aa3910fadd1eff7fe388d02507 version bump
 changelog.txt | 3 +++
 jc/cli.py     | 2 +-
 setup.py      | 2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)
431bd969eb4809424fe99a02a7decb98bce9ea51 use sys.exit(0) instead of exit()
 jc/cli.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
c87b722aec6e6964c516bbb8e80667ad7d9c6bc7 spelling
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
3688b8b014a1cf753b2207fbf3ebf0292c3fd672 Merge pull request #56 from kellyjonbrazil/dev
07b8d9e0c0d723d93e6c652f5b6156c467c451c7 version bump
 changelog.txt | 3 +++
 jc/cli.py     | 2 +-
 setup.py      | 2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)
7454b53e395e9122c00d4cf06b1c2af109913d7a formatting
 README.md | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
3d6a76024de0f9dcf91a4ab49cabe461074114fb update with JC_COLORS info
 README.md | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
421b9809575a8de00229af4b851739889638ac74 JC_COLORS working
 jc/cli.py | 55 ++++++++++++++++++-------------------------------------
 1 file changed, 18 insertions(+), 37 deletions(-)
4a22e27d6a80a988f4de17bce421110d6abb8867 add set_env_colors function
 jc/cli.py | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)
99f7842dee0f79cf933fae185cf8b0ed7c8b210f fix brek on pipe error
 changelog.txt | 3 +++
 jc/cli.py     | 8 +++++++-
 setup.py      | 2 +-
 3 files changed, 11 insertions(+), 2 deletions(-)
7f869b4b187d70752207a7e74c13b858446f898f change colors to ansi and match jello style
 changelog.txt |  3 +++
 jc/cli.py     | 15 +++++----------
 setup.py      |  2 +-
 3 files changed, 9 insertions(+), 11 deletions(-)
9665f4ee84680f3a8154b8a43ea668af2907782c add pypi badge
 README.md | 1 +
 1 file changed, 1 insertion(+)
606904d48b1c7e0c19a940b5be0b564d1b5be6c8 Merge pull request #53 from kellyjonbrazil/dev
3f5279b97c386c736e0e2faa5c39d68ef89c46aa version bump to 1.10.1
 changelog.txt | 3 +++
 jc/cli.py     | 2 +-
 setup.py      | 2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)
f5ec21e6ac612566af93158fc3968b901322d04a use in instead of find()
 jc/parsers/systemctl_luf.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
578a284465f014fe71ad6ac00bd41dc24ab2ced9 use in instead of find()
 jc/parsers/systemctl_ls.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
422e392d9d98a7864312fc7fbd7f45537b71acbe use in instead of find()
 jc/parsers/systemctl_lj.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
54dfffd34a17d1194690142ac403391fc65bb85f use in instead of find()
 jc/parsers/systemctl.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
cffba64d2b9165b44a8856665807111a2ad3a190 use in and startswith() instead of find()
 jc/parsers/stat.py | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
56a0c12a59bb252d3b7d0929f9fb19b4d96a8437 use in instead of find()
 jc/parsers/pip_list.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
c174d3de18923b2b03befb5a7dfcbd977a8e147e use in and startswith() instead of find()
 jc/parsers/netstat.py | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
a9c59ef9fc1bb68c9d0d7beffbeb670baf5b1e3f fix logic to not for ' type ' in cleandata[0]
 jc/parsers/mount.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
abdb9b26732a6a71f5938d665b2ca43a381e1b33 use in instead of find()
 jc/parsers/mount.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
548aaab6262878d21f8b9539950cfad48638e35c remove old commented code
 jc/parsers/lsof.py | 43 +------------------------------------------
 1 file changed, 1 insertion(+), 42 deletions(-)
20571c87ae9e1ca8a1f3120511910751420a35ac us in instead of find()
 jc/parsers/jobs.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
19e49200de5c731f76b42e80388c5223e8097e39 version bump
 jc/parsers/iptables.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
d32f5c67a91ede572c88e431b2ad0ce4d6c87dec use startswith() instead of find()
 jc/parsers/iptables.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
b83b626435c55d2aa63e56dd8f22603da59e7626 use startswith() instead of find()
 jc/parsers/ifconfig.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
ab2c1b25ec5da5f2ba238868c4dfca95a44da30e use startswith() and in instead of find()
 jc/parsers/hosts.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
f2d46313a4508f13656cdb360f83fdf4116cc7d7 use startswith() instead of find()
 jc/parsers/fstab.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
87e4796a6c936793e2784346819c7033d59b91e4 use in instead of .find()
 jc/parsers/df.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
0014a5c2f4c056c2683d6614a65d778b1f527932 us startswith() and in instead of .find()
 jc/parsers/crontab_u.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
7af56e0dadab7d8b9538f3b7a550ad6dd1ac217d use startswith() and in instead of find()
 jc/parsers/crontab.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
a5ae6e3c017b041f9079ff12455b7551ad204cb3 use startswith() instead of find()
 jc/parsers/arp.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
fe1a0d1faf46f55ed2888ed0065f3f3144691ed8 use in instead of .find()
 jc/parsers/dig.py | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)
302f05cdda305e46e69b74d5b0096f64c17da637 prettify style block
 jc/cli.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
c0044be7b0b6dadcffb64cb88ad92bf653dd2b6b rename color grey to gray
 jc/cli.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
01100788070b82b4b827ef356972fa9b8f737eeb update badge
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
42eacb45f8fdf8085c6231bf5297629c2ec97c22 rename to Tests
 .github/workflows/pythonapp.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
a43e2e19916662d509883457c160d7f95f97ae12 add -m option info
 README.md | 1 +
 1 file changed, 1 insertion(+)
c8b721d4f6e46a2db77e1140b9caeb3b403fef72 version bump to 1.10.0
 changelog.txt    | 4 ++++
 jc/cli.py        | 2 +-
 requirements.txt | 1 +
 setup.py         | 5 +++--
 4 files changed, 9 insertions(+), 3 deletions(-)
d0bfddc3d9989444757d6668726c916e5363620b add color and -m monochrome option
 jc/cli.py | 47 +++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 41 insertions(+), 6 deletions(-)
6b925a16c87cf75bb30edfda38511e8f84a4f6d6 add tests badge
 README.md | 2 ++
 1 file changed, 2 insertions(+)
89ebd9fc2271d2c76353d5707bfd4afb7dedc278 add axfr info to schema
 docs/parsers/dig.md | 10 ++++++++++
 jc/parsers/dig.py   | 10 ++++++++++
 2 files changed, 20 insertions(+)
6b4ba662317629839aa62fbcfefb8ed3337c37ef Merge pull request #52 from kellyjonbrazil/dev
5b697dc38141cdd47fcdd63bf295a80a7da86697 add more dig tests
 tests/test_dig.py | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 72 insertions(+)
9ba73c95d1a528a9a92be4068805bb5aa027901e add tests
 tests/fixtures/centos-7.7/dig-axfr.json   |  1 +
 tests/fixtures/centos-7.7/dig-axfr.out    | 60 +++++++++++++++++++++++++++++++
 tests/fixtures/osx-10.14.6/dig-axfr.json  |  1 +
 tests/fixtures/osx-10.14.6/dig-axfr.out   | 59 ++++++++++++++++++++++++++++++
 tests/fixtures/ubuntu-18.04/dig-axfr.json |  1 +
 tests/fixtures/ubuntu-18.04/dig-axfr.out  | 57 +++++++++++++++++++++++++++++
 tests/test_dig.py                         | 36 +++++++++++++++++++
 7 files changed, 215 insertions(+)
93aa39044749c4c0ed749f62fb00fc1c76dc5af0 version bump to v1.9.3
 changelog.txt | 3 +++
 jc/cli.py     | 2 +-
 setup.py      | 2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)
3cfb8945ddd83c00a720c44e2c1d97da0d8bad25 use startswith() instead of find
 jc/parsers/dig.py | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)
cd8d38f2a136c4f35efc020b3476d09e965b71f1 add axfr support
 jc/parsers/dig.py | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 50 insertions(+), 1 deletion(-)
8ec8cd62944c59c462ab9f520c1dcfd14218b1ed Merge pull request #50 from kellyjonbrazil/dev
c02811356153c2b4f8b2d7efb7f48bf8f7748068 version bump to v1.9.2
 changelog.txt | 5 ++++-
 jc/cli.py     | 2 +-
 setup.py      | 2 +-
 3 files changed, 6 insertions(+), 3 deletions(-)
5f22e1c8031b808ef02ffe078408bd58cc76e570 fix and test for osx arp entries without ifscope
 tests/fixtures/osx-10.14.6/arp-a2.json |  1 +
 tests/fixtures/osx-10.14.6/arp-a2.out  | 20 ++++++++++++++++++++
 tests/test_arp.py                      | 12 ++++++++++++
 3 files changed, 33 insertions(+)
d3351787e5cabd064c19e6617e9535e501686404 change osx detection
 jc/parsers/arp.py | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)
e5bea9ae3b0a70b38f7da7dd9184343dbbd18887 version bump
 jc/parsers/file.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
93c710abe9171568f61f65c4f84c040ffc24870c Merge pull request #49 from kellyjonbrazil/dev
c29e7cfe5cc4b2151912c6f618137d1b6c39c7be version bump to 1.9.1
 README.md     | 8 ++++----
 changelog.txt | 3 +++
 jc/cli.py     | 2 +-
 setup.py      | 2 +-
 4 files changed, 9 insertions(+), 6 deletions(-)
cb5c1ba00dc0e02bf6ad6c40096d99e319fa6171 add tests for fix to make the file parser splitting more robust
 tests/fixtures/osx-10.14.6/file2.json |  1 +
 tests/fixtures/osx-10.14.6/file2.out  | 88 +++++++++++++++++++++++++++++++++++
 tests/test_file.py                    | 12 +++++
 3 files changed, 101 insertions(+)
9a012b94e1942a14bc6dae3fb967ef618819c77b make splitting more robust
 jc/parsers/file.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
400f5a44ece280cb0097d806b78a9490d2905600 Merge pull request #48 from kellyjonbrazil/dev
a2ab5bab91ea980399df1afb9d8071fa3282d04e version bump to v1.9.0
 changelog.txt | 2 +-
 jc/cli.py     | 2 +-
 setup.py      | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
fc8ab27361df3359b706125531b2643612d6996a bugfix for misaligned columns and additional test for ntpq #31
 README.md                                |  8 ++---
 docs/parsers/ntpq.md                     | 40 +++++++++++-----------
 jc/parsers/ntpq.py                       | 59 ++++++++++++++++++--------------
 tests/fixtures/ubuntu-18.04/ntpq-p2.json |  1 +
 tests/fixtures/ubuntu-18.04/ntpq-p2.out  | 24 +++++++++++++
 tests/test_ntpq.py                       | 12 ++++++-
 6 files changed, 93 insertions(+), 51 deletions(-)
59f19d33a5c6677ea756a9424fdb032b430511a2 add file command tests for #41
 tests/fixtures/centos-7.7/file.json   |  1 +
 tests/fixtures/centos-7.7/file.out    | 25 +++++++++++++++++
 tests/fixtures/osx-10.14.6/file.json  |  1 +
 tests/fixtures/osx-10.14.6/file.out   | 53 +++++++++++++++++++++++++++++++++++
 tests/fixtures/ubuntu-18.04/file.json |  1 +
 tests/fixtures/ubuntu-18.04/file.out  | 20 +++++++++++++
 tests/test_file.py                    | 52 ++++++++++++++++++++++++++++++++++
 7 files changed, 153 insertions(+)
dfc96181159748d019419a2cba7aa9cb3b7a2a2c add file parser for issue #41
 README.md            |  36 +++++++++++++++
 changelog.txt        |   5 +-
 docgen.sh            |   1 +
 docs/parsers/file.md |  90 ++++++++++++++++++++++++++++++++++++
 jc/cli.py            |   1 +
 jc/parsers/file.py   | 128 +++++++++++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 260 insertions(+), 1 deletion(-)
8e02e5c75a11cf205299ee6f87b67f9b787cf55e fix issue with getting options with some commands #47
 jc/cli.py         | 8 +++-----
 tests/test_cli.py | 3 +++
 2 files changed, 6 insertions(+), 5 deletions(-)
970493ab9346a344b21be7614903ad81bc65a6e9 add magic commands
 jc/parsers/airport.py   | 1 +
 jc/parsers/airport_s.py | 1 +
 2 files changed, 2 insertions(+)
64d78956eb33ca0a2564fded3d12729ee036a915 update acknowledgment
 README.md | 1 +
 1 file changed, 1 insertion(+)
40c05346f4098f8eea14c42da07df3faa143587a re-adding optimizations from https://github.com/philippeitis
 jc/parsers/history.py | 37 ++++++++++++-------------------------
 1 file changed, 12 insertions(+), 25 deletions(-)
e9b0bc1409a824a82dabd2479892b7d18bad8c3f doc update
 jc/parsers/airport.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
798e6bb7d939176bb36771a6d41bd55403d583be tests passing for airport -s. issue #46
 tests/fixtures/osx-10.14.6/airport-s.json |  1 +
 tests/test_airport_s.py                   | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
12a370deed03ba42d7b7ebb410195ce5f32bb9c2 add airport -s parser for issue #46
 README.md                 |  47 +++++++++++-
 changelog.txt             |   2 +-
 docgen.sh                 |   1 +
 docs/parsers/airport.md   |   4 +-
 docs/parsers/airport_s.md | 136 ++++++++++++++++++++++++++++++++++
 jc/cli.py                 |   1 +
 jc/parsers/airport.py     |   5 +-
 jc/parsers/airport_s.py   | 185 ++++++++++++++++++++++++++++++++++++++++++++++
 8 files changed, 372 insertions(+), 9 deletions(-)
553bfbe1a0dd866851ba7eca66e9295c2097ad86 tests passing for airport -I. Issue #46
 docs/parsers/airport.md |  9 ++++++---
 jc/parsers/airport.py   |  9 ++++++---
 tests/test_airport.py   | 28 ++++++++++++++++++++++++++++
 3 files changed, 40 insertions(+), 6 deletions(-)
52494321fcfe0dc7ee71d8d78210b3c10372a237 fixes and docs for airport parser issue #46
 README.md                                 | 22 +++++++++++
 docs/parsers/airport.md                   | 48 ++++++++++++++++++++++--
 jc/parsers/airport.py                     | 62 +++++++++++++++++++++++++------
 tests/fixtures/osx-10.14.6/airport-I.json |  1 +
 tests/fixtures/osx-10.14.6/airport-I.out  |  2 +-
 5 files changed, 120 insertions(+), 15 deletions(-)
c6c9e06496683d2dd3586d17085801c7e698d960 added airport command parser
 changelog.txt                            |  3 +-
 docgen.sh                                |  1 +
 docs/parsers/airport.md                  | 64 +++++++++++++++++++++
 jc/cli.py                                |  1 +
 jc/parsers/airport.py                    | 98 ++++++++++++++++++++++++++++++++
 tests/fixtures/osx-10.14.6/airport-I.out | 15 +++++
 tests/fixtures/osx-10.14.6/airport-s.out | 15 +++++
 7 files changed, 196 insertions(+), 1 deletion(-)
e3a6c05a58a2451e70975d8fabf644c56603c73d timedatectl fixes, tests, and fixtures for issue #42
 docs/parsers/timedatectl.md                  | 18 +++++++------
 jc/parsers/timedatectl.py                    | 21 ++++++++-------
 tests/fixtures/centos-7.7/timedatectl.json   |  1 +
 tests/fixtures/ubuntu-18.04/timedatectl.json |  1 +
 tests/test_timedatectl.py                    | 40 ++++++++++++++++++++++++++++
 5 files changed, 64 insertions(+), 17 deletions(-)
391d06f68d1f45d33590d5407d3a5e4f723af717 change selection_state to state
 README.md                                |  4 ++--
 docs/parsers/ntpq.md                     | 26 +++++++++++++-------------
 jc/parsers/ntpq.py                       | 32 ++++++++++++++++----------------
 tests/fixtures/centos-7.7/ntpq-p.json    |  2 +-
 tests/fixtures/centos-7.7/ntpq-pn.json   |  2 +-
 tests/fixtures/ubuntu-18.04/ntpq-p.json  |  2 +-
 tests/fixtures/ubuntu-18.04/ntpq-pn.json |  2 +-
 7 files changed, 35 insertions(+), 35 deletions(-)
99804ea06e0c70e3a82ddc7f9c7a42343374d700 added timedatectl status parser
 README.md                   |  15 ++++++
 changelog.txt               |   1 +
 docgen.sh                   |   1 +
 docs/parsers/timedatectl.md |  85 +++++++++++++++++++++++++++++++
 jc/cli.py                   |   1 +
 jc/parsers/timedatectl.py   | 119 ++++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 222 insertions(+)
51935deb2ad18e4ea3ca16954ce810354f6095a9 timedatectl test fixtures
 tests/fixtures/centos-7.7/timedatectl.out   | 14 ++++++++++++++
 tests/fixtures/ubuntu-18.04/timedatectl.out |  7 +++++++
 2 files changed, 21 insertions(+)
b24d0c3a475b88d9ccf1a8fe29715ee60972fcad ntpq docs
 README.md          | 33 +++++++++++++++++++++++++++++++++
 jc/parsers/ntpq.py |  3 +--
 2 files changed, 34 insertions(+), 2 deletions(-)
762a886d6fdf5c2ad21d81868d138fb32621ed1c add ntpq tests
 tests/fixtures/centos-7.7/ntpq-p.json    |  1 +
 tests/fixtures/centos-7.7/ntpq-pn.json   |  1 +
 tests/fixtures/ubuntu-18.04/ntpq-p.json  |  1 +
 tests/fixtures/ubuntu-18.04/ntpq-p.out   | 21 ++++++++++
 tests/fixtures/ubuntu-18.04/ntpq-pn.json |  1 +
 tests/fixtures/ubuntu-18.04/ntpq-pn.out  | 21 ++++++++++
 tests/fixtures/ubuntu-18.04/ntqp-p.out   | 21 ++++++++++
 tests/test_ntpq.py                       | 66 ++++++++++++++++++++++++++++++++
 8 files changed, 133 insertions(+)
2c3e9ddfe47f56cd7edc2fdf6317f7ecec0b7918 add ntpq parser for issue #31
 changelog.txt                         |   3 +
 docgen.sh                             |   1 +
 docs/parsers/ntpq.md                  | 235 +++++++++++++++++++++++++++
 jc/cli.py                             |   1 +
 jc/parsers/ntpq.py                    | 291 ++++++++++++++++++++++++++++++++++
 tests/fixtures/centos-7.7/ntpq-p.out  |   6 +
 tests/fixtures/centos-7.7/ntpq-pn.out |   6 +
 7 files changed, 543 insertions(+)
c7cd2b63c8f24e9d17c458880fe401d8032395ab delete unused test file
 tests/fixtures/generic/oscar_age_male.csv | 91 -------------------------------
 1 file changed, 91 deletions(-)
f0528ea83112e71ff51c89be27fc9bbdfbbf1951 Merge pull request #45 from kellyjonbrazil/dev
5bc5596f604fb87dffbfdf44ce2395b16bf01297 version bump to 1.8.1
 changelog.txt    |  5 +++--
 jc/cli.py        |  2 +-
 setup.py         |  2 +-
 tests/test_ls.py | 12 ++++++++++++
 4 files changed, 17 insertions(+), 4 deletions(-)
2c27ac46be803b583caf82c1765bd0c35cee8bc1 add ls test fixtures
 tests/fixtures/osx-10.14.6/ls-lR-empty-folder.json |    1 +
 tests/fixtures/osx-10.14.6/ls-lR-empty-folder.out  | 2453 ++++++++++++++++++++
 2 files changed, 2454 insertions(+)
caad840153e40dc660a2d5e06a96f3451fef25f9 Merge pull request #44 from philippeitis/patch-5
65bd7e2904016141c1ed53cdd437865c66d7628e Merge pull request #1 from kellyjonbrazil/pr/44
c3d7d7db12d4870fc4499e0e3445d85ae89f2aea removed whitespace
 jc/cli.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
56053103625af6fb7fa749fc5bc3dbdc62fc223c added tests, removed os import, changed to 'assertEqual'
 tests/test_cli.py | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)
17b6efe82e6a558353b011c543489eaaf3a6d3ac Create basic tests for generate_magic_commands()
 tests/test_cli.py | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
a032ae56ae7d247e00415267b65b2a8b80a3302e Pass args to generate_magic_command() to allow testing.
 jc/cli.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
eab2f4b0566b4c76db661cbfa99a56a6bf8d6541 Move core magic() logic into seperate function for testability, minor tweaks.
 jc/cli.py | 52 +++++++++++++++++++++++++++++++++-------------------
 1 file changed, 33 insertions(+), 19 deletions(-)
aff86ae6c71abfe1cbdba5c574a5f3707292ec19 reimpliment magic() based on the dictionary approach suggested by philippeitis
 jc/cli.py | 68 +++++++++++++++++++++++++++------------------------------------
 1 file changed, 29 insertions(+), 39 deletions(-)
7ece9ddc1a37551cdaaac50f37a48e6d98b18bf4 version bump ls
 jc/parsers/ls.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
7cd048e839a7cc8404fd5abc153a3d315c207819 changelog update
 changelog.txt | 1 +
 1 file changed, 1 insertion(+)
1e22f610a33903e8525d35a18b1dcf760a93791e fix for osx - doesn't print 'total xx' line if empty directory (issue #40)
 jc/parsers/ls.py | 5 +++++
 1 file changed, 5 insertions(+)
5249c972ae25e9b289a2667bf471aad5e58c70a9 add to changelog
 changelog.txt | 4 ++++
 1 file changed, 4 insertions(+)
fd45f856a050f6c56a7a6b50b97b3d8c4de28af0 import jc.utils instead of jc
 jc/parsers/history.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
c8ab40cd33b14a3a1937ecf64bb23e282f5bb921 ignore .github folder
 .gitignore | 1 +
 1 file changed, 1 insertion(+)
b2c872925b37254dac74578c1803b4127f8411c4 add utf-8 encoding for testing on Windows
 tests/test_ls.py            | 132 ++++++++++++++++++++++----------------------
 tests/test_lsmod.py         |   8 +--
 tests/test_lsof.py          |  16 +++---
 tests/test_mount.py         |  16 +++---
 tests/test_netstat.py       |  40 +++++++-------
 tests/test_passwd.py        |  12 ++--
 tests/test_pip_list.py      |  20 +++----
 tests/test_ps.py            |  32 +++++------
 tests/test_route.py         |  16 +++---
 tests/test_shadow.py        |   8 +--
 tests/test_ss.py            |   8 +--
 tests/test_systemctl_lj.py  |  16 +-----
 tests/test_systemctl_ls.py  |   8 +--
 tests/test_systemctl_luf.py |   8 +--
 tests/test_uname.py         |  16 +++---
 tests/test_uptime.py        |  16 +++---
 tests/test_w.py             |  16 +++---
 tests/test_who.py           |  24 ++++----
 tests/test_xml.py           |   8 +--
 tests/test_yaml.py          |   8 +--
 20 files changed, 208 insertions(+), 220 deletions(-)
f48e229202f8ab1ebfa502ca57bb31cf673c7a62 utf-8 open for windows tests
 tests/test_arp.py       | 32 ++++++++++++++++----------------
 tests/test_blkid.py     | 40 ++++++++++++++++++++--------------------
 tests/test_crontab.py   |  4 ++--
 tests/test_crontab_u.py |  8 ++++----
 tests/test_csv.py       | 36 ++++++++++++++++++------------------
 tests/test_df.py        | 32 ++++++++++++++++----------------
 tests/test_dig.py       | 24 ++++++++++++------------
 tests/test_du.py        | 16 ++++++++--------
 tests/test_env.py       |  8 ++++----
 tests/test_free.py      | 16 ++++++++--------
 tests/test_fstab.py     |  8 ++++----
 tests/test_group.py     | 12 ++++++------
 tests/test_gshadow.py   |  8 ++++----
 tests/test_history.py   |  8 ++++----
 tests/test_hosts.py     |  8 ++++----
 tests/test_id.py        |  8 ++++----
 tests/test_ifconfig.py  | 24 ++++++++++++------------
 tests/test_ini.py       |  8 ++++----
 tests/test_iptables.py  | 48 ++++++++++++++++++++++++------------------------
 tests/test_jobs.py      |  8 ++++----
 tests/test_last.py      | 28 ++++++++++++++--------------
 21 files changed, 192 insertions(+), 192 deletions(-)
799fec92c39b1ff0696c6ebb182c4bef66b86e56 utf-8 for windows support
 tests/test_pip_show.py  | 16 ++++++++--------
 tests/test_systemctl.py |  8 ++++----
 2 files changed, 12 insertions(+), 12 deletions(-)
87a41c2fcaa395f108b5a5126ed77f7cc7fe5d6d add utf-8 to open function
 tests/test_lsblk.py | 16 ++++++++--------
 tests/test_stat.py  |  8 ++++----
 2 files changed, 12 insertions(+), 12 deletions(-)
7f85de0c46cda95d57b9677ba0ca3ea59690e502 add windows-latest
 .github/workflows/pythonapp.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
13661b19934a74417713e98e3e1e4df6bb0f29ad Merge pull request #37 from philippeitis/continuous_integration
51d5c3892d6ff1e2e6ac7c4f3e496e7d9ed4b6a7 Remove Windows tests, due to lack of support.
 .github/workflows/pythonapp.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
e4eab4641ac15220f2787c5d27b443ab8c718b86 Change line in blkid.py to trigger CI
 jc/parsers/blkid.py | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
9b148e0ba37e18749d95608e1bac6c090ab83ee2 Add requirements.txt
 requirements.txt | 3 +++
 1 file changed, 3 insertions(+)
de28932650d5027e2781011f1243b89f053b241d Consolidate dictionary into creation, trigger CI
 jc/parsers/arp.py | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)
5f798d603e461d2de5adf74662ba4d4b121f28f2 version bump and ack to philippeitis
 jc/parsers/history.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
a0757b2dd3fc0f3e26622941d93bd909dae0a1f7 optimize line parsing
 jc/parsers/foo.py | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)
498d51b4e802cb40cac58aae1eff1f723bbbd896 Enable Continuous Integration with GitHub Actions.
 .github/workflows/pythonapp.yml | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)
b06b6bae3f64f591c9075812dc1b632ef6d2da37 Merge pull request #36 from philippeitis/patch-3
b5eaff21372a58aefb66e5afc5e863db8355fee1 Merge pull request #35 from kellyjonbrazil/revert-34-patch-3
c01bcd3734382a0c388d9f4041fc888171ca7675 Revert "Simplify process() in history.py, avoid list allocation in parse()"
 jc/parsers/history.py | 37 +++++++++++++++++++++++++------------
 1 file changed, 25 insertions(+), 12 deletions(-)
d75c4068caaf4adbe9a39fa452ae867421053673 Merge pull request #34 from philippeitis/patch-3
6aa2d5a3d26f9f00c3334928f6f0e501860433da Merge pull request #33 from philippeitis/patch-2
065276805f0f2dd23a6382f0120ca07e9eae116f Simplify process() in history.py, avoid list allocation in parse()
 jc/parsers/history.py | 37 ++++++++++++-------------------------
 1 file changed, 12 insertions(+), 25 deletions(-)
a63408c8cf3f99646be2b375f651d6cf417f7ae0 Handle case where only options are passed.
 jc/cli.py | 4 ++++
 1 file changed, 4 insertions(+)
69576f6bfae073196627a0a39b5ececb8666d25c minor sytax fixes
 jc/cli.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
19845624e2996da4653efc2f312aceb514feaf5c Merge pull request #32 from philippeitis/patch-1
22ff2964e9889587711e779ac24f8f8034212f5e Simplify main(), magic() methods.
 jc/cli.py | 137 ++++++++++++++++++++++++++++----------------------------------
 1 file changed, 62 insertions(+), 75 deletions(-)
d96b3a65a98bc135d21d4feafc0a43317b5a11fa formatting
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
4989445ef4bb8919d9b3b95e2fcee77ca7692aec Merge pull request #30 from kellyjonbrazil/dev
6770892acd49aced225dbccf39290f33522c9001 add release notes link
 README.md | 2 ++
 1 file changed, 2 insertions(+)
d4eba8740fc325756f3db96ab37a5383540cbeff release date 3/3
 changelog.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
9f607605605e47990f97ccfd48fde19a14e036e7 add group and gshadow tests
 tests/test_group.py   | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++
 tests/test_gshadow.py | 40 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 92 insertions(+)
0a8f8ac934f040141e6a4eec8cf7170e1ca73294 add group and gshadow parsers
 changelog.txt | 2 ++
 1 file changed, 2 insertions(+)
6ae24c82447bcff606e7027dd01b916293b49584 add group and gshadow test fixtures
 tests/fixtures/centos-7.7/group.json     |   1 +
 tests/fixtures/centos-7.7/group.out      |  39 +++++++++
 tests/fixtures/centos-7.7/gshadow.json   |   1 +
 tests/fixtures/centos-7.7/gshadow.out    |  39 +++++++++
 tests/fixtures/create_fixtures.sh        |   3 +
 tests/fixtures/osx-10.14.6/group.json    |   1 +
 tests/fixtures/osx-10.14.6/group.out     | 135 +++++++++++++++++++++++++++++++
 tests/fixtures/ubuntu-18.04/group.json   |   1 +
 tests/fixtures/ubuntu-18.04/group.out    |  53 ++++++++++++
 tests/fixtures/ubuntu-18.04/gshadow.json |   1 +
 10 files changed, 274 insertions(+)
d3679082a8c5cff76eb7de67c33fe716a1402182 add group and gshadow parsers
 README.md | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)
fb08b42dca135705a3759435335d95c898d47f60 change 'group_list' to 'members'
 docs/parsers/group.md | 18 +++++++++---------
 jc/parsers/group.py   | 24 ++++++++++++------------
 2 files changed, 21 insertions(+), 21 deletions(-)
4aeaa9f42a88bf4e05c8780a35cc8c4d83c9b842 add /etc/gshadow parser
 docgen.sh                               |   1 +
 docs/parsers/gshadow.md                 | 109 +++++++++++++++++++++++
 jc/cli.py                               |   1 +
 jc/parsers/gshadow.py                   | 152 ++++++++++++++++++++++++++++++++
 tests/fixtures/ubuntu-18.04/gshadow.out |  53 +++++++++++
 5 files changed, 316 insertions(+)
5f5693da048cb4739dc56500c672dc8fbccaaf32 spelling fix
 docs/parsers/csv.md | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
5eb0f61727f92a84fb3620e13db072167ef552ef add /etc/group file parser
 docgen.sh             |   1 +
 docs/parsers/group.md | 141 +++++++++++++++++++++++++++++++++++++
 jc/cli.py             |   1 +
 jc/parsers/group.py   | 190 ++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 333 insertions(+)
958e998991b1cc61dc1dc341b90cd53f4691cd43 formatting
 jc/parsers/csv.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
b78c1509f67fb76d17ac97193a2851d8d9e17f62 try/except dialect detection
 jc/parsers/csv.py | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
ce184d4d57faa3f1bca5bcaa02da7a5a5d995eb3 add csv parser tests
 tests/fixtures/generic/csv-biostats.csv    |    20 +
 tests/fixtures/generic/csv-biostats.json   |     1 +
 tests/fixtures/generic/csv-cities.csv      |   130 +
 tests/fixtures/generic/csv-cities.json     |     1 +
 tests/fixtures/generic/csv-deniro.csv      |    89 +
 tests/fixtures/generic/csv-deniro.json     |     1 +
 tests/fixtures/generic/csv-example.csv     |     2 +
 tests/fixtures/generic/csv-example.json    |     1 +
 tests/fixtures/generic/csv-flyrna.json     |     1 +
 tests/fixtures/generic/csv-flyrna.tsv      | 11767 +++++++++++++++++++++++++++
 tests/fixtures/generic/csv-flyrna2.json    |     1 +
 tests/fixtures/generic/csv-flyrna2.tsv     | 11767 +++++++++++++++++++++++++++
 tests/fixtures/generic/csv-homes-pipe.csv  |     3 +
 tests/fixtures/generic/csv-homes-pipe.json |     1 +
 tests/fixtures/generic/csv-homes.csv       |    51 +
 tests/fixtures/generic/csv-homes.json      |     1 +
 tests/fixtures/generic/csv-insurance.csv   |     1 +
 tests/fixtures/generic/csv-insurance.json  |     1 +
 tests/fixtures/generic/oscar_age_male.csv  |    91 +
 tests/test_csv.py                          |   124 +
 20 files changed, 24054 insertions(+)
b4c3714ced9ee5cc6a7ef0c59a43cf85e1cb9824 removed [OPTIONS] PARSER syntax. still works but prefer the PARSER [OPTIONS] syntax for better performance
 README.md | 4 ----
 1 file changed, 4 deletions(-)
5b7dfa043864f1a3f34aa4ef5c6554a2dfe185f9 formatting
 changelog.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
391a3884765780497dc34e0e9938ff5032c81291 doc update
 README.md     | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 changelog.txt |  1 +
 2 files changed, 49 insertions(+)
d9c4e2ed4c0f908f4b63c2376b53ddfd32a0fae1 add csv file parser
 docgen.sh           |   1 +
 docs/parsers/csv.md | 104 ++++++++++++++++++++++++++++++++++++++++
 jc/cli.py           |   1 +
 jc/parsers/csv.py   | 135 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 241 insertions(+)
0c42db38b102987629e40cee2716b826161e6e94 doc update
 docs/parsers/who.md | 2 ++
 jc/parsers/who.py   | 2 ++
 2 files changed, 4 insertions(+)
2f9be8bf33f8be5651d06da9d316f7894606df19 simplify usage
 jc/cli.py | 4 ----
 1 file changed, 4 deletions(-)
e8c00155e861b9eedfdf37a22912271bec581d62 add -b to warning message
 jc/parsers/ls.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
cc88fdd9ee3951d7ef2aa881cc12f0b7f96aef86 update example
 README.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
d9de11ef1d846a9625dad0adb962b864404c90c1 add another who example
 README.md | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
0ceda97d0968b67b70cdbb68f7a62657e79c9935 who parser tests
 tests/test_who.py | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 88 insertions(+)
d0dec92ba84640ddc40da7c6faa6568b76757e04 add who test fixtures
 tests/fixtures/centos-7.7/who-a.json   | 1 +
 tests/fixtures/centos-7.7/who-a.out    | 6 ++++++
 tests/fixtures/centos-7.7/who.json     | 1 +
 tests/fixtures/centos-7.7/who.out      | 2 ++
 tests/fixtures/osx-10.14.6/who-a.json  | 1 +
 tests/fixtures/osx-10.14.6/who-a.out   | 9 +++++++++
 tests/fixtures/osx-10.14.6/who.json    | 1 +
 tests/fixtures/osx-10.14.6/who.out     | 4 ++++
 tests/fixtures/ubuntu-18.04/who-a.json | 1 +
 tests/fixtures/ubuntu-18.04/who-a.out  | 6 ++++++
 tests/fixtures/ubuntu-18.04/who.json   | 1 +
 tests/fixtures/ubuntu-18.04/who.out    | 3 +++
 12 files changed, 36 insertions(+)
d420c008d8aaa0879fa5a3f236d81acb506376c3 fix for pts lines with no user info
 jc/parsers/who.py | 9 +++++++++
 1 file changed, 9 insertions(+)
f0b32db4333477e22cc40de62cf026a6a7aa2eb6 who doc update
 README.md           | 4 ++--
 docs/parsers/who.md | 8 ++++----
 2 files changed, 6 insertions(+), 6 deletions(-)
bc838eda591473d32b11a885e60ef653925739d0 fix output for non-extended
 jc/parsers/who.py | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
afe55b6af07b74816d33d9555ffaa1c1921dd27a add who parser
 README.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)
dd3a3ac302d7b35beef1181e74aed0faf96fd3e4 doc update and process pid integers
 changelog.txt       |   1 +
 docgen.sh           |   1 +
 docs/parsers/who.md | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/who.py   | 112 +++++++++++++++++++++++++++++++++++----
 4 files changed, 255 insertions(+), 9 deletions(-)
f9982a79474c1838f37fc0ff88437980b228d7a1 fixes for from and comment fields
 jc/parsers/who.py | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)
07c1be9e9ad9f62cf76c23788152de8f3530ee16 add who command parser
 jc/cli.py         |   1 +
 jc/parsers/who.py | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 170 insertions(+)
f832b88755bfbd3878ec402e603180e6825279be add passwd and shadow tests
 tests/test_passwd.py | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 tests/test_shadow.py | 40 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 92 insertions(+)
0fac757efca41db062b2f65acc727963c5fb353c add passwd and shadow parsers
 changelog.txt | 2 ++
 1 file changed, 2 insertions(+)
fc15742065531152f3d5895042eeb806e33a192a passwd and shadow test fixtures
 tests/fixtures/centos-7.7/passwd.json   |   1 +
 tests/fixtures/centos-7.7/passwd.out    |  21 +++++++
 tests/fixtures/centos-7.7/shadow.json   |   1 +
 tests/fixtures/centos-7.7/shadow.out    |  21 +++++++
 tests/fixtures/osx-10.14.6/passwd.json  |   1 +
 tests/fixtures/osx-10.14.6/passwd.out   | 108 ++++++++++++++++++++++++++++++++
 tests/fixtures/ubuntu-18.04/passwd.json |   1 +
 tests/fixtures/ubuntu-18.04/passwd.out  |  30 +++++++++
 tests/fixtures/ubuntu-18.04/shadow.json |   1 +
 tests/fixtures/ubuntu-18.04/shadow.out  |  30 +++++++++
 10 files changed, 215 insertions(+)
6f2466a1319eaa4256ae7a2a0f23b3ff37882d37 update readme with /etc/passwd and /etc/shadow file parsers
 README.md | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 73 insertions(+)
4b90e22f0a9c6790bca62c8314945a7ffc6e267b doc update
 docs/parsers/shadow.md | 72 +++++++++++++++++++++++++++++++++++++++++++++---
 jc/parsers/shadow.py   | 74 ++++++++++++++++++++++++++++++++++++++++++++++----
 2 files changed, 137 insertions(+), 9 deletions(-)
c4935687853fb3b079ae42614793cdafe68e124e doc fix
 docs/parsers/passwd.md | 2 +-
 jc/parsers/passwd.py   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
1cdf004b7728901dc137e57b0c8994edfdd6d417 add /etc/shadow parser
 docgen.sh              |   1 +
 docs/parsers/shadow.md |  69 ++++++++++++++++++++++++++++
 jc/cli.py              |   1 +
 jc/parsers/shadow.py   | 119 +++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 190 insertions(+)
a4ea50426184d30cbe849a8f80bfd5c975075c9e add /etc/passwd parser
 docgen.sh              |   1 +
 docs/parsers/passwd.md | 126 +++++++++++++++++++++++++++++++++++
 jc/cli.py              |   1 +
 jc/parsers/passwd.py   | 175 +++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 303 insertions(+)
4c2c234c3bf68d1aac66bd4d1f22b9f97e99128d add last and lastb tests
 tests/fixtures/centos-7.7/last-w.json   |   1 +
 tests/fixtures/centos-7.7/last-w.out    |  69 ++++++
 tests/fixtures/centos-7.7/last.json     |   1 +
 tests/fixtures/centos-7.7/last.out      |  69 ++++++
 tests/fixtures/centos-7.7/lastb.json    |   1 +
 tests/fixtures/centos-7.7/lastb.out     |   6 +
 tests/fixtures/create_fixtures.sh       |   4 +
 tests/fixtures/osx-10.14.6/last.json    |   1 +
 tests/fixtures/osx-10.14.6/last.out     | 383 ++++++++++++++++++++++++++++++++
 tests/fixtures/ubuntu-18.04/last-w.json |   1 +
 tests/fixtures/ubuntu-18.04/last-w.out  |  16 ++
 tests/fixtures/ubuntu-18.04/last.json   |   1 +
 tests/fixtures/ubuntu-18.04/last.out    |  16 ++
 tests/fixtures/ubuntu-18.04/lastb.json  |   1 +
 tests/fixtures/ubuntu-18.04/lastb.out   |   3 +
 tests/test_last.py                      | 100 +++++++++
 16 files changed, 673 insertions(+)
3d4c0f3e89dab6496ff74df350e3238d6625933c add blkid tests
 tests/fixtures/centos-7.7/blkid-ip-multi.json      |   1 +
 tests/fixtures/centos-7.7/blkid-ip-multi.out       |  29 +++++
 tests/fixtures/centos-7.7/blkid-ip-udev-multi.json |   1 +
 tests/fixtures/centos-7.7/blkid-ip-udev-multi.out  |  29 +++++
 tests/fixtures/centos-7.7/blkid-ip-udev.json       |   1 +
 tests/fixtures/centos-7.7/blkid-ip-udev.out        |  14 +++
 tests/fixtures/centos-7.7/blkid-sda2.json          |   1 +
 tests/fixtures/centos-7.7/blkid-sda2.out           |   1 +
 tests/fixtures/centos-7.7/blkid.json               |   1 +
 tests/fixtures/centos-7.7/blkid.out                |   4 +
 tests/fixtures/create_fixtures.sh                  |   6 +
 tests/fixtures/ubuntu-18.04/blkid-ip-multi.json    |   1 +
 tests/fixtures/ubuntu-18.04/blkid-ip-multi.out     |   2 +
 .../fixtures/ubuntu-18.04/blkid-ip-udev-multi.json |   1 +
 .../fixtures/ubuntu-18.04/blkid-ip-udev-multi.out  |  26 ++++
 tests/fixtures/ubuntu-18.04/blkid-ip-udev.json     |   1 +
 tests/fixtures/ubuntu-18.04/blkid-ip-udev.out      |  12 ++
 tests/fixtures/ubuntu-18.04/blkid-sda2.json        |   1 +
 tests/fixtures/ubuntu-18.04/blkid-sda2.out         |   1 +
 tests/fixtures/ubuntu-18.04/blkid.json             |   1 +
 tests/fixtures/ubuntu-18.04/blkid.out              |  15 +++
 tests/test_blkid.py                                | 136 +++++++++++++++++++++
 22 files changed, 285 insertions(+)
52fad02903468c05d2422a340ad8dbcdf18ed475 doc update
 docs/parsers/ls.md | 12 ++++++------
 jc/parsers/ls.py   | 12 ++++++------
 2 files changed, 12 insertions(+), 12 deletions(-)
9dcabc057c40e345971a08474b5b886e6b60a8de support multi device udev output
 jc/parsers/blkid.py | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
db8c1079ddc25922ab6a20d0f71fb19af38f8092 use maxsplit=1 in case there are multiple '=' delimiters
 jc/parsers/blkid.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
8f954673abdbbd4d9b9da3eacc61b335b4909f89 use shlex split for values within quotations that have spaces
 jc/parsers/blkid.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
79522d1c7dd4dec15b75b06dda002752f7d97e36 doc fixes
 docs/parsers/ls.md | 5 +++--
 jc/parsers/ls.py   | 5 +++--
 2 files changed, 6 insertions(+), 4 deletions(-)
a18bf030794efef125c70a32fe82855e47649b32 use raw strings for regular expressions
 jc/parsers/last.py |  2 +-
 jc/parsers/ls.py   | 12 ++++++------
 2 files changed, 7 insertions(+), 7 deletions(-)
c02b6b5d827d26b43db0a3457124714aa2dbbc98 doc updates
 README.md     | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 changelog.txt |  1 +
 setup.py      |  2 +-
 3 files changed, 81 insertions(+), 1 deletion(-)
f99b4232848b0d868804acc4125836bfcf475bba doc update
 docs/parsers/blkid.md | 115 +++++++++++++++++++++++++++++++++++++++-----------
 jc/parsers/blkid.py   |  48 +++++++++++++++++++--
 2 files changed, 134 insertions(+), 29 deletions(-)
d7d9d45d4fba89e74f7490c463eb26bf20a5d127 add missing comma
 jc/parsers/blkid.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
90065ec0cdc8c5abc13bc0027f63658dacf3cfb2 add more integers
 jc/parsers/blkid.py | 57 +++++++++++++++++++++++++++++------------------------
 1 file changed, 31 insertions(+), 26 deletions(-)
51157ebb867a48332c768bf3086614944aebdb62 another devname fix
 jc/parsers/blkid.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
96d95c79ca0938e326f55f858f8153df9cb49e44 devname fix
 jc/parsers/blkid.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
e5da34c23306463e8707b15676db0ca53bf66757 check if devname key exists before renaming
 jc/parsers/blkid.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
f09d657f7728242947db3dc63ff6779d08c37866 rename devname to device
 jc/parsers/blkid.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
0f4b0189f54dc0b3622cd407c5565e53ea111379 process integer values
 jc/parsers/blkid.py | 38 +++++++++++++++++++++++++++++++++++---
 1 file changed, 35 insertions(+), 3 deletions(-)
4666042abb3142e2cfb518db9ffe22d9e608e090 add blkid parser
 docgen.sh             |   1 +
 docs/parsers/blkid.md |  83 ++++++++++++++++++++++++++++++++
 jc/cli.py             |   1 +
 jc/parsers/blkid.py   | 131 ++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 216 insertions(+)
027d544c2bb778adc0ee9463832f19b10e099a0a add last and lastb parser
 changelog.txt | 3 +++
 1 file changed, 3 insertions(+)
f1967d0138d27bde864c2400aa75baa8a39bbfde system_boot fix
 jc/parsers/last.py | 3 ---
 1 file changed, 3 deletions(-)
c1d896027dd1ce021e048b3e77eab24ff59d08bd fix system_boot tty
 jc/parsers/last.py | 3 +++
 1 file changed, 3 insertions(+)
5c2d2a66187d32d62b31b7c7f13e502fdb7f9635 process function and docs
 docgen.sh            |   1 +
 docs/parsers/last.md | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/last.py   |  77 ++++++++++++++++++++++++++++++---
 3 files changed, 190 insertions(+), 6 deletions(-)
997b269b0b7e53a456e2a0bd997ead6c2ae843bc btmp fix
 jc/parsers/last.py | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
61257e7525c25827cb8057ed5c612e54ea9b9637 add last and lastb parser
 jc/cli.py          |   3 +-
 jc/parsers/last.py | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 119 insertions(+), 1 deletion(-)
53ee2c36310cb84390ef96644aee6871769151c9 Merge pull request #29 from kellyjonbrazil/dev
8bfa0bddec9ff1c21972019467dcf5738ab3afd2 version bump to 1.7.5
 changelog.txt | 3 +++
 jc/cli.py     | 2 +-
 setup.py      | 2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)
ad61e6bc81177a2add7d052bf1ddec5f1b3f2976 add ls tests for filenames with newline characters
 tests/fixtures/centos-7.7/ls-R-newlines.json    |   1 +
 tests/fixtures/centos-7.7/ls-R-newlines.out     |  43 +++++++
 tests/fixtures/centos-7.7/ls-l-newlines.json    |   1 +
 tests/fixtures/centos-7.7/ls-l-newlines.out     |  34 ++++++
 tests/fixtures/centos-7.7/ls-lR-newlines.json   |   1 +
 tests/fixtures/centos-7.7/ls-lR-newlines.out    |  45 +++++++
 tests/fixtures/centos-7.7/ls-newlines.json      |   1 +
 tests/fixtures/centos-7.7/ls-newlines.out       |  33 ++++++
 tests/fixtures/create_fixtures.sh               |  15 +++
 tests/fixtures/osx-10.14.6/ls-R-newlines.json   |   1 +
 tests/fixtures/osx-10.14.6/ls-R-newlines.out    |  36 ++++++
 tests/fixtures/osx-10.14.6/ls-l-newlines.json   |   1 +
 tests/fixtures/osx-10.14.6/ls-l-newlines.out    |  34 ++++++
 tests/fixtures/osx-10.14.6/ls-lR-newlines.json  |   1 +
 tests/fixtures/osx-10.14.6/ls-lR-newlines.out   |  38 ++++++
 tests/fixtures/osx-10.14.6/ls-newlines.json     |   1 +
 tests/fixtures/osx-10.14.6/ls-newlines.out      | 148 +++---------------------
 tests/fixtures/ubuntu-18.04/ls-R-newlines.json  |   1 +
 tests/fixtures/ubuntu-18.04/ls-R-newlines.out   |  40 +++++++
 tests/fixtures/ubuntu-18.04/ls-l-newlines.json  |   1 +
 tests/fixtures/ubuntu-18.04/ls-l-newlines.out   |  34 ++++++
 tests/fixtures/ubuntu-18.04/ls-lR-newlines.json |   1 +
 tests/fixtures/ubuntu-18.04/ls-lR-newlines.out  |  42 +++++++
 tests/fixtures/ubuntu-18.04/ls-newlines.json    |   1 +
 tests/fixtures/ubuntu-18.04/ls-newlines.out     |  33 ++++++
 tests/test_ls.py                                | 144 +++++++++++++++++++++++
 26 files changed, 598 insertions(+), 133 deletions(-)
873b5ba8acf599d083d6031b818d5fca83cbca9e move examples to bottom
 README.md | 58 +++++++++++++++++++++++++++-------------------------------
 1 file changed, 27 insertions(+), 31 deletions(-)
6ae50054e2e8c7ca730013b43062eedc230c0ad4 readme update
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
22a35f41bf9c404d3532611f5929143d04b10010 move variables to top
 jc/parsers/ls.py | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)
961696c963215a9dab56113ff89f21a6e9739df6 add a warning if newlines are detected in naked ls
 jc/parsers/ls.py | 5 +++++
 1 file changed, 5 insertions(+)
c7b7f1a5dcf77a1f4c23ef6bbf5683fd1a055f72 fix for files with newlines in naked ls
 jc/parsers/ls.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
b5a0d650b128d8af81bb14dd5d007349529cb66f ls output with newlines
 tests/fixtures/osx-10.14.6/ls-newlines.out | 151 +++++++++++++++++++++++++++++
 1 file changed, 151 insertions(+)
573b27946474276592ee7494689ce9a88f5a05f7 fixup for filenames that start with a newline character
 jc/parsers/ls.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
116e07f1614b4a45eb58ffcfe20b5efa71c473a8 fixes for multiple consecutive newlines and trailing newlines in filenames
 jc/parsers/ls.py | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)
964868c8aff99edf37b0db41c7d16f8b84ac4704 add support for newlines in filenames (only with ls -l)
 docs/parsers/ls.md |  5 ++++-
 jc/parsers/ls.py   | 20 +++++++++++++++++---
 2 files changed, 21 insertions(+), 4 deletions(-)
c8dac32df8102c2b782e87d55bb95ca2d9490185 readme update
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
72a0016bd833699c3819baa899f335f75b8c1943 use link to anchor for Parsers
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2ad316743460bb6620e7ede251e1dc2739b073fa update doc url
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
ddabfaa05c63f886b17e5b4d37cd83fcfdb9b221 Merge pull request #25 from kellyjonbrazil/dev
f857523ca756864211b6b18af5a8886e5db200bb bump to version 1.7.4
 changelog.txt | 3 +++
 jc/cli.py     | 2 +-
 setup.py      | 2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)
00d53858e820f00ba015bc25629100c8e5495221 add note about aliases not being supported
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
c008167e660929a91606bb96498cdc113e815f7e add time-style=full-iso option to doc
 docs/parsers/ls.md | 1 +
 jc/parsers/ls.py   | 1 +
 2 files changed, 2 insertions(+)
102344a041e9e0aff8b6d9db1873ba1064f7e895 formatting
 jc/parsers/ls.py | 2 ++
 1 file changed, 2 insertions(+)
c865298ef3613fe6ce17f41c15209a69940af1ce remove unnecessary enumerate in for loop
 jc/parsers/ls.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
6ac03faf939bcda8930a48a5e832b557813e2129 Revert "add ubuntu and centos default ls aliases to magic_commands"
 jc/parsers/ls.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
49c2701743706b6cbf0e52b2c7f275e301315189 add ubuntu and centos default ls aliases to magic_commands
 jc/parsers/ls.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
d1a271b08e64b42be8cec11377b0e18435a0caec add new ls tests for recursive and multiple directories with glob
 tests/fixtures/centos-7.7/ls-R.json      |    1 +
 tests/fixtures/centos-7.7/ls-R.out       | 5089 +++++++++++++++++++++++++++
 tests/fixtures/centos-7.7/ls-alR.json    |    1 +
 tests/fixtures/centos-7.7/ls-alR.out     | 4997 ++++++++++++++++++++++++++
 tests/fixtures/centos-7.7/ls-glob.json   |    1 +
 tests/fixtures/centos-7.7/ls-glob.out    | 1919 ++++++++++
 tests/fixtures/create_fixtures.sh        |    5 +
 tests/fixtures/osx-10.14.6/ls-R.json     |    1 +
 tests/fixtures/osx-10.14.6/ls-R.out      | 5018 ++++++++++++++++++++++++++
 tests/fixtures/osx-10.14.6/ls-alR.json   |    1 +
 tests/fixtures/osx-10.14.6/ls-alR.out    | 4997 ++++++++++++++++++++++++++
 tests/fixtures/osx-10.14.6/ls-glob.json  |    1 +
 tests/fixtures/osx-10.14.6/ls-glob.out   | 1831 ++++++++++
 tests/fixtures/ubuntu-18.04/ls-R.json    |    1 +
 tests/fixtures/ubuntu-18.04/ls-R.out     | 5639 ++++++++++++++++++++++++++----
 tests/fixtures/ubuntu-18.04/ls-alR.json  |    1 +
 tests/fixtures/ubuntu-18.04/ls-alR.out   | 5026 ++++++++++++++++++++++++++
 tests/fixtures/ubuntu-18.04/ls-glob.json |    1 +
 tests/fixtures/ubuntu-18.04/ls-glob.out  | 1357 +++++++
 tests/fixtures/ubuntu-18.04/ls-lR.out    |  712 ----
 tests/test_ls.py                         |  108 +
 21 files changed, 35333 insertions(+), 1374 deletions(-)
7388ad19b9d252d3e66659e4bc37171cef2a9748 bump to v1.8.0
 docs/parsers/ls.md | 3 ++-
 jc/cli.py          | 2 +-
 jc/parsers/ls.py   | 3 ++-
 setup.py           | 2 +-
 4 files changed, 6 insertions(+), 4 deletions(-)
2e63cb5fadd032c7cb54a618e8b374ee853abcca version bump ls to 1.1
 jc/parsers/ls.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
e7f14d02b12c7dcba309f2d28a0f171769d1ba37 update ls to allow multi directory (glob and -R). Adds 'parent' key if found
 jc/parsers/ls.py                      |  48 ++-
 tests/fixtures/ubuntu-18.04/ls-R.out  | 686 ++++++++++++++++++++++++++++++++
 tests/fixtures/ubuntu-18.04/ls-lR.out | 712 ++++++++++++++++++++++++++++++++++
 3 files changed, 1438 insertions(+), 8 deletions(-)
873771d05ab0b77163c95d2c37e11edf38451832 formatting
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
d7de122e36e0698e00f321fbac8dc0b543cf9e8a prettify link
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
4ef0434f536c6658ddc2b48a3db113df2fd26000 formatting update
 README.md | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
1aa2c9925996f2358b6272547db755ec3098a8a7 removed history from magic syntax
 README.md             | 2 +-
 jc/parsers/history.py | 1 -
 2 files changed, 1 insertion(+), 2 deletions(-)
c2450b27b079b02ed3f4ece9e36547f01cd4b139 Merge pull request #22 from kellyjonbrazil/dev
14d6d8b84f0ddeff984aff486e2e697a91ac6fb6 version bump to 1.7.3
 setup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
f0e3846c038ec5507cd4a19980d83ee0fb969ef5 formatting
 README.md | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)
6ba64f1128373843b068226424a3af545ac9d22c usage update
 README.md | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
13bcdbc6c9a81bc5d52fe7a84e6a0a34908db8bc doc update
 jc/cli.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
cfba62db20674d788601354211a10e2b1675a0c9 correct parser search in magic()
 jc/cli.py | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)
18fb69e36e303a3f9530dcb80354b25bfdbb931d docs/parsers link
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
474eb0f3fdeaa612e189d745b12a5ed9c6e0a31b doc updates
 README.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
7f47b533701e60449351d5da03cd5960e0dec9ad add alternate magic syntax
 README.md | 158 +++++++++++++++++++++++++++++++++++---------------------------
 1 file changed, 90 insertions(+), 68 deletions(-)
dc2907d3ce101043b30bcce71abb4bb02897f43a doc update
 docs/parsers/crontab.md | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
1af85811e06c489051c456918284a746ce12c692 remove magic_command info
 jc/parsers/fstab.py | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
1c1b19a478fe5c356a93cd165518429e77fcbdf0 doc update
 jc/parsers/crontab.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
66942d64babf932faeb887eb4ec0cab32829321a changelog update
 changelog.txt | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
2fb6ae08d76e7a5727b2fcdd5def3e3822e0cf72 fix shlex usage
 jc/cli.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
bf8811e03e2a5b736f4c084f42400fcde400ff3f add comments
 jc/cli.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
c8b502c571d3081ca3086e349a426ca252a3bb84 remove unnecessary join and add comments
 jc/cli.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
81c11a975c6ee66a1f83350df8b065a6b07dcc9c added docstrings
 jc/cli.py | 3 +++
 1 file changed, 3 insertions(+)
0d370eb403ab4d9ed11e36776efc08bdd3505c1a doc update
 jc/cli.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
7492c3f1e312cdb0c58c2077db0d60d2cab1e58f changelog update
 changelog.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
515a8a84b79c9bf6f3001d3c52faa82a6709b8d1 add "command" to description
 jc/parsers/arp.py           | 2 +-
 jc/parsers/crontab.py       | 2 +-
 jc/parsers/df.py            | 2 +-
 jc/parsers/dig.py           | 2 +-
 jc/parsers/du.py            | 2 +-
 jc/parsers/env.py           | 2 +-
 jc/parsers/foo.py           | 2 +-
 jc/parsers/free.py          | 2 +-
 jc/parsers/fstab.py         | 2 +-
 jc/parsers/history.py       | 2 +-
 jc/parsers/id.py            | 2 +-
 jc/parsers/ifconfig.py      | 2 +-
 jc/parsers/iptables.py      | 2 +-
 jc/parsers/jobs.py          | 2 +-
 jc/parsers/ls.py            | 2 +-
 jc/parsers/lsblk.py         | 2 +-
 jc/parsers/lsmod.py         | 2 +-
 jc/parsers/lsof.py          | 2 +-
 jc/parsers/mount.py         | 2 +-
 jc/parsers/netstat.py       | 2 +-
 jc/parsers/pip_list.py      | 2 +-
 jc/parsers/pip_show.py      | 2 +-
 jc/parsers/ps.py            | 2 +-
 jc/parsers/route.py         | 2 +-
 jc/parsers/ss.py            | 2 +-
 jc/parsers/stat.py          | 2 +-
 jc/parsers/systemctl.py     | 2 +-
 jc/parsers/systemctl_lj.py  | 2 +-
 jc/parsers/systemctl_ls.py  | 2 +-
 jc/parsers/systemctl_luf.py | 2 +-
 jc/parsers/uname.py         | 2 +-
 jc/parsers/uptime.py        | 2 +-
 jc/parsers/w.py             | 2 +-
 33 files changed, 33 insertions(+), 33 deletions(-)
dd6680efb2b15bb8ed676016aae1c65193dfe147 allow condensed options (-prdq is equivalent to -p -r -d -q)
 changelog.txt |  3 +++
 jc/cli.py     | 40 ++++++++++++++++++++++++++--------------
 2 files changed, 29 insertions(+), 14 deletions(-)
a7158373cd225685f5c398fa36b8d5208e20521c comment update
 jc/cli.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
6d50ec71997cac9c898737de93b8a945f0351e53 add try/except to fix bare jc command condition
 jc/cli.py | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)
95dbf98e8e03486f74d986683f52699f4f9c9577 allow options in magic syntax
 jc/cli.py | 32 ++++++++++++++++++++++++++------
 1 file changed, 26 insertions(+), 6 deletions(-)
d49323e4ebf2a8aebd1d8ea65ef0854ee8bcb29f add magic_commands list to info
 jc/parsers/arp.py           | 1 +
 jc/parsers/crontab.py       | 1 +
 jc/parsers/df.py            | 1 +
 jc/parsers/dig.py           | 1 +
 jc/parsers/du.py            | 1 +
 jc/parsers/env.py           | 1 +
 jc/parsers/foo.py           | 1 +
 jc/parsers/free.py          | 1 +
 jc/parsers/fstab.py         | 1 +
 jc/parsers/history.py       | 1 +
 jc/parsers/id.py            | 1 +
 jc/parsers/ifconfig.py      | 1 +
 jc/parsers/iptables.py      | 1 +
 jc/parsers/jobs.py          | 1 +
 jc/parsers/ls.py            | 1 +
 jc/parsers/lsblk.py         | 1 +
 jc/parsers/lsmod.py         | 1 +
 jc/parsers/lsof.py          | 1 +
 jc/parsers/mount.py         | 1 +
 jc/parsers/netstat.py       | 1 +
 jc/parsers/pip_list.py      | 1 +
 jc/parsers/pip_show.py      | 1 +
 jc/parsers/ps.py            | 1 +
 jc/parsers/route.py         | 1 +
 jc/parsers/ss.py            | 1 +
 jc/parsers/stat.py          | 1 +
 jc/parsers/systemctl.py     | 1 +
 jc/parsers/systemctl_lj.py  | 1 +
 jc/parsers/systemctl_ls.py  | 1 +
 jc/parsers/systemctl_luf.py | 1 +
 jc/parsers/uname.py         | 1 +
 jc/parsers/uptime.py        | 1 +
 jc/parsers/w.py             | 1 +
 33 files changed, 33 insertions(+)
08c1e2aec9d6bb68653dc12ba2272535fb7cef09 add magic syntax
 changelog.txt | 3 +++
 1 file changed, 3 insertions(+)
a2c137df2e6d3b133df5df0bb3f9b1ca69990557 better magic command syntax logic using introspection information from parser modules
 jc/cli.py     | 135 +++++++++++++++++-----------------
 jc/cli.py.old | 230 ----------------------------------------------------------
 2 files changed, 66 insertions(+), 299 deletions(-)
fe27dcdb8f72b5a288f978b87be2eb930099543e proof of concept for magic syntax (e.g. jc ls -al)
 jc/cli.py     | 134 ++++++++++++++++++++++------------
 jc/cli.py.old | 230 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 319 insertions(+), 45 deletions(-)
028e136161ac15f588845f87907b4565a6ee7be2 bump to 1.7.2: add test fixtures to package
 MANIFEST.in   | 1 +
 changelog.txt | 3 +++
 jc/cli.py     | 2 +-
 setup.py      | 3 ++-
 4 files changed, 7 insertions(+), 2 deletions(-)
9a85a0a4d504447b32fb622bb17cebc5e47f687f fix doc
 docs/parsers/crontab_u.md | 2 +-
 jc/parsers/crontab_u.py   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
3a1cbc4d5063344c3e3a4bf510d651a36beedfb3 move info class to top
 jc/cli.py | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)
77d334f7f386f79ec0571325500054fdab207f31 Merge pull request #19 from kellyjonbrazil/dev-1.7.1
53cdf863acc72dbdb671773e30277f42e9eadc0e changelog update
 changelog.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
7b7e7fe0fe92edef1e559bd7ae8272530d7ed5c8 changelog update
 changelog.txt | 2 ++
 1 file changed, 2 insertions(+)
0c03132847a3d2bcbdb0b743e1472865916cced4 fix error codes using sys.exit()
 jc/cli.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
3b81f7e2a1381958b33962d4531f3fa223c6a83e exit code on ctrl-c exit
 jc/cli.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
3d76437b435660e92633c604c4ad32ee0500a28b doc fix
 docs/parsers/ini.md | 2 +-
 docs/parsers/xml.md | 2 +-
 jc/parsers/ini.py   | 2 +-
 jc/parsers/xml.py   | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)
4bc54c78cea48682ed0432ea56460a26a0e52f83 fix compatibility list
 docs/parsers/du.md      | 2 +-
 docs/parsers/history.md | 2 +-
 jc/parsers/du.py        | 6 +++---
 jc/parsers/history.py   | 4 ++--
 4 files changed, 7 insertions(+), 7 deletions(-)
3d303a96b9f6d582b1e99a632da539c3bee4df7f crontab bug fix and tests
 tests/fixtures/centos-7.7/crontab-u.json                  |  1 +
 tests/fixtures/centos-7.7/{crontab2.out => crontab-u.out} |  1 +
 tests/fixtures/centos-7.7/crontab.json                    |  2 +-
 tests/fixtures/ubuntu-18.04/crontab-u.json                |  2 +-
 tests/test_crontab_u.py                                   | 12 ++++++++++++
 5 files changed, 16 insertions(+), 2 deletions(-)
33c99d031d18e52a8ca85dfc1a8cba0acebfc3bb fix line clobbering bug
 jc/parsers/crontab.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
caf7e9f69a22f3c9b3d4624fd2238d6e54d932ac fix line clobbering bug and add user field to shortcuts
 jc/parsers/crontab_u.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
9449f1f5d5e7bc075549549758af5cc3a6c4524f crontab bugfix: inserting header row was clobbering the first data row
 changelog.txt                          | 1 +
 jc/parsers/crontab.py                  | 4 ++--
 jc/parsers/crontab_u.py                | 2 +-
 tests/fixtures/centos-7.7/crontab2.out | 5 +++++
 4 files changed, 9 insertions(+), 3 deletions(-)
6bad164b5e2a5b7c7ce82c69b6c091fc079ab2fa simplify by removing unnecessary getattr calls
 jc/cli.py | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)
bb5ba7ddb146821db2efe095b6de5ae5b72bb335 add indent variable to helptext
 jc/cli.py | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
8b2e01d5404649e8f94c81ca3b5fa05fe8962220 doc update
 jc/cli.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
ff1159b1deb9b870382a6066166961902679b569 exit codes on error
 jc/cli.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
a2fd3202a0a3df336792f167c546ea3e53ea2332 description formatting change
 jc/parsers/pip_list.py | 2 +-
 jc/parsers/pip_show.py | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
7b53715b91787a8885d61ddc0079c7ee8f9348a8 change description
 jc/parsers/crontab_u.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
e05fc0a5107b348af14ff4bea39d274939fab7dd change padding of helptext
 jc/cli.py | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)
43604c33f654b8c19e8cce387ebbf31bd598b73b doc update
 changelog.txt | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
eb67c484ff2a9530b434cd6a90c160f6936e1de7 add crontab-u to parsers list
 README.md | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
a7b7bdd46781d07e6e70d74a41a3944855fde5fc load parser modules 'just in time' so we don't need to load all modules at startup
 jc/cli.py | 186 +++++++++++++++++++++++++++++++-------------------------------
 1 file changed, 94 insertions(+), 92 deletions(-)
ab06989a18faf5378f1e73c7016ea02e1218ff9c description updates
 README.md | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
657b722f947b6a0aa7e52a786e4c84f177e9a5c7 ini to INI
 README.md           | 4 ++--
 changelog.txt       | 2 +-
 docs/parsers/ini.md | 4 ++--
 jc/parsers/ini.py   | 6 +++---
 4 files changed, 8 insertions(+), 8 deletions(-)
dd2aecad2787186b3962723086bb7e13eff4874f description update
 setup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
c82c5c5c648384eb5a54205ba8590624a3ab4375 changelog update
 changelog.txt | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
a1761cd68f91e2668d8d7e2fa7774f6496408be6 id tests
 tests/fixtures/centos-7.7/id.json  |  1 +
 tests/fixtures/osx-10.14.6/id.json |  1 +
 tests/test_id.py                   | 40 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 42 insertions(+)
d618a7f583629bb7a7fc0854e7349cab07e3e003 doc update
 README.md          |   6 +--
 docgen.sh          |   1 +
 docs/parsers/id.md | 133 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/id.py   |  12 ++---
 4 files changed, 143 insertions(+), 9 deletions(-)
831a42f66096f5efbbf0f6882970c328120f9c9a id formatting
 README.md | 48 ++++++++++++++++++++++++------------------------
 1 file changed, 24 insertions(+), 24 deletions(-)
3b36022e5a1056a28a83494b1ab8fab209399c2d add id parser
 README.md                         |  33 +++++-
 jc/cli.py                         |   2 +
 jc/parsers/id.py                  | 214 ++++++++++++++++++++++++++++++++++++++
 tests/fixtures/centos-7.7/id.out  |   1 +
 tests/fixtures/osx-10.14.6/id.out |   1 +
 5 files changed, 250 insertions(+), 1 deletion(-)
d01dfa25f10f82cd201ae7b4c9cc18313773f8d3 changelog updates
 changelog.txt | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
395a99037b4816eb800b289f90372a9b8d7d36cc crontab-u and history doc updates
 README.md               | 84 ++++++++++++++++++++++++++++++++++++++++++++++---
 docs/parsers/history.md | 10 +++---
 jc/parsers/history.py   |  8 ++---
 3 files changed, 89 insertions(+), 13 deletions(-)
025986c51d2d4869b17de63a7dd96efa2988e3c5 change history 'line' to integer
 jc/parsers/history.py                    | 12 +++++++++++-
 tests/fixtures/centos-7.7/history.json   |  2 +-
 tests/fixtures/ubuntu-18.04/history.json |  2 +-
 3 files changed, 13 insertions(+), 3 deletions(-)
c56b83093ff05f55ef4643c1731cff61d4b9e8ce doc update
 docgen.sh                 |   1 +
 docs/parsers/crontab.md   |   4 +-
 docs/parsers/crontab_u.md | 199 ++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 202 insertions(+), 2 deletions(-)
7c712a4133abd843d4da926e4c8d548abd1d6fa3 doc update
 jc/parsers/crontab_u.py | 102 ++++++++++++++++++++++++------------------------
 1 file changed, 52 insertions(+), 50 deletions(-)
9a0cfe6dfa4888f435d35bd2d35126d031a556d0 minor formatting
 jc/parsers/crontab.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
a116cdbcec1b27192dd0f9f4707629353edb3caf tests for crontab-u
 tests/fixtures/ubuntu-18.04/crontab-u.json         |  1 +
 .../ubuntu-18.04/{crontab.out => crontab-u.out}    |  0
 tests/fixtures/ubuntu-18.04/crontab.json           |  1 -
 tests/test_crontab.py                              | 12 ----------
 tests/test_crontab_u.py                            | 28 ++++++++++++++++++++++
 5 files changed, 29 insertions(+), 13 deletions(-)
f2d616c98e049cdac5d667e63723f92110419a1b add crontab with user parser
 changelog.txt           |   1 +
 jc/cli.py               |   2 +
 jc/parsers/crontab_u.py | 269 ++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 272 insertions(+)
42cbd1777dbacc614d75f67f3f9156f72be46532 add xml and yaml tests
 tests/test_xml.py  | 40 ++++++++++++++++++++++++++++++++++++++++
 tests/test_yaml.py | 40 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 80 insertions(+)
ebf375aac0473249cfd212068f6e6e33cc42449a add ini tests
 tests/test_ini.py | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)
1f9050267eeb870c4c0f50000fc32985c4d8535b add ini, xml, and yaml test files
 tests/fixtures/generic/ini-iptelserver.ini     | 133 ++++++++++++++++
 tests/fixtures/generic/ini-iptelserver.json    |   1 +
 tests/fixtures/generic/ini-test.ini            |  12 ++
 tests/fixtures/generic/ini-test.json           |   1 +
 tests/fixtures/generic/xml-cd_catalog.json     |   1 +
 tests/fixtures/generic/xml-cd_catalog.xml      | 211 +++++++++++++++++++++++++
 tests/fixtures/generic/xml-foodmenu.json       |   1 +
 tests/fixtures/generic/xml-foodmenu.xml        |  33 ++++
 tests/fixtures/generic/yaml-istio-sc.json      |   1 +
 tests/fixtures/generic/yaml-istio-sc.yaml      |  17 ++
 tests/fixtures/generic/yaml-istio-sidecar.json |   1 +
 tests/fixtures/generic/yaml-istio-sidecar.yaml | 174 ++++++++++++++++++++
 12 files changed, 586 insertions(+)
d7f9707a1521719ce051140b1a0b4ced7c5114c9 minor formatting
 jc/parsers/ini.py  | 2 +-
 jc/parsers/yaml.py | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
ab589ee3ed09b9d5e09d8c046f3a64cd2bd14c98 add __version__ variable
 jc/cli.py | 3 +++
 1 file changed, 3 insertions(+)
c84ec0361fc4c877c698378b28ff9e8b502793b0 xml example update
 README.md           |  3 +-
 docgen.sh           |  1 +
 docs/parsers/xml.md | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/xml.py   |  5 +--
 4 files changed, 105 insertions(+), 3 deletions(-)
47d2f8968a8a9b68fc9fff45985f5e69f1a5cc40 doc update
 README.md     | 1 +
 changelog.txt | 1 +
 2 files changed, 2 insertions(+)
019c480bcce7fe3821b75906fc673ce7bb1ffadc update acknowledgments
 README.md | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
547c6d3d5956984d3c4fb5c2a1b76a595752b467 add xml parser
 README.md         |  46 +++++++++++++++++++++
 changelog.txt     |   3 +-
 jc/cli.py         |   3 ++
 jc/parsers/xml.py | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 setup.py          |   3 +-
 5 files changed, 172 insertions(+), 2 deletions(-)
b5ebf8b76afcd0e0190994048fe1f5b53f654451 add ruamel.yaml ack
 README.md | 1 +
 1 file changed, 1 insertion(+)
c690e328f23a69f592dfaaa949b74ba2190ad376 add examples
 docs/parsers/yaml.md | 58 +++++++++++++++++++++++++++++++++++++++++++++-------
 jc/parsers/yaml.py   | 58 +++++++++++++++++++++++++++++++++++++++++++++-------
 2 files changed, 102 insertions(+), 14 deletions(-)
cbb92c1a9517234806f1c54398a69645b6f43669 add ini and yaml
 README.md | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 94 insertions(+)
beb41997c9b3797e73a678ec1bcddcfb83b5ef0d doc update
 docgen.sh           |  1 +
 docs/parsers/ini.md | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/ini.py   |  5 +--
 3 files changed, 91 insertions(+), 2 deletions(-)
755a6faf1110f150fe2261b81439b7d17a9b424e clean up multi-document support
 jc/parsers/yaml.py | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)
021f8350a31a49ecc539f02576303600b222b49d update doc
 changelog.txt | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
76583dcd2f5ef32e58ca87149154563b07e061cb add ini file parser
 jc/cli.py         |   2 +
 jc/parsers/ini.py | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 113 insertions(+)
bf033239a706c42be3d7508c58a51c542f8a69b0 doc update
 docs/parsers/yaml.md | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/yaml.py   | 20 +++++++++------
 2 files changed, 82 insertions(+), 7 deletions(-)
eb37fccd37fd625f701a14b6cfcf30e9f0bbff4d doc update
 jc/parsers/yaml.py | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)
d04ad453319fe45e302da87f970d2ac0806fae1a setup for 1.7.1
 changelog.txt | 3 +++
 docgen.sh     | 1 +
 setup.py      | 5 +++--
 3 files changed, 7 insertions(+), 2 deletions(-)
db157b8ca7f7fa935676bafeaafdfd9818a89e6a add yaml file parser
 jc/cli.py          |  6 ++--
 jc/parsers/yaml.py | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 94 insertions(+), 2 deletions(-)
68f277bb2081eb2cba14ffe7f0ee1ee0a982335b add __version__
 jc/parsers/arp.py           | 3 +++
 jc/parsers/crontab.py       | 3 +++
 jc/parsers/df.py            | 3 +++
 jc/parsers/dig.py           | 3 +++
 jc/parsers/du.py            | 3 +++
 jc/parsers/env.py           | 3 +++
 jc/parsers/foo.py           | 3 +++
 jc/parsers/free.py          | 3 +++
 jc/parsers/fstab.py         | 3 +++
 jc/parsers/history.py       | 3 +++
 jc/parsers/hosts.py         | 3 +++
 jc/parsers/ifconfig.py      | 3 +++
 jc/parsers/iptables.py      | 3 +++
 jc/parsers/jobs.py          | 3 +++
 jc/parsers/ls.py            | 3 +++
 jc/parsers/lsblk.py         | 3 +++
 jc/parsers/lsmod.py         | 3 +++
 jc/parsers/lsof.py          | 3 +++
 jc/parsers/mount.py         | 3 +++
 jc/parsers/netstat.py       | 3 +++
 jc/parsers/pip_list.py      | 3 +++
 jc/parsers/pip_show.py      | 3 +++
 jc/parsers/ps.py            | 3 +++
 jc/parsers/route.py         | 3 +++
 jc/parsers/ss.py            | 3 +++
 jc/parsers/stat.py          | 3 +++
 jc/parsers/systemctl.py     | 3 +++
 jc/parsers/systemctl_lj.py  | 3 +++
 jc/parsers/systemctl_ls.py  | 3 +++
 jc/parsers/systemctl_luf.py | 3 +++
 jc/parsers/uname.py         | 3 +++
 jc/parsers/uptime.py        | 3 +++
 jc/parsers/w.py             | 3 +++
 33 files changed, 99 insertions(+)
4de8f42664379570392552796e34324abb39fdc2 Merge pull request #17 from kellyjonbrazil/dev
4f118559356edc1da866e1bec80830e7a75a0b26 update version info
 changelog.txt | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
2b9a5fcc32f85295faa55410efcaf142c42bd167 update version
 setup.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
224948d1f23e01b7cd968820529579792f862f0a pip list and pip show tests
 tests/fixtures/centos-7.7/pip-list.json          |  1 +
 tests/fixtures/centos-7.7/pip-list.out           | 22 +++++++
 tests/fixtures/centos-7.7/pip-show.json          |  1 +
 tests/fixtures/centos-7.7/pip-show.out           | 32 ++++++++++
 tests/fixtures/create_fixtures.sh                |  2 +
 tests/fixtures/osx-10.11.6/pip-list.json         |  1 +
 tests/fixtures/osx-10.11.6/pip-list.out          |  7 +++
 tests/fixtures/osx-10.11.6/pip-show.json         |  1 +
 tests/fixtures/osx-10.11.6/pip-show.out          | 32 ++++++++++
 tests/fixtures/osx-10.14.6/pip-list.json         |  1 +
 tests/fixtures/osx-10.14.6/pip-list.out          |  7 +++
 tests/fixtures/osx-10.14.6/pip-show.json         |  1 +
 tests/fixtures/osx-10.14.6/pip-show.out          | 32 ++++++++++
 tests/fixtures/ubuntu-18.04/pip-list-legacy.json |  1 +
 tests/fixtures/ubuntu-18.04/pip-list-legacy.out  | 57 ++++++++++++++++++
 tests/fixtures/ubuntu-18.04/pip-list.json        |  1 +
 tests/fixtures/ubuntu-18.04/pip-list.out         | 59 ++++++++++++++++++
 tests/fixtures/ubuntu-18.04/pip-show.json        |  1 +
 tests/fixtures/ubuntu-18.04/pip-show.out         | 29 +++++++++
 tests/test_pip_list.py                           | 76 ++++++++++++++++++++++++
 tests/test_pip_show.py                           | 64 ++++++++++++++++++++
 21 files changed, 428 insertions(+)
36f2812d5a7a94c412e098233c026d99d5205b60 add support for legacy output
 jc/parsers/pip_list.py | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)
be06aa2b31c057c56229e75c7fa70052b83053ee update parse() Return info
 docs/parsers/arp.md           | 2 +-
 docs/parsers/crontab.md       | 2 +-
 docs/parsers/df.md            | 2 +-
 docs/parsers/dig.md           | 2 +-
 docs/parsers/du.md            | 2 +-
 docs/parsers/env.md           | 3 ++-
 docs/parsers/free.md          | 2 +-
 docs/parsers/fstab.md         | 2 +-
 docs/parsers/history.md       | 3 ++-
 docs/parsers/hosts.md         | 2 +-
 docs/parsers/ifconfig.md      | 2 +-
 docs/parsers/iptables.md      | 2 +-
 docs/parsers/jobs.md          | 2 +-
 docs/parsers/ls.md            | 2 +-
 docs/parsers/lsblk.md         | 2 +-
 docs/parsers/lsmod.md         | 2 +-
 docs/parsers/lsof.md          | 2 +-
 docs/parsers/mount.md         | 2 +-
 docs/parsers/netstat.md       | 2 +-
 docs/parsers/pip_list.md      | 2 +-
 docs/parsers/pip_show.md      | 2 +-
 docs/parsers/ps.md            | 2 +-
 docs/parsers/route.md         | 2 +-
 docs/parsers/ss.md            | 2 +-
 docs/parsers/stat.md          | 2 +-
 docs/parsers/systemctl.md     | 2 +-
 docs/parsers/systemctl_lj.md  | 2 +-
 docs/parsers/systemctl_ls.md  | 2 +-
 docs/parsers/systemctl_luf.md | 2 +-
 docs/parsers/uname.md         | 2 +-
 docs/parsers/uptime.md        | 2 +-
 docs/parsers/w.md             | 2 +-
 jc/parsers/arp.py             | 2 +-
 jc/parsers/crontab.py         | 2 +-
 jc/parsers/df.py              | 2 +-
 jc/parsers/dig.py             | 2 +-
 jc/parsers/du.py              | 2 +-
 jc/parsers/env.py             | 3 ++-
 jc/parsers/foo.py             | 2 +-
 jc/parsers/free.py            | 2 +-
 jc/parsers/fstab.py           | 2 +-
 jc/parsers/history.py         | 3 ++-
 jc/parsers/hosts.py           | 2 +-
 jc/parsers/ifconfig.py        | 2 +-
 jc/parsers/iptables.py        | 2 +-
 jc/parsers/jobs.py            | 4 ++--
 jc/parsers/ls.py              | 2 +-
 jc/parsers/lsblk.py           | 2 +-
 jc/parsers/lsmod.py           | 2 +-
 jc/parsers/lsof.py            | 2 +-
 jc/parsers/mount.py           | 2 +-
 jc/parsers/netstat.py         | 2 +-
 jc/parsers/pip_list.py        | 2 +-
 jc/parsers/pip_show.py        | 2 +-
 jc/parsers/ps.py              | 2 +-
 jc/parsers/route.py           | 2 +-
 jc/parsers/ss.py              | 2 +-
 jc/parsers/stat.py            | 2 +-
 jc/parsers/systemctl.py       | 2 +-
 jc/parsers/systemctl_lj.py    | 2 +-
 jc/parsers/systemctl_ls.py    | 2 +-
 jc/parsers/systemctl_luf.py   | 2 +-
 jc/parsers/uname.py           | 2 +-
 jc/parsers/uptime.py          | 2 +-
 jc/parsers/w.py               | 2 +-
 65 files changed, 70 insertions(+), 66 deletions(-)
41f8e3aba268ca0cd09931a04368615425c1aec8 update Return info
 docs/parsers/arp.md           | 2 +-
 docs/parsers/crontab.md       | 2 +-
 docs/parsers/df.md            | 2 +-
 docs/parsers/dig.md           | 2 +-
 docs/parsers/du.md            | 2 +-
 docs/parsers/env.md           | 2 +-
 docs/parsers/free.md          | 2 +-
 docs/parsers/fstab.md         | 2 +-
 docs/parsers/history.md       | 2 +-
 docs/parsers/hosts.md         | 2 +-
 docs/parsers/ifconfig.md      | 2 +-
 docs/parsers/iptables.md      | 2 +-
 docs/parsers/jobs.md          | 3 ++-
 docs/parsers/ls.md            | 2 +-
 docs/parsers/lsblk.md         | 2 +-
 docs/parsers/lsmod.md         | 2 +-
 docs/parsers/lsof.md          | 2 +-
 docs/parsers/mount.md         | 2 +-
 docs/parsers/netstat.md       | 2 +-
 docs/parsers/pip_list.md      | 2 +-
 docs/parsers/pip_show.md      | 2 +-
 docs/parsers/ps.md            | 2 +-
 docs/parsers/route.md         | 2 +-
 docs/parsers/ss.md            | 2 +-
 docs/parsers/stat.md          | 2 +-
 docs/parsers/systemctl.md     | 2 +-
 docs/parsers/systemctl_lj.md  | 2 +-
 docs/parsers/systemctl_ls.md  | 2 +-
 docs/parsers/systemctl_luf.md | 2 +-
 docs/parsers/uname.md         | 2 +-
 docs/parsers/uptime.md        | 2 +-
 docs/parsers/w.md             | 2 +-
 jc/parsers/arp.py             | 2 +-
 jc/parsers/crontab.py         | 2 +-
 jc/parsers/df.py              | 2 +-
 jc/parsers/dig.py             | 2 +-
 jc/parsers/du.py              | 2 +-
 jc/parsers/env.py             | 2 +-
 jc/parsers/foo.py             | 2 +-
 jc/parsers/free.py            | 2 +-
 jc/parsers/fstab.py           | 2 +-
 jc/parsers/history.py         | 2 +-
 jc/parsers/hosts.py           | 2 +-
 jc/parsers/ifconfig.py        | 2 +-
 jc/parsers/iptables.py        | 2 +-
 jc/parsers/jobs.py            | 3 ++-
 jc/parsers/ls.py              | 2 +-
 jc/parsers/lsblk.py           | 2 +-
 jc/parsers/lsmod.py           | 2 +-
 jc/parsers/lsof.py            | 2 +-
 jc/parsers/mount.py           | 2 +-
 jc/parsers/netstat.py         | 2 +-
 jc/parsers/pip_list.py        | 2 +-
 jc/parsers/pip_show.py        | 2 +-
 jc/parsers/ps.py              | 2 +-
 jc/parsers/route.py           | 2 +-
 jc/parsers/ss.py              | 2 +-
 jc/parsers/stat.py            | 2 +-
 jc/parsers/systemctl.py       | 2 +-
 jc/parsers/systemctl_lj.py    | 2 +-
 jc/parsers/systemctl_ls.py    | 2 +-
 jc/parsers/systemctl_luf.py   | 2 +-
 jc/parsers/uname.py           | 2 +-
 jc/parsers/uptime.py          | 2 +-
 jc/parsers/w.py               | 2 +-
 65 files changed, 67 insertions(+), 65 deletions(-)
093c0df8978ace842af5258f9aff72c63c6f843d schema info
 README.md | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
37afc7dc8ae30342d01f3f72e73646fa60bb5294 updte todo and compatibility
 README.md | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
efbf3549606fc77f8c16587ff04a0c316dfe5c00 doc update for pip show
 README.md                | 31 ++++++++++++++++
 docgen.sh                |  1 +
 docs/parsers/pip_show.md | 94 ++++++++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/pip_show.py   | 12 -------
 4 files changed, 126 insertions(+), 12 deletions(-)
5e39fe0d8044787389d8f206f3c863d4bdf1e2ed pip show parser working
 jc/parsers/pip_show.py | 69 ++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 64 insertions(+), 5 deletions(-)
47328dc65969f149c8f027286774ff0847c18add add pip-show parser
 jc/cli.py | 2 ++
 1 file changed, 2 insertions(+)
addeef50ba54f536855544937a6c98135ae5cd51 initial pip show parser add
 jc/parsers/pip_show.py | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 84 insertions(+)
ad338cc5b50a178091c47cbea9a1db135a7fb678 schema doc update
 docs/parsers/crontab.md | 49 ++++++++++++++++++++++++++++---------------------
 jc/parsers/crontab.py   | 49 ++++++++++++++++++++++++++++---------------------
 2 files changed, 56 insertions(+), 42 deletions(-)
202bc8201e31fd453c682265347b4e2ac2d41718 doc update
 README.md               | 2 +-
 docs/parsers/crontab.md | 4 ++--
 jc/parsers/crontab.py   | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)
5ff99de405fbd8f79f9c2e301ac27184e0aba6fc add argument to parser info
 jc/cli.py | 1 +
 1 file changed, 1 insertion(+)
86ebe2cf9c6b336eacf217393c3c3c324ee29ec0 initial add of pip list parser
 README.md                |  21 ++++++++++
 docgen.sh                |   1 +
 docs/parsers/crontab.md  |   2 +-
 docs/parsers/pip_list.md |  75 +++++++++++++++++++++++++++++++++
 jc/cli.py                |   2 +
 jc/parsers/pip_list.py   | 105 +++++++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 205 insertions(+), 1 deletion(-)
facf0b399c608d33f6a454ee24fd49fc62471742 add osx to campatible
 jc/parsers/crontab.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
33db7b0bcb0f24979cad6e173737d75c8ed301af add crontab tests
 tests/fixtures/centos-7.7/crontab.json   |  1 +
 tests/fixtures/ubuntu-18.04/crontab.json |  1 +
 tests/fixtures/ubuntu-18.04/crontab.out  | 15 ++++++++++++
 tests/test_crontab.py                    | 40 ++++++++++++++++++++++++++++++++
 4 files changed, 57 insertions(+)
663d07bca1181024d9d08b940237c52197c91729 add crontab
 docgen.sh               |   1 +
 docs/parsers/crontab.md | 190 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 191 insertions(+)
ba04e4997fcb28adbee446f633c121f1585b9f2c update docs
 jc/parsers/crontab.py | 117 ++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 113 insertions(+), 4 deletions(-)
c4fee1b658c91afa2abdd746af6c1b4697c44b35 add crontab parser
 README.md | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 72 insertions(+), 1 deletion(-)
99b92a15bbebc5568f4455f388f945613c4a2759 support shortcut schedules
 jc/parsers/crontab.py                 | 40 +++++++++++++++++++++++++----------
 tests/fixtures/centos-7.7/crontab.out | 11 +++++++---
 2 files changed, 37 insertions(+), 14 deletions(-)
b076ab5b57a6a59db096485e5ff4eb9f91bae8be initial crontab parser
 jc/cli.py                             |   2 +
 jc/parsers/crontab.py                 | 132 ++++++++++++++++++++++++++++++++++
 tests/fixtures/centos-7.7/crontab.out |  43 +++++++++++
 3 files changed, 177 insertions(+)
687759f75d0e80e81746a84f051e55cfdc870447 alphabetize du entry
 README.md | 62 +++++++++++++++++++++++++++++++-------------------------------
 1 file changed, 31 insertions(+), 31 deletions(-)
9eaac7f3af0e0851c2d091d94c9920faa8a0fdfc add du
 README.md | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)
4c24e00cfc0748d98e220d08820b88fc156148db add osx-11 and ubuntu tests
 tests/fixtures/osx-10.11.6/du.json  |     1 +
 tests/fixtures/osx-10.11.6/du.out   |  2471 +++++
 tests/fixtures/ubuntu-18.04/du.json |     1 +
 tests/fixtures/ubuntu-18.04/du.out  | 19244 ++++++++++++++++++++++++++++++++++
 tests/test_du.py                    |    30 +-
 5 files changed, 21738 insertions(+), 9 deletions(-)
beb17011b03e720078b0752e79a6a0f6123d1d3c du tests and docs
 changelog.txt                      |   2 +-
 docgen.sh                          |   1 +
 docs/parsers/du.md                 | 115 +++++++++++++++++++++++++++++++++++++
 docs/parsers/uname.md              |   2 +-
 tests/fixtures/osx-10.14.6/du.json |   1 +
 tests/test_du.py                   |  12 ++++
 6 files changed, 131 insertions(+), 2 deletions(-)
e882bf55bcd1d3526423ed1ccc61fb4819395cce initial add du parser
 changelog.txt                     |    1 +
 jc/cli.py                         |    2 +
 jc/parsers/du.py                  |  148 ++
 tests/fixtures/centos-7.7/du.json |    1 +
 tests/fixtures/centos-7.7/du.out  | 5199 +++++++++++++++++++++++++++++++++++++
 tests/fixtures/osx-10.14.6/du.out | 3364 ++++++++++++++++++++++++
 tests/test_du.py                  |   40 +
 7 files changed, 8755 insertions(+)
3a3016adb6d5b9e35f8a39908bfcdc65997cc5c6 add parser_count to about
 jc/cli.py | 1 +
 1 file changed, 1 insertion(+)
1e8b68153ade8a1e3d2b4db36e0c402bbc887079 add osx uname tests
 tests/fixtures/osx-10.11.6/uname-a.json |  1 +
 tests/fixtures/osx-10.14.6/uname-a.json |  1 +
 tests/fixtures/osx-10.14.6/uname-a.out  |  2 +-
 tests/test_uname.py                     | 24 ++++++++++++++++++++++++
 4 files changed, 27 insertions(+), 1 deletion(-)
9335cf65fbb87e3a0a7da0c4e9bcd251cb829de2 add uname osx support
 changelog.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
83f35256aee71f2619ddf880e2b8f2d6c63280bc add OSX support
 jc/parsers/uname.py | 49 ++++++++++++++++++++++++++++++-------------------
 1 file changed, 30 insertions(+), 19 deletions(-)
428333394817e4461a4eb095f4d6d128305a5f98 version bump
 jc/parsers/netstat.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
b8f902796b7fb23a41355b23f7ce235bd18edc58 shorten changelog
 changelog.txt | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)
8f99ab295cd15718b98781707def97539ad41920 info update
 jc/cli.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
882310e268e2022f0cd6da75f80f5356529cd05c add name to about parser info
 jc/cli.py | 1 +
 1 file changed, 1 insertion(+)
56bce9521409d1850f75a3ae2be1363e765dd9dc about code cleanup
 jc/cli.py | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)
c13ecbec2952c5d6765397f645e90653a4fd9d05 clean up parser info
 jc/parsers/arp.py           | 1 -
 jc/parsers/df.py            | 1 -
 jc/parsers/dig.py           | 1 -
 jc/parsers/env.py           | 1 -
 jc/parsers/foo.py           | 2 +-
 jc/parsers/free.py          | 1 -
 jc/parsers/fstab.py         | 1 -
 jc/parsers/history.py       | 1 -
 jc/parsers/hosts.py         | 1 -
 jc/parsers/iptables.py      | 1 -
 jc/parsers/jobs.py          | 1 -
 jc/parsers/ls.py            | 1 -
 jc/parsers/lsblk.py         | 1 -
 jc/parsers/lsmod.py         | 1 -
 jc/parsers/lsof.py          | 1 -
 jc/parsers/mount.py         | 1 -
 jc/parsers/netstat.py       | 1 -
 jc/parsers/ps.py            | 1 -
 jc/parsers/route.py         | 1 -
 jc/parsers/ss.py            | 1 -
 jc/parsers/stat.py          | 2 +-
 jc/parsers/systemctl.py     | 1 -
 jc/parsers/systemctl_lj.py  | 1 -
 jc/parsers/systemctl_ls.py  | 1 -
 jc/parsers/systemctl_luf.py | 1 -
 jc/parsers/uname.py         | 1 -
 jc/parsers/uptime.py        | 1 -
 jc/parsers/w.py             | 1 -
 28 files changed, 2 insertions(+), 28 deletions(-)
0ffaaa6e73649d1f657af569ac0b912f166e8493 clean up about code
 jc/cli.py | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)
75eff3adea097157c005b2201e353a741241ce8b remove whitespace
 jc/utils.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
bf5f80476cff642ae672187ea59d40bdb602101e use real parser name in error message
 jc/cli.py | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
9aaf0fbb2f838c0af1e7f18fdb19104f9f5d3d39 doc updates
 changelog.txt                 |  1 +
 docs/parsers/arp.md           | 11 ++++++++++-
 docs/parsers/df.md            |  5 +++++
 docs/parsers/dig.md           |  5 +++++
 docs/parsers/env.md           |  5 +++++
 docs/parsers/free.md          |  5 +++++
 docs/parsers/fstab.md         |  5 +++++
 docs/parsers/history.md       |  5 +++++
 docs/parsers/hosts.md         |  5 +++++
 docs/parsers/ifconfig.md      |  5 +++++
 docs/parsers/iptables.md      |  5 +++++
 docs/parsers/jobs.md          |  5 +++++
 docs/parsers/ls.md            |  5 +++++
 docs/parsers/lsblk.md         |  5 +++++
 docs/parsers/lsmod.md         |  5 +++++
 docs/parsers/lsof.md          |  5 +++++
 docs/parsers/mount.md         |  5 +++++
 docs/parsers/netstat.md       |  5 +++++
 docs/parsers/ps.md            |  5 +++++
 docs/parsers/route.md         |  5 +++++
 docs/parsers/ss.md            |  5 +++++
 docs/parsers/stat.md          |  5 +++++
 docs/parsers/systemctl.md     |  5 +++++
 docs/parsers/systemctl_lj.md  |  5 +++++
 docs/parsers/systemctl_ls.md  |  5 +++++
 docs/parsers/systemctl_luf.md |  5 +++++
 docs/parsers/uname.md         |  5 +++++
 docs/parsers/uptime.md        |  5 +++++
 docs/parsers/w.md             |  5 +++++
 29 files changed, 146 insertions(+), 1 deletion(-)
8f01ef79532743573632d716ceea41d5ea752c88 add -a option info
 README.md | 1 +
 1 file changed, 1 insertion(+)
da1d087452da02631296b1b3dc9ee10d4b7f764b add parser version info
 jc/cli.py | 1 +
 1 file changed, 1 insertion(+)
e16bc7e882a27a1d5a4bd7cf9972208e6997f96f add about information to parsers
 jc/cli.py                   | 71 ++++++++++++++++++++++++++++++++++-----------
 jc/parsers/arp.py           |  1 +
 jc/parsers/df.py            |  1 +
 jc/parsers/dig.py           |  1 +
 jc/parsers/env.py           |  1 +
 jc/parsers/foo.py           |  1 +
 jc/parsers/free.py          |  1 +
 jc/parsers/fstab.py         |  1 +
 jc/parsers/history.py       |  1 +
 jc/parsers/hosts.py         |  1 +
 jc/parsers/iptables.py      |  1 +
 jc/parsers/jobs.py          |  1 +
 jc/parsers/ls.py            |  1 +
 jc/parsers/lsblk.py         |  1 +
 jc/parsers/lsmod.py         |  1 +
 jc/parsers/lsof.py          |  1 +
 jc/parsers/mount.py         |  1 +
 jc/parsers/netstat.py       |  1 +
 jc/parsers/ps.py            |  1 +
 jc/parsers/route.py         |  1 +
 jc/parsers/ss.py            |  1 +
 jc/parsers/stat.py          |  1 +
 jc/parsers/systemctl.py     |  1 +
 jc/parsers/systemctl_lj.py  |  1 +
 jc/parsers/systemctl_ls.py  |  1 +
 jc/parsers/systemctl_luf.py |  1 +
 jc/parsers/uname.py         |  1 +
 jc/parsers/uptime.py        |  1 +
 jc/parsers/w.py             |  1 +
 29 files changed, 82 insertions(+), 17 deletions(-)
fe9bdd4811216257c05b16d6d61897929669d434 add info class
 changelog.txt               |   4 +-
 jc/cli.py                   | 127 ++++++++++++++++++++------------------------
 jc/parsers/arp.py           |  25 +++++----
 jc/parsers/df.py            |  15 ++++--
 jc/parsers/dig.py           |  15 ++++--
 jc/parsers/env.py           |  16 ++++--
 jc/parsers/foo.py           |  16 ++++--
 jc/parsers/free.py          |  16 ++++--
 jc/parsers/fstab.py         |  16 ++++--
 jc/parsers/history.py       |  16 ++++--
 jc/parsers/hosts.py         |  16 ++++--
 jc/parsers/ifconfig.py      |  17 ++++--
 jc/parsers/iptables.py      |  16 ++++--
 jc/parsers/jobs.py          |  16 ++++--
 jc/parsers/ls.py            |  16 ++++--
 jc/parsers/lsblk.py         |  17 +++---
 jc/parsers/lsmod.py         |  16 ++++--
 jc/parsers/lsof.py          |  16 ++++--
 jc/parsers/mount.py         |  16 ++++--
 jc/parsers/netstat.py       |  16 ++++--
 jc/parsers/ps.py            |  16 ++++--
 jc/parsers/route.py         |  16 ++++--
 jc/parsers/ss.py            |  16 ++++--
 jc/parsers/stat.py          |  15 ++++--
 jc/parsers/systemctl.py     |  16 ++++--
 jc/parsers/systemctl_lj.py  |  16 ++++--
 jc/parsers/systemctl_ls.py  |  16 ++++--
 jc/parsers/systemctl_luf.py |  16 ++++--
 jc/parsers/uname.py         |  16 ++++--
 jc/parsers/uptime.py        |  16 ++++--
 jc/parsers/w.py             |  16 ++++--
 31 files changed, 384 insertions(+), 219 deletions(-)
17b6f3f6d6c398a52166849088a793d0e3b328b7 add osx tests
 tests/fixtures/osx-10.11.6/uptime.json |  1 +
 tests/fixtures/osx-10.14.6/uptime.json |  1 +
 tests/test_uptime.py                   | 24 ++++++++++++++++++++++++
 3 files changed, 26 insertions(+)
90a6baf0ee3b8b27476badada4e590e22144f810 add osx tests
 tests/fixtures/osx-10.11.6/ps-axu.json |  1 +
 tests/fixtures/osx-10.11.6/ps-ef.json  |  1 +
 tests/fixtures/osx-10.11.6/w.json      |  1 +
 tests/fixtures/osx-10.14.6/w.json      |  1 +
 tests/test_ps.py                       | 24 ++++++++++++++++++++++++
 tests/test_w.py                        | 24 ++++++++++++++++++++++++
 6 files changed, 52 insertions(+)
f0e73d0e72d540292f41fff51652932c4e8b0315 add osx tests
 tests/fixtures/osx-10.11.6/ps-axu.out  | 211 +++++++++++++++++++++++++++++++++
 tests/fixtures/osx-10.11.6/ps-ef.out   | 211 +++++++++++++++++++++++++++++++++
 tests/fixtures/osx-10.11.6/uname-a.out |   1 +
 tests/fixtures/osx-10.11.6/uptime.out  |   1 +
 tests/fixtures/osx-10.11.6/w.out       |   8 ++
 tests/fixtures/osx-10.14.6/uname-a.out |   1 +
 tests/fixtures/osx-10.14.6/uptime.out  |   1 +
 tests/fixtures/osx-10.14.6/w.out       |  10 ++
 8 files changed, 444 insertions(+)
a762882f1ccea6789ce7813b313f3242175b5bd6 fixture updates
 tests/fixtures/osx-10.14.6/ps-axu.json |  2 +-
 tests/fixtures/osx-10.14.6/ps-axu.out  | 43 ----------------------------------
 tests/fixtures/osx-10.14.6/ps-ef.json  |  2 +-
 tests/fixtures/osx-10.14.6/ps-ef.out   | 43 ----------------------------------
 4 files changed, 2 insertions(+), 88 deletions(-)
4c1bc5923658bf463805ea33ec8d170a817909ce doc updates
 docs/parsers/mount.md | 2 +-
 docs/parsers/ps.md    | 3 ++-
 docs/parsers/stat.md  | 2 +-
 3 files changed, 4 insertions(+), 3 deletions(-)
f2962083f80503f82c3eddf470674c776e616b32 add osx support for mount parser
 changelog.txt                          |  3 +-
 jc/parsers/mount.py                    | 68 ++++++++++++++++++++++++++--------
 tests/fixtures/osx-10.14.6/mount.json  |  1 +
 tests/fixtures/osx-10.14.6/mount.out   |  6 +++
 tests/fixtures/osx-10.14.6/mount2.json |  1 +
 tests/fixtures/osx-10.14.6/mount2.out  |  7 ++++
 tests/test_mount.py                    | 24 ++++++++++++
 7 files changed, 93 insertions(+), 17 deletions(-)
a0b22a5bcfa0777895243088b2c0f3bb5b758775 help text formatting
 jc/cli.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
dcf393354cd57683aaeecbed7b884d19b0fe94d4 doc fix
 jc/parsers/stat.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
5f771656e3fdd703d449b2817faa4faeff1cd879 use universal parser
 jc/parsers/route.py | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)
f376aab79328a211a127f4f818e7007232f1fae3 doc update
 jc/parsers/universal.py | 3 +++
 1 file changed, 3 insertions(+)
3c96464217a740571e16c74ad41c1d92f7585547 osx fixes and tests
 jc/parsers/ps.py                       |  31 ++-
 tests/fixtures/osx-10.14.6/ps-axu.json |   1 +
 tests/fixtures/osx-10.14.6/ps-axu.out  | 421 +++++++++++++++++++++++++++++++++
 tests/fixtures/osx-10.14.6/ps-ef.json  |   1 +
 tests/fixtures/osx-10.14.6/ps-ef.out   | 421 +++++++++++++++++++++++++++++++++
 tests/test_ps.py                       |  24 ++
 6 files changed, 886 insertions(+), 13 deletions(-)
c9892833a16bb63f78537717be65670eb65a87b7 formatting change
 jc/parsers/mount.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
127c98affc7b122f0ced13852850214b9e07677e changelog update
 changelog.txt | 1 +
 1 file changed, 1 insertion(+)
8687a772f53ecaf1a20464429060b94bbf660fe7 use universal parser
 jc/parsers/lsof.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
b1162b14d42643fd53dbbe3f89ba042f030d9254 use universal parser
 jc/parsers/lsmod.py | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)
8a8ee3570733c0c06b8cf53eb005e53ac2f9170f use universal parser
 jc/parsers/lsblk.py | 68 +++++++----------------------------------------------
 1 file changed, 8 insertions(+), 60 deletions(-)
5e109a3665cf0c286ac9dcbe2a452348a14b90ab add du
 tests/fixtures/create_fixtures.sh | 2 ++
 1 file changed, 2 insertions(+)
11db478430515ef3e1020482792f23d1c40ca32b update changelog
 changelog.txt | 2 ++
 1 file changed, 2 insertions(+)
a85377014d9f93fcb9840715129b0e09d48d8584 use universal parser
 jc/parsers/free.py | 16 +++++-----------
 1 file changed, 5 insertions(+), 11 deletions(-)
3aea86234d33160f5b3139cbfc2f4f032f655f3a fix osx-10.11.6 tests
 tests/fixtures/osx-10.11.6/ls-al.json  |  2 +-
 tests/fixtures/osx-10.11.6/ls-al.out   | 61 ++++++++++++++++++----------------
 tests/fixtures/osx-10.11.6/ls-alh.json |  2 +-
 tests/fixtures/osx-10.11.6/ls-alh.out  | 61 ++++++++++++++++++----------------
 tests/fixtures/osx-10.11.6/ls.json     |  2 +-
 tests/fixtures/osx-10.11.6/ls.out      |  3 ++
 6 files changed, 70 insertions(+), 61 deletions(-)
916ec6ed6b858a8a496e4026b9bab5505abca2ff fix osx ls tests
 tests/fixtures/osx-10.11.6/ls-al.json  |  1 +
 tests/fixtures/osx-10.11.6/ls-al.out   | 29 +++++++++++++++
 tests/fixtures/osx-10.11.6/ls-alh.json |  1 +
 tests/fixtures/osx-10.11.6/ls-alh.out  | 29 +++++++++++++++
 tests/fixtures/osx-10.11.6/ls.json     |  1 +
 tests/fixtures/osx-10.11.6/ls.out      | 18 ++++++++++
 tests/fixtures/osx-10.14.6/ls-al.json  |  2 +-
 tests/fixtures/osx-10.14.6/ls-al.out   | 64 +++++++++++++++++++---------------
 tests/fixtures/osx-10.14.6/ls-alh.json |  2 +-
 tests/fixtures/osx-10.14.6/ls-alh.out  | 64 +++++++++++++++++++---------------
 tests/fixtures/osx-10.14.6/ls.json     |  2 +-
 tests/fixtures/osx-10.14.6/ls.out      |  5 +++
 tests/test_ls.py                       | 36 +++++++++++++++++++
 13 files changed, 193 insertions(+), 61 deletions(-)
9dca6ba5393d8840ad7fc9509273715a71955bd1 doc formatting change
 docs/parsers/df.md            | 2 ++
 docs/parsers/dig.md           | 2 ++
 docs/parsers/env.md           | 2 ++
 docs/parsers/free.md          | 2 ++
 docs/parsers/fstab.md         | 2 ++
 docs/parsers/history.md       | 2 ++
 docs/parsers/hosts.md         | 2 ++
 docs/parsers/ifconfig.md      | 2 ++
 docs/parsers/iptables.md      | 2 ++
 docs/parsers/jobs.md          | 2 ++
 docs/parsers/ls.md            | 8 +++++---
 docs/parsers/lsblk.md         | 2 ++
 docs/parsers/lsmod.md         | 2 ++
 docs/parsers/lsof.md          | 2 ++
 docs/parsers/mount.md         | 2 ++
 docs/parsers/netstat.md       | 2 ++
 docs/parsers/ps.md            | 2 ++
 docs/parsers/route.md         | 2 ++
 docs/parsers/ss.md            | 3 +++
 docs/parsers/stat.md          | 2 ++
 docs/parsers/systemctl.md     | 2 ++
 docs/parsers/systemctl_lj.md  | 2 ++
 docs/parsers/systemctl_ls.md  | 2 ++
 docs/parsers/systemctl_luf.md | 2 ++
 docs/parsers/uname.md         | 3 +++
 docs/parsers/uptime.md        | 2 ++
 docs/parsers/w.md             | 2 ++
 jc/parsers/df.py              | 2 ++
 jc/parsers/dig.py             | 2 ++
 jc/parsers/env.py             | 2 ++
 jc/parsers/foo.py             | 2 ++
 jc/parsers/free.py            | 2 ++
 jc/parsers/fstab.py           | 2 ++
 jc/parsers/history.py         | 2 ++
 jc/parsers/hosts.py           | 2 ++
 jc/parsers/ifconfig.py        | 2 ++
 jc/parsers/iptables.py        | 2 ++
 jc/parsers/jobs.py            | 2 ++
 jc/parsers/ls.py              | 8 +++++---
 jc/parsers/lsblk.py           | 2 ++
 jc/parsers/lsmod.py           | 2 ++
 jc/parsers/lsof.py            | 2 ++
 jc/parsers/mount.py           | 2 ++
 jc/parsers/netstat.py         | 2 ++
 jc/parsers/ps.py              | 2 ++
 jc/parsers/route.py           | 2 ++
 jc/parsers/ss.py              | 3 +++
 jc/parsers/stat.py            | 2 ++
 jc/parsers/systemctl.py       | 2 ++
 jc/parsers/systemctl_lj.py    | 2 ++
 jc/parsers/systemctl_ls.py    | 2 ++
 jc/parsers/systemctl_luf.py   | 2 ++
 jc/parsers/uname.py           | 3 +++
 jc/parsers/uptime.py          | 2 ++
 jc/parsers/w.py               | 2 ++
 55 files changed, 120 insertions(+), 6 deletions(-)
0ebb89f561e1ced2e7f61ae19290e176c8a98bf2 doc update
 docs/parsers/arp.md | 2 ++
 1 file changed, 2 insertions(+)
e237867e242211ba37206911ebf1b35c97b417fd doc formatting
 jc/parsers/arp.py | 2 ++
 1 file changed, 2 insertions(+)
78fa44fd9ac9790313de6f461eb46d9b8d6159d4 add compatibility to docs
 docs/parsers/netstat.md       | 3 +++
 docs/parsers/ps.md            | 3 +++
 docs/parsers/route.md         | 3 +++
 docs/parsers/ss.md            | 3 +++
 docs/parsers/stat.md          | 5 ++++-
 docs/parsers/systemctl.md     | 3 +++
 docs/parsers/systemctl_lj.md  | 3 +++
 docs/parsers/systemctl_ls.md  | 3 +++
 docs/parsers/systemctl_luf.md | 3 +++
 docs/parsers/uname.md         | 3 +++
 docs/parsers/uptime.md        | 3 +++
 docs/parsers/w.md             | 3 +++
 jc/parsers/netstat.py         | 3 +++
 jc/parsers/ps.py              | 3 +++
 jc/parsers/route.py           | 5 ++++-
 jc/parsers/ss.py              | 3 +++
 jc/parsers/stat.py            | 5 ++++-
 jc/parsers/systemctl.py       | 3 +++
 jc/parsers/systemctl_lj.py    | 3 +++
 jc/parsers/systemctl_ls.py    | 3 +++
 jc/parsers/systemctl_luf.py   | 3 +++
 jc/parsers/uname.py           | 3 +++
 jc/parsers/uptime.py          | 3 +++
 jc/parsers/w.py               | 3 +++
 24 files changed, 75 insertions(+), 3 deletions(-)
d615fa3b933ccd284bd8ee92baf5dfa6264507c6 add compatibility to docs
 docs/parsers/arp.md      | 3 +++
 docs/parsers/df.md       | 3 +++
 docs/parsers/dig.md      | 3 +++
 docs/parsers/env.md      | 3 +++
 docs/parsers/free.md     | 3 +++
 docs/parsers/fstab.md    | 3 +++
 docs/parsers/history.md  | 3 +++
 docs/parsers/hosts.md    | 3 +++
 docs/parsers/ifconfig.md | 3 +++
 docs/parsers/iptables.md | 3 +++
 docs/parsers/jobs.md     | 3 +++
 docs/parsers/ls.md       | 3 +++
 docs/parsers/lsblk.md    | 3 +++
 docs/parsers/lsmod.md    | 3 +++
 docs/parsers/lsof.md     | 3 +++
 docs/parsers/mount.md    | 3 +++
 jc/parsers/env.py        | 3 +++
 jc/parsers/foo.py        | 3 +++
 jc/parsers/free.py       | 3 +++
 jc/parsers/fstab.py      | 3 +++
 jc/parsers/history.py    | 3 +++
 jc/parsers/hosts.py      | 3 +++
 jc/parsers/ifconfig.py   | 3 +++
 jc/parsers/iptables.py   | 5 ++++-
 jc/parsers/jobs.py       | 3 +++
 jc/parsers/ls.py         | 3 +++
 jc/parsers/lsblk.py      | 3 +++
 jc/parsers/lsmod.py      | 3 +++
 jc/parsers/lsof.py       | 3 +++
 jc/parsers/mount.py      | 3 +++
 30 files changed, 91 insertions(+), 1 deletion(-)
ce134dc332dd9175e0d1823a4959bed427a3ddce Add OSX tests for ls
 tests/fixtures/osx-10.14.6/ls-al.json  |  1 +
 tests/fixtures/osx-10.14.6/ls-al.out   | 29 +++++++++++++++++++++++++++
 tests/fixtures/osx-10.14.6/ls-alh.json |  1 +
 tests/fixtures/osx-10.14.6/ls-alh.out  | 29 +++++++++++++++++++++++++++
 tests/fixtures/osx-10.14.6/ls.json     |  1 +
 tests/fixtures/osx-10.14.6/ls.out      | 18 +++++++++++++++++
 tests/test_ls.py                       | 36 ++++++++++++++++++++++++++++++++++
 7 files changed, 115 insertions(+)
a56e4dc752a01635fbd9fc31e21d390bbd629084 use universal simple table parser
 changelog.txt           |  1 +
 jc/parsers/arp.py       |  6 +++---
 jc/parsers/universal.py | 24 ++++++++++++++++++++++++
 3 files changed, 28 insertions(+), 3 deletions(-)
d221b4aa29e80dda2b591059f4d64c416bff0a17 changelog update
 changelog.txt | 1 +
 1 file changed, 1 insertion(+)
d2cba6ad2f1f1cd35aa174239584a0291abb8e37 add compatibility info
 jc/parsers/arp.py | 3 +++
 jc/parsers/df.py  | 3 +++
 jc/parsers/dig.py | 3 +++
 3 files changed, 9 insertions(+)
84b3c30b525ddf1f74eb7fd833050a0ec69621dd add osx tests
 tests/fixtures/osx-10.11.6/df-h.json     |  1 +
 tests/fixtures/osx-10.11.6/df-h.out      |  7 +++++
 tests/fixtures/osx-10.11.6/df.json       |  1 +
 tests/fixtures/osx-10.11.6/df.out        |  7 +++++
 tests/fixtures/osx-10.11.6/dig-aaaa.json |  1 +
 tests/fixtures/osx-10.11.6/dig-aaaa.out  | 20 ++++++++++++
 tests/fixtures/osx-10.11.6/dig-x.json    |  1 +
 tests/fixtures/osx-10.11.6/dig-x.out     | 20 ++++++++++++
 tests/fixtures/osx-10.11.6/dig.json      |  1 +
 tests/fixtures/osx-10.11.6/dig.out       | 41 +++++++++++++++++++++++++
 tests/fixtures/osx-10.14.6/df-h.json     |  1 +
 tests/fixtures/osx-10.14.6/df-h.out      |  9 ++++++
 tests/fixtures/osx-10.14.6/df.json       |  1 +
 tests/fixtures/osx-10.14.6/df.out        |  9 ++++++
 tests/fixtures/osx-10.14.6/dig-aaaa.json |  1 +
 tests/fixtures/osx-10.14.6/dig-aaaa.out  | 20 ++++++++++++
 tests/fixtures/osx-10.14.6/dig-x.json    |  1 +
 tests/fixtures/osx-10.14.6/dig-x.out     | 20 ++++++++++++
 tests/fixtures/osx-10.14.6/dig.json      |  1 +
 tests/fixtures/osx-10.14.6/dig.out       | 41 +++++++++++++++++++++++++
 tests/test_df.py                         | 52 ++++++++++++++++++++++++++++++--
 21 files changed, 254 insertions(+), 2 deletions(-)
68eeec19a812b735627763bb7d7e2a58b72f7504 doc update
 README.md          |  4 ++--
 docs/parsers/df.md | 31 ++++++++++++++++++-------------
 jc/parsers/df.py   | 20 ++++++++++----------
 3 files changed, 30 insertions(+), 25 deletions(-)
c6d1528a2ed302ea82828b733a98db415be83708 use _ instead of -
 jc/parsers/df.py                    | 21 ++++++++++++++++-----
 jc/parsers/universal.py             |  2 +-
 tests/fixtures/centos-7.7/df.json   |  2 +-
 tests/fixtures/ubuntu-18.04/df.json |  2 +-
 4 files changed, 19 insertions(+), 8 deletions(-)
50a6b256b8a0936299f562c208ede6187feeb9a7 new universal parsers to limit code duplication
 jc/parsers/universal.py | 83 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 83 insertions(+)
bbba1fe477014d0b7f370ce46ed821121be81a8e update df to use universal sparse table parser for osx compatibility
 jc/parsers/df.py | 57 +++++++++++++++++++++++++++++++++++++-------------------
 1 file changed, 38 insertions(+), 19 deletions(-)
46b827da6b438be73fab168c3f05298483b141e4 add osx compatibility
 changelog.txt                         |  1 +
 jc/parsers/arp.py                     | 27 +++++++++++++++++++++++----
 tests/fixtures/osx-10.11.6/arp-a.json |  1 +
 tests/fixtures/osx-10.11.6/arp-a.out  | 13 +++++++++++++
 tests/fixtures/osx-10.14.6/arp-a.json |  1 +
 tests/fixtures/osx-10.14.6/arp-a.out  | 12 ++++++++++++
 tests/test_arp.py                     | 24 ++++++++++++++++++++++++
 7 files changed, 75 insertions(+), 4 deletions(-)
5e8c28a30a283b6ef525e9e78d3ef2a0e1526927 comment fix
 jc/parsers/ifconfig.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
e5d39031645ac897e0c0297f514ee62efe02f5f9 update ifconfig doc
 docs/parsers/ifconfig.md | 55 +++++++++++++++++++++++++++++++++---------------
 1 file changed, 38 insertions(+), 17 deletions(-)
23975c9c9e1dd9d3e9fd7c05d231a86d646be048 fixup osx subnet mask and convert state to an array
 README.md                                 | 35 +++++++++-----
 changelog.txt                             |  2 +-
 jc/parsers/ifconfig.py                    | 80 +++++++++++++++++++++----------
 tests/fixtures/centos-7.7/ifconfig.json   |  2 +-
 tests/fixtures/osx-10.11.6/ifconfig.json  |  2 +-
 tests/fixtures/osx-10.11.6/ifconfig2.json |  2 +-
 tests/fixtures/osx-10.14.6/ifconfig.json  |  2 +-
 tests/fixtures/osx-10.14.6/ifconfig2.json |  2 +-
 tests/fixtures/ubuntu-18.04/ifconfig.json |  2 +-
 tests/test_ifconfig.py                    | 48 +++++++++++++++++++
 10 files changed, 132 insertions(+), 45 deletions(-)
1e0dab8355e6fcb0ecde85270d4daac6ad93875b ifconfig fixture updates
 tests/fixtures/centos-7.7/ifconfig.json   |  2 +-
 tests/fixtures/osx-10.11.6/ifconfig.json  |  1 +
 tests/fixtures/osx-10.11.6/ifconfig.out   | 40 +++++++++++++
 tests/fixtures/osx-10.11.6/ifconfig2.json |  1 +
 tests/fixtures/osx-10.11.6/ifconfig2.out  | 40 +++++++++++++
 tests/fixtures/osx-10.14.6/ifconfig.json  |  1 +
 tests/fixtures/osx-10.14.6/ifconfig.out   | 91 +++++++++++++++++++++++++++++
 tests/fixtures/osx-10.14.6/ifconfig2.json |  1 +
 tests/fixtures/osx-10.14.6/ifconfig2.out  | 95 +++++++++++++++++++++++++++++++
 tests/fixtures/ubuntu-18.04/ifconfig.json |  2 +-
 10 files changed, 272 insertions(+), 2 deletions(-)
5f4c10ffd5a9cbe4e5e3d2b9adc34f36492eaf46 doc update
 README.md     | 2 ++
 changelog.txt | 4 ++++
 2 files changed, 6 insertions(+)
6f3d2b4b566b963fbf38572c587e8bd4e18881dc require ifconfig-parser v0.0.5 for mac and bytes support
 setup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
fea8ace8446b64abe9e61a028951bc4e6df9f9c9 add OSX compatibility
 README.md              |  4 ++++
 jc/parsers/ifconfig.py | 22 ++++++++++++++++------
 2 files changed, 20 insertions(+), 6 deletions(-)
6633d9262c936217d8e90e64505c66b006cdab56 Set theme jekyll-theme-cayman
 _config.yml | 1 +
 1 file changed, 1 insertion(+)
7d54137140e6d0515bc23c131a097af5c70c3379 link update
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2fcda6f2480ae6bd5428a0147c19f9af527391b8 add motivation to readme
 README.md | 1 +
 1 file changed, 1 insertion(+)
9c1b8bacf9a59a86feb2a91eb44919e800491d1e Merge pull request #16 from kellyjonbrazil/dev
4867655eb297b1da7a55e0d3a24c7ed7c8af55c7 add line-numbers tests
 .../centos-7.7/iptables-filter-line-numbers.json   |   1 +
 .../centos-7.7/iptables-filter-line-numbers.out    | 128 +++++++++++++++++++++
 tests/fixtures/create_fixtures.sh                  |   1 +
 .../ubuntu-18.04/iptables-filter-line-numbers.json |   1 +
 .../ubuntu-18.04/iptables-filter-line-numbers.out  |  17 +++
 tests/test_iptables.py                             |  24 ++++
 6 files changed, 172 insertions(+)
47410d1a95406b0960aac705e7cfe925fea3172c version bump
 changelog.txt | 2 +-
 setup.py      | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
5fa49f5e672fc6f8dc18fb4b1761c98b81362649 changelog update
 changelog.txt | 1 +
 1 file changed, 1 insertion(+)
36c53827fab6ac38c0010250ec387db40fdeecfc add systemctl tests
 tests/fixtures/centos-7.7/systemctl-ls.json    |   1 +
 tests/fixtures/centos-7.7/systemctl-ls.out     |  17 +
 tests/fixtures/centos-7.7/systemctl-luf.json   |   1 +
 tests/fixtures/centos-7.7/systemctl-luf.out    | 247 ++++++++++++
 tests/fixtures/centos-7.7/systemctl.json       |   2 +-
 tests/fixtures/centos-7.7/systemctl.out        | 334 ++++++++++------
 tests/fixtures/create_fixtures.sh              |   8 +
 tests/fixtures/ubuntu-18.04/systemctl-lj.json  |   1 +
 tests/fixtures/ubuntu-18.04/systemctl-lj.out   |   6 +
 tests/fixtures/ubuntu-18.04/systemctl-ls.json  |   1 +
 tests/fixtures/ubuntu-18.04/systemctl-ls.out   |  27 ++
 tests/fixtures/ubuntu-18.04/systemctl-luf.json |   1 +
 tests/fixtures/ubuntu-18.04/systemctl-luf.out  | 324 +++++++++++++++
 tests/fixtures/ubuntu-18.04/systemctl.json     |   2 +-
 tests/fixtures/ubuntu-18.04/systemctl.out      | 528 ++++++++++++++++---------
 tests/test_systemctl.py                        |   4 +-
 tests/test_systemctl_lj.py                     |  40 ++
 tests/test_systemctl_ls.py                     |  40 ++
 tests/test_systemctl_luf.py                    |  40 ++
 19 files changed, 1316 insertions(+), 308 deletions(-)
51631aef5b1b6fdeff4ab543510a9f9e15a0c2c4 add systemctl tests
 tests/fixtures/centos-7.7/systemctl.json   |   1 +
 tests/fixtures/centos-7.7/systemctl.out    | 118 +++++++++++++++++
 tests/fixtures/ubuntu-18.04/systemctl.json |   1 +
 tests/fixtures/ubuntu-18.04/systemctl.out  | 198 +++++++++++++++++++++++++++++
 tests/test_systemctl.py                    |  40 ++++++
 5 files changed, 358 insertions(+)
a0298ac8a39093620b6859c909a78d11ab4a8e56 add fstab tests
 tests/fixtures/centos-7.7/fstab.json   |  1 +
 tests/fixtures/centos-7.7/fstab.out    | 11 ++++++++++
 tests/fixtures/ubuntu-18.04/fstab.json |  1 +
 tests/fixtures/ubuntu-18.04/fstab.out  |  2 ++
 tests/test_fstab.py                    | 40 ++++++++++++++++++++++++++++++++++
 5 files changed, 55 insertions(+)
98c0188821ebaa71c5661f2e095cf464bec695f2 formatting fix
 docs/parsers/systemctl_ls.md | 2 +-
 jc/parsers/systemctl_ls.py   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
ab1dabe3e42997825707006b63cc0c03d28470d4 doc update
 docs/parsers/systemctl_lj.md | 2 +-
 docs/parsers/systemctl_ls.md | 2 +-
 jc/parsers/systemctl_lj.py   | 2 +-
 jc/parsers/systemctl_ls.py   | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)
94bdb11fdf0e16d89769046d317643334ef1acdd remove systemctl from TODO
 README.md | 1 -
 1 file changed, 1 deletion(-)
b6727d68bab66164a3834b240ae868062aad9371 add systemctl parsers
 README.md | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)
89bad7fc2b4023b10b6eeb7ff1f8f18b71731cb6 remove systemctl list-machines parser
 changelog.txt                |   2 +-
 docgen.sh                    |   1 -
 docs/parsers/systemctl_lm.md |  76 ------------------------------
 jc/cli.py                    |   3 --
 jc/parsers/systemctl_lm.py   | 110 -------------------------------------------
 5 files changed, 1 insertion(+), 191 deletions(-)
c0b8b810a2616e77973c1223f9c39329112337ac add systemctl list parsers
 docgen.sh                     |  4 ++
 docs/parsers/systemctl_lj.md  | 94 +++++++++++++++++++++++++++++++++++++++++++
 docs/parsers/systemctl_lm.md  | 76 ++++++++++++++++++++++++++++++++++
 docs/parsers/systemctl_ls.md  | 68 +++++++++++++++++++++++++++++++
 docs/parsers/systemctl_luf.md | 64 +++++++++++++++++++++++++++++
 5 files changed, 306 insertions(+)
31eb65acd18b6d9163de900dbe48807a41a23785 doc fix
 jc/parsers/systemctl_lm.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
513bbeb4649c011476930e1d1bf739ff06c2d66f add break on footer condition
 jc/parsers/systemctl_lj.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
3a52fb725a0e56b52a0ea430266400b268360737 add systemctl list-jobs parser
 jc/cli.py                  |  4 +--
 jc/parsers/systemctl_lj.py | 80 ++++++++++++++++++++++++++++++----------------
 2 files changed, 55 insertions(+), 29 deletions(-)
5affd444999de88b9bff7b49d790913540f97cd2 add systemctl_lj, lm, ls, and luf
 jc/cli.py                   |  11 ++++-
 jc/parsers/systemctl.py     |   2 +-
 jc/parsers/systemctl_lj.py  | 110 ++++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/systemctl_lm.py  | 110 ++++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/systemctl_ls.py  | 101 ++++++++++++++++++++++++++++++++++++++++
 jc/parsers/systemctl_luf.py |  32 ++++---------
 6 files changed, 342 insertions(+), 24 deletions(-)
5dbc6e806c5d05bfa1f7e2156ed2573341eb23c9 add systemctl_luf parser
 jc/cli.py                   |  61 ++++++++++++------------
 jc/parsers/systemctl_luf.py | 110 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 142 insertions(+), 29 deletions(-)
59ae31f3f342c9337037aac4630310c9b9eb8287 add systemctl parser
 README.md                 |  29 ++++++++++++
 changelog.txt             |   1 +
 docgen.sh                 |   1 +
 docs/parsers/systemctl.md |  76 ++++++++++++++++++++++++++++++++
 jc/cli.py                 |   3 ++
 jc/parsers/systemctl.py   | 109 ++++++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 219 insertions(+)
230e921c2e8d931ea8a6abdf81215dbfc968b41c remove fstab from TODO
 README.md | 1 -
 1 file changed, 1 deletion(-)
a7c3d88b08ab90b719035cb15d78afe708235742 update example and docs
 docgen.sh             |   1 +
 docs/parsers/fstab.md | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/fstab.py   |  28 +++++++++++++
 3 files changed, 136 insertions(+)
9b453bcb84dd9f2f566955eda1ab35c863b3e8a1 remove commented code block
 jc/parsers/fstab.py | 14 +-------------
 1 file changed, 1 insertion(+), 13 deletions(-)
ce43c782f601fc12267fa22279e8e0142ecc3a7f fstab update
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
cb16faaf4d1700379d53053fe06824fd03404f87 helptext update
 jc/cli.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
3f1d3ff6d85422536e0adfb6433fd3ec0399ebe1 add examples
 README.md           | 31 +++++++++++++++++++++++++++++++
 jc/parsers/fstab.py | 48 ++++++++++++++++++++++++++++++++++++++++++------
 2 files changed, 73 insertions(+), 6 deletions(-)
6f67eecd5ed46f8a692ff5dd607a2395a5c838ff add fstab parser
 jc/cli.py           |   3 ++
 jc/parsers/fstab.py | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 108 insertions(+)
e75c819190634f0a9048942b39eda691831829ee changelog update
 changelog.txt | 2 ++
 1 file changed, 2 insertions(+)
601e68d104dd43940acadaa574dfd9b5117b0476 doc update
 docs/parsers/hosts.md | 2 +-
 jc/parsers/hosts.py   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
8285ecfd1e7810102cdbc399398a16f999c841ee enhance test file with comments
 tests/fixtures/centos-7.7/hosts.out   | 3 ++-
 tests/fixtures/ubuntu-18.04/hosts.out | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)
8726de902e527b95a12afd79a53d533cc176703d add hosts parser
 changelog.txt | 1 +
 1 file changed, 1 insertion(+)
4133585274b0e7faa0255a911468248eb390d673 add hosts tests
 tests/fixtures/centos-7.7/hosts.json   |  1 +
 tests/fixtures/centos-7.7/hosts.out    |  2 ++
 tests/fixtures/ubuntu-18.04/hosts.json |  1 +
 tests/fixtures/ubuntu-18.04/hosts.out  |  9 ++++++++
 tests/test_hosts.py                    | 40 ++++++++++++++++++++++++++++++++++
 5 files changed, 53 insertions(+)
ad913b141721655a72a7b2a6ad60037e5acd5f9a add hosts docs
 README.md             | 51 ++++++++++++++++++++++++++-
 docgen.sh             |  1 +
 docs/parsers/hosts.md | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/hosts.py   |  2 +-
 4 files changed, 148 insertions(+), 2 deletions(-)
7113e5a844fc0304f62f4afe65b5cbc816f75372 filter out comments at the end of the line
 jc/parsers/hosts.py | 10 ++++++++++
 1 file changed, 10 insertions(+)
a3a8369dc0e7227072f595cef1e57d471eff4d2f add docs
 jc/parsers/hosts.py | 60 +++++++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 51 insertions(+), 9 deletions(-)
64016b8ef049d5d4f02b4371f5cc9632c19bcaa2 add hosts parser
 jc/cli.py           |  3 ++
 jc/parsers/hosts.py | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 92 insertions(+)
1cb49d60c84054b0446f299f6b4bab7d102101c1 remove sar and sadf
 README.md | 2 --
 1 file changed, 2 deletions(-)
c858adfd12144569d0b990a217c5bcd75bd23828 remove stat from todo
 README.md | 1 -
 1 file changed, 1 deletion(-)
08d68327c777dd740d93a1b5fff8cf62f58904c6 add stat tests
 tests/fixtures/centos-7.7/stat.json   |    1 +
 tests/fixtures/centos-7.7/stat.out    | 6678 +++++++++++++++++++++++++++++++++
 tests/fixtures/ubuntu-18.04/stat.json |    1 +
 tests/fixtures/ubuntu-18.04/stat.out  | 1360 +++++++
 tests/test_stat.py                    |   40 +
 5 files changed, 8080 insertions(+)
0d7c6c5664911af7a41149d51dd6ae05b39d7648 doc fix and add continue lines
 docs/parsers/stat.md | 4 ++--
 jc/parsers/stat.py   | 8 ++++++--
 2 files changed, 8 insertions(+), 4 deletions(-)
8bfa41dbf485cb06c928bc00a68727d2ceac21fa change values to null if -
 README.md            |  4 ++--
 docs/parsers/stat.md | 12 ++++++------
 jc/parsers/stat.py   | 20 ++++++++++++++------
 3 files changed, 22 insertions(+), 14 deletions(-)
7e2fa48ed4f3fd452082ce06e7306efd38b2d508 update changelog
 changelog.txt | 1 +
 1 file changed, 1 insertion(+)
340635cad5224f2c715bf961956f4b9b6119d80b fix stats doc
 docgen.sh            |   2 +-
 docs/parsers/ss.md   | 363 +++++++++++++++++++++++++++++++++++----------------
 docs/parsers/stat.md | 154 ++++++++++++++++++++++
 3 files changed, 408 insertions(+), 111 deletions(-)
8f77d1de098f035767d73a6965a695b95b75e161 add stat docs
 docgen.sh          |   1 +
 docs/parsers/ss.md | 363 ++++++++++++++++-------------------------------------
 2 files changed, 111 insertions(+), 253 deletions(-)
7dcf1b25ffb801375f0bf4263f34713ded904de9 add link_to field
 jc/parsers/stat.py | 13 +++++++++++++
 1 file changed, 13 insertions(+)
9b735381063a1167a6a74864a43b81aefd98009f set compatibility to linux only
 jc/parsers/stat.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
3bf8c8c6dbdf7e03e26b4581e35c3274084c07ef pep8 fixes
 jc/parsers/mount.py   | 6 +++---
 jc/parsers/netstat.py | 8 ++++----
 jc/parsers/ps.py      | 8 ++++----
 jc/parsers/route.py   | 8 ++++----
 jc/parsers/uname.py   | 8 ++++----
 jc/parsers/uptime.py  | 8 ++++----
 jc/parsers/w.py       | 8 ++++----
 7 files changed, 27 insertions(+), 27 deletions(-)
04a1ff2ca7873d55cdbc831e521f3d4892074d98 pep8 fixes
 jc/parsers/history.py  |  8 ++++----
 jc/parsers/ifconfig.py |  2 +-
 jc/parsers/iptables.py |  6 +++---
 jc/parsers/jobs.py     |  6 +++---
 jc/parsers/ls.py       |  8 ++++----
 jc/parsers/lsblk.py    | 10 +++++-----
 jc/parsers/lsmod.py    |  8 ++++----
 jc/parsers/lsof.py     |  8 ++++----
 8 files changed, 28 insertions(+), 28 deletions(-)
64647d230ac936cb43864481ae0f45d13707d7b4 pep8 cleanup
 jc/parsers/arp.py  | 4 ++--
 jc/parsers/df.py   | 8 ++++----
 jc/parsers/dig.py  | 8 ++++----
 jc/parsers/env.py  | 8 ++++----
 jc/parsers/foo.py  | 8 ++++----
 jc/parsers/free.py | 6 +++---
 6 files changed, 21 insertions(+), 21 deletions(-)
c2a67e1b70f33044aecabd8b46018117cb38cb9c add stat parser
 README.md          |  48 ++++++++++++++
 jc/parsers/stat.py | 181 ++++++++++++++++++++++++++++++++++++++++++++++++-----
 2 files changed, 213 insertions(+), 16 deletions(-)
edb9a7c76e1fedaf37b6a226ad4e1cfc08a9a5ec add stat parser
 jc/cli.py          |  3 ++
 jc/parsers/stat.py | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 94 insertions(+)
a407f5b67833cc5f8dda9fe8265cd34e62f28d14 minor update
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
e5b4987acb70e854d9996350235c5535b4a46b69 doc update
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
ba8cc18eebe779742cff0ba4c8bebe376e787c8c add ss tests
 tests/fixtures/centos-7.7/ss-sudo-a.json   |   1 +
 tests/fixtures/centos-7.7/ss-sudo-a.out    | 204 +++++++++++++++++++++++++++++
 tests/fixtures/ubuntu-18.04/ss-sudo-a.json |   1 +
 tests/fixtures/ubuntu-18.04/ss-sudo-a.out  | 159 ++++++++++++++++++++++
 tests/test_ss.py                           |  40 ++++++
 5 files changed, 405 insertions(+)
d2c7316e00b9aaf19231c05351821041458baf98 update command options info
 README.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
609aa14d243206e81ed31f8438c3f42e8263e140 spelling fix
 docs/parsers/ss.md | 2 +-
 jc/parsers/ss.py   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
ef1ad4c700fcb740b5fbe1e12205b9a30ae427ab doc update
 docs/parsers/ss.md | 3 +++
 jc/parsers/ss.py   | 3 +++
 2 files changed, 6 insertions(+)
a0e2732152dc3005914b9a3e4f03e937a113c67f add ss example
 README.md | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 64 insertions(+), 12 deletions(-)
9b5d3e3be1ac07813e716f8426fe89cced478221 update doc
 docs/parsers/ss.md | 160 ++++++++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 135 insertions(+), 25 deletions(-)
2663ef31fbc1b69b89b8032640a25065cc953866 fix field names per ss documentation
 jc/parsers/ss.py | 189 ++++++++++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 159 insertions(+), 30 deletions(-)
a4cdd3378e6a031f16dd371ed5cd60ff018feb32 add compatibility info
 README.md | 6 ++++++
 1 file changed, 6 insertions(+)
2f805da24d0e833e3d2a1f3a5ec34031fa911c05 add colon to parameter in docs
 docs/parsers/arp.md      | 2 +-
 docs/parsers/df.md       | 2 +-
 docs/parsers/dig.md      | 2 +-
 docs/parsers/env.md      | 2 +-
 docs/parsers/free.md     | 2 +-
 docs/parsers/history.md  | 2 +-
 docs/parsers/ifconfig.md | 2 +-
 docs/parsers/iptables.md | 2 +-
 docs/parsers/jobs.md     | 2 +-
 docs/parsers/ls.md       | 2 +-
 docs/parsers/lsblk.md    | 2 +-
 docs/parsers/lsmod.md    | 2 +-
 docs/parsers/lsof.md     | 2 +-
 docs/parsers/mount.md    | 2 +-
 docs/parsers/netstat.md  | 2 +-
 docs/parsers/ps.md       | 2 +-
 docs/parsers/route.md    | 2 +-
 docs/parsers/ss.md       | 2 +-
 docs/parsers/uname.md    | 2 +-
 docs/parsers/uptime.md   | 2 +-
 docs/parsers/w.md        | 2 +-
 docs/utils.md            | 8 ++++----
 jc/parsers/arp.py        | 2 +-
 jc/parsers/df.py         | 2 +-
 jc/parsers/dig.py        | 2 +-
 jc/parsers/env.py        | 2 +-
 jc/parsers/foo.py        | 2 +-
 jc/parsers/free.py       | 2 +-
 jc/parsers/history.py    | 2 +-
 jc/parsers/ifconfig.py   | 2 +-
 jc/parsers/iptables.py   | 2 +-
 jc/parsers/jobs.py       | 2 +-
 jc/parsers/ls.py         | 2 +-
 jc/parsers/lsblk.py      | 2 +-
 jc/parsers/lsmod.py      | 2 +-
 jc/parsers/lsof.py       | 2 +-
 jc/parsers/mount.py      | 2 +-
 jc/parsers/netstat.py    | 2 +-
 jc/parsers/ps.py         | 2 +-
 jc/parsers/route.py      | 2 +-
 jc/parsers/ss.py         | 2 +-
 jc/parsers/uname.py      | 2 +-
 jc/parsers/uptime.py     | 2 +-
 jc/parsers/w.py          | 2 +-
 jc/utils.py              | 8 ++++----
 45 files changed, 51 insertions(+), 51 deletions(-)
79152a946d93e4facf9711bfa0f421e1978e0f1f initialize network_list and socket_list variables
 jc/parsers/netstat.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
de37bb37d01b397df2b5992b4acd64817380401d add ss docs
 docgen.sh          |   1 +
 docs/parsers/ss.md | 184 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/ss.py   |   3 +-
 3 files changed, 187 insertions(+), 1 deletion(-)
f783e44e5c0cd05733da5d24573f06d05760f993 doc fix
 README.md     | 1 -
 changelog.txt | 1 +
 2 files changed, 1 insertion(+), 1 deletion(-)
af82f2c991ac0668485e75ae78a26b9553ec8b13 update raw format note
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
46774daf9d3e0612df8f79d4b6b724e612ceb725 doc update
 README.md        |  68 +++++++++++++++++++++++++++++
 jc/parsers/ss.py | 130 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 194 insertions(+), 4 deletions(-)
648306b7856fe2e296ce463ff4c9c2a8632c92d4 process ss data
 jc/parsers/ss.py | 66 +++++++++++++++++++++++++++++++++++++-------------------
 1 file changed, 44 insertions(+), 22 deletions(-)
b7a4f205b80c0a6a41aaabf59703525ac526c295 parser fixes
 jc/parsers/ss.py | 31 +++++++++++++++++--------------
 1 file changed, 17 insertions(+), 14 deletions(-)
fdb168b43a69358a97bf43b71a0adbc7b1ef56f5 add ss parser
 jc/cli.py        |   3 ++
 jc/parsers/ss.py | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 120 insertions(+)
b6f65c93c462856f26201df0cbfe804b29a65169 ps doc update
 README.md          | 26 +++++++++++++-------------
 docs/parsers/ps.md | 43 +++++++++++++++----------------------------
 jc/parsers/ps.py   | 43 +++++++++++++++----------------------------
 3 files changed, 43 insertions(+), 69 deletions(-)
3f4838f17a81969718d9e5b6bafa21e0b92e1d95 remove cli.md
 docgen.sh   | 1 -
 docs/cli.md | 5 -----
 2 files changed, 6 deletions(-)
eef0dee2aa206716d9cf011bec58a06c46bbee15 doc update
 docs/utils.md | 4 ++++
 jc/utils.py   | 4 ++++
 2 files changed, 8 insertions(+)
e17388d3b2d1521d963bf9dd9e7a4ba5ba9bb09d doc update
 docs/utils.md | 22 +++++++++++++++++++++-
 jc/utils.py   | 26 +++++++++++++++++++++++---
 2 files changed, 44 insertions(+), 4 deletions(-)
7e6a1bc719b7160ba70cd326ff6aa182993a7380 doc update
 docs/readme.md | 51 ++++++++++++++++++++-------------------------------
 jc/__init__.py | 53 +++++++++++++++++++++--------------------------------
 2 files changed, 41 insertions(+), 63 deletions(-)
37738a2ea2f15af847e4b8383aba911e2020a3e8 update contributions
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
c5834a57db8957723a1425b9db46c433e28a3af1 add todo section
 README.md | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
91b9373f380e06f91888811edbfb21747ff08810 new examples
 README.md | 1090 +++++++++++++++++++++++--------------------------------------
 1 file changed, 417 insertions(+), 673 deletions(-)
ce0bb5b816eed0c75542ead474c3dcb8401be2d7 formatting fix
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
f330ff0eff00586f46d18497f2441e94b6430e91 wrap example text
 README.md | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)
4b02700414660b90518311485761870402368625 update simple examples
 README.md | 29 +++++++++--------------------
 1 file changed, 9 insertions(+), 20 deletions(-)
ee30180376b7acec46314bbc483866bff41c362a fix note
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
338e0ff15c7fac84475c1ed107e6a23e7a009b1f add schema note
 README.md | 2 ++
 1 file changed, 2 insertions(+)
3ac75305dfa33429646bb5d415567034cccfeee3 update process() doc
 docs/parsers/df.md       | 10 +++++++++-
 docs/parsers/dig.md      | 10 +++++++++-
 docs/parsers/env.md      | 10 +++++++++-
 docs/parsers/free.md     | 10 +++++++++-
 docs/parsers/history.md  | 10 +++++++++-
 docs/parsers/ifconfig.md | 10 +++++++++-
 docs/parsers/iptables.md | 10 +++++++++-
 docs/parsers/jobs.md     | 10 +++++++++-
 docs/parsers/ls.md       | 10 +++++++++-
 docs/parsers/lsblk.md    | 10 +++++++++-
 docs/parsers/lsmod.md    | 10 +++++++++-
 docs/parsers/lsof.md     | 10 +++++++++-
 docs/parsers/mount.md    | 10 +++++++++-
 docs/parsers/netstat.md  | 10 +++++++++-
 docs/parsers/ps.md       | 10 +++++++++-
 docs/parsers/route.md    | 10 +++++++++-
 docs/parsers/uname.md    | 10 +++++++++-
 docs/parsers/uptime.md   | 10 +++++++++-
 docs/parsers/w.md        | 10 +++++++++-
 jc/parsers/df.py         | 10 +++++++++-
 jc/parsers/dig.py        | 10 +++++++++-
 jc/parsers/env.py        | 10 +++++++++-
 jc/parsers/foo.py        | 10 +++++++++-
 jc/parsers/free.py       | 10 +++++++++-
 jc/parsers/history.py    | 10 +++++++++-
 jc/parsers/ifconfig.py   | 10 +++++++++-
 jc/parsers/iptables.py   | 10 +++++++++-
 jc/parsers/jobs.py       | 10 +++++++++-
 jc/parsers/ls.py         | 10 +++++++++-
 jc/parsers/lsblk.py      | 10 +++++++++-
 jc/parsers/lsmod.py      | 10 +++++++++-
 jc/parsers/lsof.py       | 10 +++++++++-
 jc/parsers/mount.py      | 10 +++++++++-
 jc/parsers/netstat.py    | 10 +++++++++-
 jc/parsers/ps.py         | 10 +++++++++-
 jc/parsers/route.py      | 10 +++++++++-
 jc/parsers/uname.py      | 10 +++++++++-
 jc/parsers/uptime.py     | 10 +++++++++-
 jc/parsers/w.py          | 10 +++++++++-
 39 files changed, 351 insertions(+), 39 deletions(-)
3bdcf44afb708cf6a716a0847b119f895602c23e doc update
 docs/parsers/arp.md | 10 +++++++++-
 jc/parsers/arp.py   | 10 +++++++++-
 2 files changed, 18 insertions(+), 2 deletions(-)
e3f4ffede56fe48c0a282a021ac5cdfd7a8abee9 doc update
 docs/parsers/arp.md      |  2 +-
 docs/parsers/df.md       | 13 +++++++++----
 docs/parsers/dig.md      | 13 +++++++++----
 docs/parsers/env.md      | 13 +++++++++----
 docs/parsers/free.md     | 13 +++++++++----
 docs/parsers/history.md  | 13 +++++++++----
 docs/parsers/ifconfig.md | 13 +++++++++----
 docs/parsers/iptables.md | 13 +++++++++----
 docs/parsers/jobs.md     | 13 +++++++++----
 docs/parsers/ls.md       | 13 +++++++++----
 docs/parsers/lsblk.md    | 13 +++++++++----
 docs/parsers/lsmod.md    | 13 +++++++++----
 docs/parsers/lsof.md     | 13 +++++++++----
 docs/parsers/mount.md    | 13 +++++++++----
 docs/parsers/netstat.md  | 13 +++++++++----
 docs/parsers/ps.md       | 13 +++++++++----
 docs/parsers/route.md    | 13 +++++++++----
 docs/parsers/uname.md    | 13 +++++++++----
 docs/parsers/uptime.md   | 13 +++++++++----
 docs/parsers/w.md        | 13 +++++++++----
 20 files changed, 172 insertions(+), 77 deletions(-)
f0c8725d4355113f7690f20bb99078e488084ad7 doc update
 jc/parsers/arp.py      |  2 +-
 jc/parsers/df.py       | 13 +++++++++----
 jc/parsers/dig.py      | 13 +++++++++----
 jc/parsers/env.py      | 13 +++++++++----
 jc/parsers/foo.py      | 13 +++++++++----
 jc/parsers/free.py     | 13 +++++++++----
 jc/parsers/history.py  | 13 +++++++++----
 jc/parsers/ifconfig.py | 13 +++++++++----
 jc/parsers/iptables.py | 13 +++++++++----
 jc/parsers/jobs.py     | 13 +++++++++----
 jc/parsers/ls.py       | 13 +++++++++----
 jc/parsers/lsblk.py    | 13 +++++++++----
 jc/parsers/lsmod.py    | 13 +++++++++----
 jc/parsers/lsof.py     | 13 +++++++++----
 jc/parsers/mount.py    | 13 +++++++++----
 jc/parsers/netstat.py  | 13 +++++++++----
 jc/parsers/ps.py       | 13 +++++++++----
 jc/parsers/route.py    | 13 +++++++++----
 jc/parsers/uname.py    | 13 +++++++++----
 jc/parsers/uptime.py   | 13 +++++++++----
 jc/parsers/w.py        | 13 +++++++++----
 21 files changed, 181 insertions(+), 81 deletions(-)
5473bc4eb697d00bd26a038287e1137e438cacb5 doc update
 docs/parsers/arp.md | 11 ++++++++---
 jc/parsers/arp.py   | 11 ++++++++---
 2 files changed, 16 insertions(+), 6 deletions(-)
b9bd9422bfa46144416fa65add2e041d4124357b doc update
 docs/parsers/dig.md | 213 ++++++++++++++++++++++++++++++++++++++++++++++------
 jc/parsers/dig.py   | 213 ++++++++++++++++++++++++++++++++++++++++++++++------
 2 files changed, 380 insertions(+), 46 deletions(-)
cb5729a070925a7fa29f762bd4b074532f5cba55 add options to docs
 README.md | 106 ++++++++++++++++++++++++++++++++++++--------------------------
 1 file changed, 62 insertions(+), 44 deletions(-)
f0b1ab42337746afd37365abdf44729d530d5410 doc update
 docs/utils.md | 1 +
 jc/utils.py   | 1 +
 2 files changed, 2 insertions(+)
b15386e849b9fea347e7b17307eedf779d8022fc doc update
 docs/utils.md | 7 +++++--
 jc/utils.py   | 9 ++++++---
 2 files changed, 11 insertions(+), 5 deletions(-)
d2a2c8da35ee44e9a7572885609548eb809bcdda doc updates
 docs/parsers/iptables.md | 2 +-
 docs/parsers/mount.md    | 2 --
 docs/parsers/uname.md    | 2 --
 3 files changed, 1 insertion(+), 5 deletions(-)
7251548cbb09beae6971385a56036e9649bd9b2c documentation updates
 jc/parsers/iptables.py | 2 +-
 jc/parsers/mount.py    | 3 +--
 jc/parsers/uname.py    | 3 +--
 3 files changed, 3 insertions(+), 5 deletions(-)
146e29f7cbc0f396be67dbd7ae971a4ef4dafb7b update docs
 docgen.sh                |  27 ++
 docs/cli.md              |   5 +
 docs/parsers/arp.md      | 110 ++++++++
 docs/parsers/df.md       |  97 +++++++
 docs/parsers/dig.md      | 212 +++++++++++++++
 docs/parsers/env.md      |  72 ++++++
 docs/parsers/free.md     |  77 ++++++
 docs/parsers/history.md  |  64 +++++
 docs/parsers/ifconfig.md | 170 ++++++++++++
 docs/parsers/iptables.md | 168 ++++++++++++
 docs/parsers/jobs.md     |  98 +++++++
 docs/parsers/ls.md       | 168 ++++++++++++
 docs/parsers/lsblk.md    | 273 +++++++++++++++++++
 docs/parsers/lsmod.md    | 130 ++++++++++
 docs/parsers/lsof.md     | 124 +++++++++
 docs/parsers/mount.md    |  82 ++++++
 docs/parsers/netstat.md  | 352 +++++++++++++++++++++++++
 docs/parsers/ps.md       | 223 ++++++++++++++++
 docs/parsers/route.md    | 129 +++++++++
 docs/parsers/uname.md    |  55 ++++
 docs/parsers/uptime.md   |  56 ++++
 docs/parsers/w.md        | 108 ++++++++
 docs/readme.md           |  79 ++++++
 docs/utils.md            |  22 ++
 jc/__init__.py           | 135 +++++-----
 jc/parsers/arp.py        | 176 +++++++------
 jc/parsers/df.py         | 129 ++++-----
 jc/parsers/dig.py        | 362 +++++++++++++-------------
 jc/parsers/env.py        | 101 ++++----
 jc/parsers/foo.py        |  37 ++-
 jc/parsers/free.py       | 111 ++++----
 jc/parsers/history.py    |  85 +++---
 jc/parsers/ifconfig.py   | 294 +++++++++++----------
 jc/parsers/iptables.py   | 271 +++++++++----------
 jc/parsers/jobs.py       | 150 ++++++-----
 jc/parsers/ls.py         | 280 ++++++++++----------
 jc/parsers/lsblk.py      | 499 ++++++++++++++++++-----------------
 jc/parsers/lsmod.py      | 211 ++++++++-------
 jc/parsers/lsof.py       | 205 ++++++++-------
 jc/parsers/mount.py      | 115 +++++----
 jc/parsers/netstat.py    | 661 ++++++++++++++++++++++++-----------------------
 jc/parsers/ps.py         | 389 ++++++++++++++--------------
 jc/parsers/route.py      | 213 +++++++--------
 jc/parsers/uname.py      |  57 ++--
 jc/parsers/uptime.py     |  69 ++---
 jc/parsers/w.py          | 173 +++++++------
 jc/utils.py              |  11 +-
 47 files changed, 5386 insertions(+), 2249 deletions(-)
363fd3eab409351121dab8a11c6b565829ccd84a move parser_name to except block
 jc/cli.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
4083dd4260ff3a8bb6649e1661cf3e058fdbad59 add -d option
 changelog.txt |  1 +
 jc/cli.py     | 28 +++++++++++++++++++++++-----
 2 files changed, 24 insertions(+), 5 deletions(-)
b2b74547baaf33058d74fc08cb665777b19bd05a add netstat-sudo-aeep tests
 tests/fixtures/centos-7.7/netstat-sudo-aeep.json   |   1 +
 tests/fixtures/centos-7.7/netstat-sudo-aeep.out    | 164 +++++++++++++++++++++
 tests/fixtures/create_fixtures.sh                  |   1 +
 tests/fixtures/ubuntu-18.04/netstat-sudo-aeep.json |   1 +
 tests/fixtures/ubuntu-18.04/netstat-sudo-aeep.out  | 126 ++++++++++++++++
 tests/test_netstat.py                              |  24 +++
 6 files changed, 317 insertions(+)
dddb0baabf8a78261ac80380b97e7c92c7ce4d89 use \u2063 instead of \u2026
 jc/parsers/netstat.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
84b4f67ef9d4bb0db201a095d74400a56394589d new json output
 tests/fixtures/centos-7.7/ps-axu.json   | 2 +-
 tests/fixtures/ubuntu-18.04/ps-axu.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
3a089138b8c269ba3c5f7aec87ae3f8ec368c3ab add int and float changes
 jc/parsers/ps.py | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 129 insertions(+), 9 deletions(-)
3ff0305c8e62ce3b5a8f3f9174c5a9da3bc22766 add lsblk tests
 tests/fixtures/centos-7.7/lsblk-allcols.json   |  1 +
 tests/fixtures/centos-7.7/lsblk-allcols.out    |  7 +++++++
 tests/fixtures/centos-7.7/lsblk.json           |  2 +-
 tests/fixtures/create_fixtures.sh              |  1 +
 tests/fixtures/ubuntu-18.04/lsblk-allcols.json |  1 +
 tests/fixtures/ubuntu-18.04/lsblk-allcols.out  | 18 ++++++++++++++++++
 tests/fixtures/ubuntu-18.04/lsblk.json         |  2 +-
 tests/test_lsblk.py                            | 24 ++++++++++++++++++++++++
 8 files changed, 54 insertions(+), 2 deletions(-)
761edc3c6cfc215fe45c65ee2bb5462cb460b6a6 remove unused parse_pairs function
 jc/parsers/lsblk.py | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)
3351c81f647ac97a5038cc0c14adb31e55832a77 add documentation
 jc/parsers/lsblk.py | 202 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 200 insertions(+), 2 deletions(-)
3dfc6f67d770c59804bdeb371d5c78e3f3668f9e change empty values to Null
 jc/parsers/lsblk.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
1546ec3bd139ef687282f60786388b5207541c98 fixes for right justified columns
 jc/parsers/lsblk.py | 30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)
2a953011f72e922c89b9af6dfebd1983da7c338d rewrite of lsblk parser to use a custom delimiter
 changelog.txt       |   2 +-
 jc/parsers/lsblk.py | 203 +++++++++++++---------------------------------------
 2 files changed, 50 insertions(+), 155 deletions(-)
d2f755de9d2be7b0af5f010042e1f4ca589c5464 updates tests
 tests/test_ifconfig.py |  59 +++---------
 tests/test_iptables.py | 249 +++++++++----------------------------------------
 tests/test_jobs.py     |  19 ++--
 tests/test_ls.py       |  58 ++++++------
 tests/test_lsblk.py    |  25 +++--
 tests/test_lsmod.py    |  22 ++---
 tests/test_lsof.py     |  59 ++++--------
 tests/test_mount.py    |  30 +++---
 tests/test_netstat.py  | 110 +++++++---------------
 tests/test_ps.py       |  57 ++++-------
 tests/test_route.py    |  51 ++++------
 tests/test_uname.py    |  27 +++---
 tests/test_uptime.py   |  23 +++--
 tests/test_w.py        |  27 +++---
 14 files changed, 250 insertions(+), 566 deletions(-)
f363334639c5fa3a43889794ea52409056a2d886 update tests
 tests/test_df.py      |  43 +++++------
 tests/test_dig.py     | 196 +++++++-------------------------------------------
 tests/test_env.py     |  13 +++-
 tests/test_free.py    |  41 +++++------
 tests/test_history.py |  13 +++-
 5 files changed, 87 insertions(+), 219 deletions(-)
750197e48596ad96804477053d3ff3c8063ea68a new tests
 tests/test_arp.py | 97 ++++++++++++++++---------------------------------------
 1 file changed, 27 insertions(+), 70 deletions(-)
36b349e4ed39fe611c7d87a47c378cc4d4627ad2 json output files
 tests/fixtures/centos-7.7/arp-a.json                | 1 +
 tests/fixtures/centos-7.7/arp-v.json                | 1 +
 tests/fixtures/centos-7.7/arp.json                  | 1 +
 tests/fixtures/centos-7.7/df-h.json                 | 1 +
 tests/fixtures/centos-7.7/df.json                   | 1 +
 tests/fixtures/centos-7.7/dig-aaaa.json             | 1 +
 tests/fixtures/centos-7.7/dig-x.json                | 1 +
 tests/fixtures/centos-7.7/dig.json                  | 1 +
 tests/fixtures/centos-7.7/env.json                  | 1 +
 tests/fixtures/centos-7.7/free-h.json               | 1 +
 tests/fixtures/centos-7.7/free.json                 | 1 +
 tests/fixtures/centos-7.7/history.json              | 1 +
 tests/fixtures/centos-7.7/ifconfig.json             | 1 +
 tests/fixtures/centos-7.7/iptables-filter-nv.json   | 1 +
 tests/fixtures/centos-7.7/iptables-filter.json      | 1 +
 tests/fixtures/centos-7.7/iptables-mangle.json      | 1 +
 tests/fixtures/centos-7.7/iptables-nat.json         | 1 +
 tests/fixtures/centos-7.7/iptables-raw.json         | 1 +
 tests/fixtures/centos-7.7/jobs.json                 | 1 +
 tests/fixtures/centos-7.7/ls-al.json                | 1 +
 tests/fixtures/centos-7.7/ls-alh.json               | 1 +
 tests/fixtures/centos-7.7/ls.json                   | 1 +
 tests/fixtures/centos-7.7/lsblk.json                | 1 +
 tests/fixtures/centos-7.7/lsmod.json                | 1 +
 tests/fixtures/centos-7.7/lsof-sudo.json            | 1 +
 tests/fixtures/centos-7.7/lsof.json                 | 1 +
 tests/fixtures/centos-7.7/mount.json                | 1 +
 tests/fixtures/centos-7.7/netstat-l.json            | 1 +
 tests/fixtures/centos-7.7/netstat-p.json            | 1 +
 tests/fixtures/centos-7.7/netstat-sudo-lnp.json     | 1 +
 tests/fixtures/centos-7.7/netstat.json              | 1 +
 tests/fixtures/centos-7.7/ps-axu.json               | 1 +
 tests/fixtures/centos-7.7/ps-ef.json                | 1 +
 tests/fixtures/centos-7.7/route-vn.json             | 1 +
 tests/fixtures/centos-7.7/route.json                | 1 +
 tests/fixtures/centos-7.7/uname-a.json              | 1 +
 tests/fixtures/centos-7.7/uptime.json               | 1 +
 tests/fixtures/centos-7.7/w.json                    | 1 +
 tests/fixtures/ubuntu-18.04/arp-a.json              | 1 +
 tests/fixtures/ubuntu-18.04/arp-v.json              | 1 +
 tests/fixtures/ubuntu-18.04/arp.json                | 1 +
 tests/fixtures/ubuntu-18.04/df-h.json               | 1 +
 tests/fixtures/ubuntu-18.04/df.json                 | 1 +
 tests/fixtures/ubuntu-18.04/dig-aaaa.json           | 1 +
 tests/fixtures/ubuntu-18.04/dig-x.json              | 1 +
 tests/fixtures/ubuntu-18.04/dig.json                | 1 +
 tests/fixtures/ubuntu-18.04/env.json                | 1 +
 tests/fixtures/ubuntu-18.04/free-h.json             | 1 +
 tests/fixtures/ubuntu-18.04/free.json               | 1 +
 tests/fixtures/ubuntu-18.04/history.json            | 1 +
 tests/fixtures/ubuntu-18.04/ifconfig.json           | 1 +
 tests/fixtures/ubuntu-18.04/iptables-filter-nv.json | 1 +
 tests/fixtures/ubuntu-18.04/iptables-filter.json    | 1 +
 tests/fixtures/ubuntu-18.04/iptables-mangle.json    | 1 +
 tests/fixtures/ubuntu-18.04/iptables-nat.json       | 1 +
 tests/fixtures/ubuntu-18.04/iptables-raw.json       | 1 +
 tests/fixtures/ubuntu-18.04/jobs.json               | 1 +
 tests/fixtures/ubuntu-18.04/ls-al.json              | 1 +
 tests/fixtures/ubuntu-18.04/ls-alh.json             | 1 +
 tests/fixtures/ubuntu-18.04/ls.json                 | 1 +
 tests/fixtures/ubuntu-18.04/lsblk.json              | 1 +
 tests/fixtures/ubuntu-18.04/lsmod.json              | 1 +
 tests/fixtures/ubuntu-18.04/lsof-sudo.json          | 1 +
 tests/fixtures/ubuntu-18.04/lsof.json               | 1 +
 tests/fixtures/ubuntu-18.04/mount.json              | 1 +
 tests/fixtures/ubuntu-18.04/netstat-l.json          | 1 +
 tests/fixtures/ubuntu-18.04/netstat-p.json          | 1 +
 tests/fixtures/ubuntu-18.04/netstat-sudo-lnp.json   | 1 +
 tests/fixtures/ubuntu-18.04/netstat.json            | 1 +
 tests/fixtures/ubuntu-18.04/ps-axu.json             | 1 +
 tests/fixtures/ubuntu-18.04/ps-ef.json              | 1 +
 tests/fixtures/ubuntu-18.04/route-vn.json           | 1 +
 tests/fixtures/ubuntu-18.04/route.json              | 1 +
 tests/fixtures/ubuntu-18.04/uname-a.json            | 1 +
 tests/fixtures/ubuntu-18.04/uptime.json             | 1 +
 tests/fixtures/ubuntu-18.04/w.json                  | 1 +
 76 files changed, 76 insertions(+)
b5f1e94fe2859c4fbcf126f8f8fb20d71a9b6433 fix for space before '-' in program_name
 jc/parsers/netstat.py | 1 +
 1 file changed, 1 insertion(+)
6a504fb0e10b1ef551ed9fe780926fe5ca02d267 add exception type
 jc/parsers/ifconfig.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
e02bad2240bacbc31097d931a902a34217d559db update documentation
 jc/parsers/netstat.py | 298 +++++++++++++++++++++-----------------------------
 1 file changed, 123 insertions(+), 175 deletions(-)
1d4043a3b64c38a20a0db065c3bdc3c6a2d068bd add template parser
 jc/parsers/foo.py | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)
039e034829789ca314a00abd4f1d9ad06f1a6eef fix parsing issues in program_name when spaces are in the name
 jc/parsers/netstat.py | 25 +++++++++++++++++++------
 1 file changed, 19 insertions(+), 6 deletions(-)
d828de4f4f2f4c3d582fddee79830d12511c3299 update documentation
 jc/parsers/w.py | 62 ++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 53 insertions(+), 9 deletions(-)
098000bb10a3f5ed33d285c6ba4f0dfb9a013fdc fix blank 'from' column issue
 changelog.txt   |  1 +
 jc/parsers/w.py | 32 +++++++++++++++++++++++---------
 2 files changed, 24 insertions(+), 9 deletions(-)
b41165eff5cd7371e852cd33e084a919524ead9b process w data
 jc/parsers/w.py | 32 +++++++++++++++++++++++++++++++-
 1 file changed, 31 insertions(+), 1 deletion(-)
6ad7891b2b34fae1a366568e4eba86e886a6dd84 process uptime data
 jc/parsers/uptime.py | 73 ++++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 59 insertions(+), 14 deletions(-)
72138315598cd405bc0508b554108bf3f730dcb0 add process boilerplate
 jc/parsers/uname.py | 41 +++++++++++++++++++++++++++++++----------
 1 file changed, 31 insertions(+), 10 deletions(-)
10eedd82e4c4678fbf989fe599d7ca75deced5a8 changelog update
 changelog.txt | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
a55493da0f1457a46f29511e0835adfa9d748f7b process route data
 jc/parsers/route.py | 99 +++++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 93 insertions(+), 6 deletions(-)
89973f4162317693b0d094a64115ee87d8479d51 doc updates and tty fix
 jc/parsers/ps.py | 72 +++++++++++++++++++++++++++++++++++---------------------
 1 file changed, 45 insertions(+), 27 deletions(-)
4802222ad50d55372f2b883d83a61181086b0619 process ps data
 jc/parsers/ps.py | 11 +++++++++++
 1 file changed, 11 insertions(+)
bcd28f06f87a4260d1787399d723817afd6aee90 prep ps for process
 jc/parsers/ps.py | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)
e17a47a7fa7f4c1bb4c4b55fb004963fc1b61434 fix typo
 jc/parsers/netstat.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
cad2e16c7aa54a70f476bf4268ff8e5985cff468 document examples
 jc/parsers/netstat.py | 354 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 353 insertions(+), 1 deletion(-)
5da5d278dac77bd4aa21819194e7f9e178bd1887 process netstat data
 jc/parsers/netstat.py | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)
81b6776e57c113cbfb8346d1cfd83532a440c257 remove old netstat parser
 jc/parsers/netstat.py.old | 177 ----------------------------------------------
 1 file changed, 177 deletions(-)
5ecb6bd58b4ed91f63e4a0b5939378bd9925b7b7 doc updates
 changelog.txt         | 4 ++--
 jc/parsers/netstat.py | 3 ++-
 2 files changed, 4 insertions(+), 3 deletions(-)
21b56096c57cfcf5c55fdf5f9bab88b6d5c7dd73 finalize parse_post
 jc/parsers/netstat.py | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
8c78f959731a25a05ee6361a14853c92f8fce69b clean up trailing spaces on entries
 jc/parsers/netstat.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
94a88bb5669d9a9a5dff085a4c4111bdd39df8f6 post_parse flags and program_name
 jc/parsers/netstat.py | 52 ++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 35 insertions(+), 17 deletions(-)
579124475b0b517b36ddbe5bdb13be14807dea1f simplify parser_map code
 jc/cli.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
5da83e020015eb5559d216bc3f39b3854e76adf3 fix found variable error
 jc/cli.py | 2 ++
 1 file changed, 2 insertions(+)
a90a76d004b923edece07a52a3aa400a9ef4b005 move out old netstat parser
 jc/parsers/netstat.py.old | 177 ++++++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/netstat2.py    | 140 ------------------------------------
 2 files changed, 177 insertions(+), 140 deletions(-)
bdfa95912398b2630fcb13e866f4013747fd0975 fix compatibility code
 jc/parsers/arp.py      |   4 +-
 jc/parsers/df.py       |   4 +-
 jc/parsers/dig.py      |  10 +-
 jc/parsers/env.py      |  10 +-
 jc/parsers/free.py     |  10 +-
 jc/parsers/history.py  |   8 +-
 jc/parsers/ifconfig.py |  10 +-
 jc/parsers/iptables.py |  10 +-
 jc/parsers/jobs.py     |  10 +-
 jc/parsers/ls.py       |  10 +-
 jc/parsers/lsblk.py    |  10 +-
 jc/parsers/lsmod.py    |  10 +-
 jc/parsers/lsof.py     |  10 +-
 jc/parsers/mount.py    |  10 +-
 jc/parsers/netstat.py  | 245 +++++++++++++++++++++----------------------------
 jc/parsers/ps.py       |  10 +-
 jc/parsers/route.py    |  10 +-
 jc/parsers/uname.py    |  10 +-
 jc/parsers/uptime.py   |  10 +-
 jc/parsers/w.py        |  10 +-
 20 files changed, 209 insertions(+), 212 deletions(-)
4380594275bc863e81839a6a7b032a6ff0cbb9b6 remove cli functions from utils
 jc/utils.py | 54 ++++++++----------------------------------------------
 1 file changed, 8 insertions(+), 46 deletions(-)
88bf252c0df3c583640286880d7992e4399e23f4 rename jc.py to cli.py
 jc/cli.py | 139 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 jc/jc.py  | 128 ---------------------------------------------------------
 2 files changed, 139 insertions(+), 128 deletions(-)
a5efd8adce77fca7e3343f8f518c7bad578fdb4f rename jc.py to cli.py
 setup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2ee392eefffde77ebdf83f5e4e0c43cf8c1a7d6e add quiet mode
 jc/parsers/netstat2.py | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
9c1d893e16ea17b16bec5fd0ec8839c4fe6f0590 move utils to own module and add quiet mode
 jc/jc.py          | 107 +++++++++++++-----------------------------------------
 jc/parsers/arp.py |  10 +++--
 jc/parsers/df.py  |  10 +++--
 jc/utils.py       |  65 +++++++++++++++++++++++++++++++++
 4 files changed, 102 insertions(+), 90 deletions(-)
88dcb90c83b757285661c72429c5b60bb1ead94a changelog update
 changelog.txt | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
a3bcabc89c1f74d067da0046492dbc56e50b1005 mvp of netstat raw_data parser
 jc/parsers/netstat2.py | 71 +++++++-------------------------------------------
 1 file changed, 9 insertions(+), 62 deletions(-)
dafbf9fdcf53a8abbd006baef0be6697f860d2a1 process lsmod data
 jc/parsers/lsmod.py    |  85 ++++++++++++++++++++++++++++++++++++---
 jc/parsers/lsof.py     | 106 ++++++++++++++++++++++++++++++++++++-------------
 jc/parsers/mount.py    |  31 ++++++++++++---
 jc/parsers/netstat2.py |  78 +++++++++++++++++++++++++++++-------
 4 files changed, 247 insertions(+), 53 deletions(-)
680cb2b2caa82e1e2c3225b3c44cae2ba03ba02c doc update
 jc/parsers/lsblk.py | 83 ++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 76 insertions(+), 7 deletions(-)
54818a06e0e0b981810f6aec45c308da81a9e2ea change bool variable names
 jc/parsers/lsblk.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
88f4c5b5a93da3938b84f97abfc54539ee19ac48 remove TypeError from exception check
 jc/parsers/dig.py      | 8 ++++----
 jc/parsers/free.py     | 2 +-
 jc/parsers/ifconfig.py | 2 +-
 jc/parsers/iptables.py | 4 ++--
 jc/parsers/jobs.py     | 2 +-
 jc/parsers/ls.py       | 2 +-
 6 files changed, 10 insertions(+), 10 deletions(-)
2bb7409887e8b7659613189daf58d02cb26bd6ba process lsblk data
 jc/parsers/df.py    |  5 +++--
 jc/parsers/lsblk.py | 42 +++++++++++++++++++++++++++++++++---------
 2 files changed, 36 insertions(+), 11 deletions(-)
c780aac3aba02cc042c6a3c984af198069956370 add compatibility function
 jc/jc.py               | 8 +++++---
 jc/parsers/arp.py      | 3 ++-
 jc/parsers/df.py       | 1 +
 jc/parsers/dig.py      | 5 +++++
 jc/parsers/env.py      | 5 +++++
 jc/parsers/free.py     | 4 ++++
 jc/parsers/history.py  | 5 +++++
 jc/parsers/ifconfig.py | 5 +++++
 jc/parsers/iptables.py | 5 +++++
 jc/parsers/jobs.py     | 5 +++++
 jc/parsers/ls.py       | 3 ++-
 jc/parsers/lsblk.py    | 1 +
 jc/parsers/lsmod.py    | 4 ++++
 jc/parsers/lsof.py     | 5 +++++
 jc/parsers/mount.py    | 5 +++++
 jc/parsers/netstat.py  | 5 +++++
 jc/parsers/netstat2.py | 5 +++++
 jc/parsers/ps.py       | 4 ++++
 jc/parsers/route.py    | 4 ++++
 jc/parsers/uname.py    | 5 +++++
 jc/parsers/uptime.py   | 5 +++++
 jc/parsers/w.py        | 4 ++++
 22 files changed, 91 insertions(+), 5 deletions(-)
5010aaec285e26ae9dbfdb3fcdc38a3bd36cd236 put exit() back
 jc/jc.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
066e93cb075021ac94a0e2e6a36a34bc173ee6c0 move exit() to errormessage()
 jc/jc.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
0bd2faa7f71a128babc68afea053159ccb91b702 beautify compatibility list
 jc/jc.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
e2f926453ba386736204e358f8306dfc731b5005 add install script
 install.sh | 2 ++
 1 file changed, 2 insertions(+)
b953b79f9c46d8c5398a6c1c2769167b5aed2805 add compatibility
 jc/parsers/arp.py | 3 +++
 jc/parsers/df.py  | 4 ++++
 jc/parsers/ls.py  | 4 ++++
 3 files changed, 11 insertions(+)
7f9967780692bec2fcbe992eee0c392ab92efb7f compatibility function call
 jc/jc.py            | 16 +++++++++++++++-
 jc/parsers/lsblk.py |  4 ++++
 2 files changed, 19 insertions(+), 1 deletion(-)
721b54665924ad1657ee83cd5fca601e03700962 finish schema
 jc/parsers/lsblk.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
2de5e41269421c73e07d4abd6ca99b38be736261 fix for more columns and build schema
 jc/parsers/lsblk.py | 107 ++++++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 95 insertions(+), 12 deletions(-)
dfe0f6e99b6174734661fc43d9ad4b1d0dfd96e5 process ls data
 jc/parsers/ls.py | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 75 insertions(+), 9 deletions(-)
8873b1bc697c8f9409fa676c88b5ebe109dc8717 clean up process code
 jc/parsers/df.py | 70 +++++++++++++++++++-------------------------------------
 1 file changed, 24 insertions(+), 46 deletions(-)
9ff94707004fefed475603436fc0a7ffb19e6fee refactor helptext() function
 jc/jc.py | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)
2c58fca53044892e15ceb5e8bcae1afb09fa3269 process jobs data
 jc/parsers/jobs.py | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 62 insertions(+), 4 deletions(-)
9e5cd90da7d92bbadbc0d25071d087a3dbd90a5b process iptables data
 jc/parsers/iptables.py | 392 +++++++++++++++++--------------------------------
 1 file changed, 131 insertions(+), 261 deletions(-)
7ee0d49424bba5274975d6c33e0721977660692f process ifconfig data
 jc/parsers/ifconfig.py | 135 +++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 107 insertions(+), 28 deletions(-)
a9058ee21e87454aa423112239c4f4df7daca8c4 doc formatting
 jc/parsers/arp.py  | 3 ++-
 jc/parsers/dig.py  | 1 +
 jc/parsers/free.py | 1 +
 3 files changed, 4 insertions(+), 1 deletion(-)
fcf0aac87dccac2ce28e6f55e66e2f0b8f6fbd36 add history processing
 jc/parsers/history.py | 64 +++++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 54 insertions(+), 10 deletions(-)
daec5f068103aae547509ddacc2be56c84f39f17 process free data
 jc/parsers/free.py | 61 ++++++++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 55 insertions(+), 6 deletions(-)
5b2491d5ae72705758944e247fbca83367c0365f process env data
 jc/parsers/env.py | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 54 insertions(+), 5 deletions(-)
d9b41ac73b234f5bf7ff3abfee198092424a1bbd doc formatting
 jc/parsers/dig.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
7168ffddf8a8dfcdd5bcabd8bf943d6417de407d process dig output
 jc/parsers/dig.py | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 87 insertions(+), 5 deletions(-)
a855344bec9f60d852de326953436ec76f25cffb document schema
 jc/parsers/arp.py | 13 +++++++++++++
 1 file changed, 13 insertions(+)
d8b3b59fae924494fbcdfbdf6ad790f5234b0c69 add schema and rename 'avail' to 'available'
 jc/parsers/df.py | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
4b7d7840d37be47c1c98c38a6d712e7090e5b68c add -r option
 README.md     | 6 +++---
 changelog.txt | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)
58a094a9b4cab0fcb99581f37a21a450fc3a1aed changelog update
 changelog.txt | 1 +
 1 file changed, 1 insertion(+)
65adbb4189ac66de3283adb2af93a1251103f057 doc update
 jc/parsers/arp.py | 36 +++++++++++++++++++++++++++++-------
 1 file changed, 29 insertions(+), 7 deletions(-)
f7350959c9706486a3aed19a999e5ee756a1240c df fix for changing header names when -h used
 jc/parsers/df.py | 71 +++++++++++++++++++++++++++++++++++++-------------------
 1 file changed, 47 insertions(+), 24 deletions(-)
8934a7d832b8e1375f0bbdd71031f37ae42f3929 fix dictionary iteration
 jc/parsers/arp.py | 2 +-
 jc/parsers/df.py  | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)
669a424fd6508db91bf5cfa2607033fac85f442c fix process function
 jc/parsers/df.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
591a65c2bda26efcdd570a5f147f98a5be0473d4 process df data
 jc/parsers/df.py | 48 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 46 insertions(+), 2 deletions(-)
a78fb890782a64b20c0c1b60afbd915ebdd88535 add raw and processed output
 jc/parsers/arp.py | 26 +++++++++++++++++++++-----
 1 file changed, 21 insertions(+), 5 deletions(-)
8979dab2a5371fce3a773004c2309e7483e4cd31 add raw mode
 jc/jc.py | 45 +++++++++++++++++++++++++--------------------
 1 file changed, 25 insertions(+), 20 deletions(-)
0a891f0adda7f2f3233222a0cb5c1f737913ad6f bump python required version
 changelog.txt | 3 +++
 setup.py      | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)
c220e35b14237c2cfc38aa661413af83ea13e393 cleanup helptext
 jc/jc.py | 67 ++++++++++++++++++++++++++++++++--------------------------------
 1 file changed, 34 insertions(+), 33 deletions(-)
f26c5818bd958c18f4ecc22611b9c058f6213a2c refactor helptext
 jc/jc.py | 69 +++++++++++++++++++++++++++++++++-------------------------------
 1 file changed, 36 insertions(+), 33 deletions(-)
e712cd3fc4cec1b3137c73e199b2d89fd42fb3bb netstat2 skeleton
 jc/parsers/netstat2.py | 138 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 138 insertions(+)
0309c9ac67c5f65e0a584fd01e8104ef1990fa7c setup cleanup
 setup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
9a9eb4120af7696cd3727ac0f0a014663e62b993 setup updates
 setup.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
d1927456b02e6c2a6e6395cd6ce873b6565ec37d Merge pull request #6 from kellyjonbrazil/dev
a3d9213a1e2fd52ba2cbc863d4d01d3ffeebe230 add date
 changelog.txt | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
3365c03a1e709835b4bd6bca023afbcb46912982 add tests
 tests/test_arp.py | 131 +++++++++++++++++++++++++++++++
 tests/test_dig.py | 230 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 361 insertions(+)
4f6c87389b313b368d9e833feef55fe6daf7aac9 add dig test files
 tests/fixtures/centos-7.7/dig-aaaa.out   | 20 ++++++++++++++++
 tests/fixtures/centos-7.7/dig-x.out      | 20 ++++++++++++++++
 tests/fixtures/centos-7.7/dig.out        | 38 +++++++++++++++++++++++++++++
 tests/fixtures/create_fixtures.sh        |  6 ++++-
 tests/fixtures/ubuntu-18.04/dig-aaaa.out | 20 ++++++++++++++++
 tests/fixtures/ubuntu-18.04/dig-x.out    | 20 ++++++++++++++++
 tests/fixtures/ubuntu-18.04/dig.out      | 41 ++++++++++++++++++++++++++++++++
 7 files changed, 164 insertions(+), 1 deletion(-)
41a2a9adac7d3c29dfa11292f08b0877c69b1a5d remove unnecessary if statement
 README.md         | 147 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/dig.py |   3 --
 2 files changed, 147 insertions(+), 3 deletions(-)
74dae2905b2b0916f0be9fee2a4a343962760ff6 dig parser mvp
 jc/parsers/dig.py | 173 ++++++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 143 insertions(+), 30 deletions(-)
d1f64214de00090c3faae0bf544c6c2602ab8c31 add authority parsing
 jc/parsers/dig.py | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)
d3e1aa20a815d1d1d6ae82776ae18e3416f0966f fix when line
 jc/parsers/dig.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
72cae9577756c4355211a19f4dd77aaeb6f8e905 dig fixes
 jc/parsers/dig.py | 56 ++++++++++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 47 insertions(+), 9 deletions(-)
219bc8130f55f23e3be3abbe56104aefc2f84e86 dig parser skeleton
 jc/jc.py          |   5 ++
 jc/parsers/dig.py | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 155 insertions(+)
e8c1a554c040ad8f9c6b518db5fd58e8345d2181 testfile updates
 tests/fixtures/centos-7.7/arp-a.out   | 3 +++
 tests/fixtures/create_fixtures.sh     | 1 +
 tests/fixtures/ubuntu-18.04/arp-a.out | 3 +++
 3 files changed, 7 insertions(+)
087a60bc2adf64bfcedc1f264fef328f993b530c documentation updates
 README.md         | 33 +++++++++++++++++++++++++++++++
 jc/parsers/arp.py | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
 2 files changed, 87 insertions(+), 5 deletions(-)
9c9823c3b8737b5de08af6278ca74414138e9263 add arp testfiles
 tests/fixtures/centos-7.7/arp-v.out   | 4 ++++
 tests/fixtures/centos-7.7/arp.out     | 3 +++
 tests/fixtures/create_fixtures.sh     | 2 ++
 tests/fixtures/ubuntu-18.04/arp-v.out | 4 ++++
 tests/fixtures/ubuntu-18.04/arp.out   | 3 +++
 5 files changed, 16 insertions(+)
cf8d13030bf67261a986c0f80fa20ec0e37a743a add arp
 README.md | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
1eff69c187ca410ffaec7909bc2532553be1d80c add documentation
 changelog.txt     |  1 +
 jc/parsers/arp.py | 17 ++++++++++++++++-
 2 files changed, 17 insertions(+), 1 deletion(-)
b10fb77d714b73a10a9bf28b45269b3530e01cee fixup arp parser
 jc/parsers/arp.py | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
87cee8b230a06fa270b2e36afb56f337da814c80 add arp parser
 jc/jc.py          |  7 ++++++-
 jc/parsers/arp.py | 22 ++++++++++++++++++++++
 2 files changed, 28 insertions(+), 1 deletion(-)
83ab10d6282e26391bbf6bae5d0d29e040b209f0 documentation update
 jc/__init__.py | 78 +++++++++++++++++++++++++++++++++-------------------------
 1 file changed, 44 insertions(+), 34 deletions(-)
d58a6e1d1dc93155255922b65b0af1325439b033 readme update
 README.md | 28 +++++++++++++---------------
 1 file changed, 13 insertions(+), 15 deletions(-)
cb46ca5c2776a13c673a44d3e0fbd0661b32af9f readme update
 README.md | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
5528d979f0b45787d68ab79b962371df9acc527b version bump
 changelog.txt | 6 ++++++
 setup.py      | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)
ee94a038a61d60db72046d5bcceec58009decb39 add tests
 tests/test_uname.py  | 45 +++++++++++++++++++++++++++++++++++++++++++++
 tests/test_uptime.py | 41 +++++++++++++++++++++++++++++++++++++++++
 tests/test_w.py      | 45 +++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 131 insertions(+)
1d658f7a9fc50873f76985b2fb9de92ada9d5547 add tests
 tests/test_netstat.py | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++
 tests/test_ps.py      |  83 +++++++++++++++++++++++++++++++++++++++
 tests/test_route.py   |  77 ++++++++++++++++++++++++++++++++++++
 3 files changed, 265 insertions(+)
392cb44f9b19829a5ceba055e24c7af4d8ac5b3b initial add of tests and fixtures
 runtests.sh                                        |    3 +
 tests/__init__.py                                  |    0
 tests/fixtures/centos-7.7/df-h.out                 |    8 +
 tests/fixtures/centos-7.7/df.out                   |    8 +
 tests/fixtures/centos-7.7/env.out                  |   24 +
 tests/fixtures/centos-7.7/free-h.out               |    3 +
 tests/fixtures/centos-7.7/free.out                 |    3 +
 tests/fixtures/centos-7.7/history.out              | 1000 ++++++
 tests/fixtures/centos-7.7/ifconfig.out             |   26 +
 tests/fixtures/centos-7.7/iptables-filter-nv.out   |  134 +
 tests/fixtures/centos-7.7/iptables-filter.out      |  134 +
 tests/fixtures/centos-7.7/iptables-mangle.out      |   59 +
 tests/fixtures/centos-7.7/iptables-nat.out         |   80 +
 tests/fixtures/centos-7.7/iptables-raw.out         |   38 +
 tests/fixtures/centos-7.7/jobs.out                 |    4 +
 tests/fixtures/centos-7.7/ls-al.out                |   22 +
 tests/fixtures/centos-7.7/ls-alh.out               |   22 +
 tests/fixtures/centos-7.7/ls.out                   |   19 +
 tests/fixtures/centos-7.7/lsblk.out                |    7 +
 tests/fixtures/centos-7.7/lsmod.out                |   99 +
 tests/fixtures/centos-7.7/lsof-sudo.out            | 3390 ++++++++++++++++++++
 tests/fixtures/centos-7.7/lsof.out                 |  639 ++++
 tests/fixtures/centos-7.7/mount.out                |   31 +
 tests/fixtures/centos-7.7/netstat-l.out            |   45 +
 tests/fixtures/centos-7.7/netstat-p.out            |  121 +
 tests/fixtures/centos-7.7/netstat-sudo-lnp.out     |   45 +
 tests/fixtures/centos-7.7/netstat.out              |  123 +
 tests/fixtures/centos-7.7/ps-axu.out               |  110 +
 tests/fixtures/centos-7.7/ps-ef.out                |  110 +
 tests/fixtures/centos-7.7/route-vn.out             |    5 +
 tests/fixtures/centos-7.7/route.out                |    5 +
 tests/fixtures/centos-7.7/uname-a.out              |    1 +
 tests/fixtures/centos-7.7/uptime.out               |    1 +
 tests/fixtures/centos-7.7/w.out                    |    4 +
 tests/fixtures/create_fixtures.sh                  |   48 +
 tests/fixtures/ubuntu-18.04/df-h.out               |   19 +
 tests/fixtures/ubuntu-18.04/df.out                 |   19 +
 tests/fixtures/ubuntu-18.04/env.out                |   21 +
 tests/fixtures/ubuntu-18.04/free-h.out             |    3 +
 tests/fixtures/ubuntu-18.04/free.out               |    3 +
 tests/fixtures/ubuntu-18.04/history.out            |  453 +++
 tests/fixtures/ubuntu-18.04/ifconfig.out           |   18 +
 tests/fixtures/ubuntu-18.04/iptables-filter-nv.out |   30 +
 tests/fixtures/ubuntu-18.04/iptables-filter.out    |   30 +
 tests/fixtures/ubuntu-18.04/iptables-mangle.out    |   14 +
 tests/fixtures/ubuntu-18.04/iptables-nat.out       |   11 +
 tests/fixtures/ubuntu-18.04/iptables-raw.out       |    5 +
 tests/fixtures/ubuntu-18.04/jobs.out               |    4 +
 tests/fixtures/ubuntu-18.04/ls-al.out              |   30 +
 tests/fixtures/ubuntu-18.04/ls-alh.out             |   30 +
 tests/fixtures/ubuntu-18.04/ls.out                 |   27 +
 tests/fixtures/ubuntu-18.04/lsblk.out              |   18 +
 tests/fixtures/ubuntu-18.04/lsmod.out              |  102 +
 tests/fixtures/ubuntu-18.04/lsof-sudo.out          | 2854 ++++++++++++++++
 tests/fixtures/ubuntu-18.04/lsof.out               |  976 ++++++
 tests/fixtures/ubuntu-18.04/mount.out              |   43 +
 tests/fixtures/ubuntu-18.04/netstat-l.out          |   32 +
 tests/fixtures/ubuntu-18.04/netstat-p.out          |   97 +
 tests/fixtures/ubuntu-18.04/netstat-sudo-lnp.out   |   32 +
 tests/fixtures/ubuntu-18.04/netstat.out            |   97 +
 tests/fixtures/ubuntu-18.04/ps-axu.out             |  173 +
 tests/fixtures/ubuntu-18.04/ps-ef.out              |  173 +
 tests/fixtures/ubuntu-18.04/route-vn.out           |    5 +
 tests/fixtures/ubuntu-18.04/route.out              |    5 +
 tests/fixtures/ubuntu-18.04/uname-a.out            |    1 +
 tests/fixtures/ubuntu-18.04/uptime.out             |    1 +
 tests/fixtures/ubuntu-18.04/w.out                  |    4 +
 tests/test_df.py                                   |   69 +
 tests/test_env.py                                  |   31 +
 tests/test_free.py                                 |   67 +
 tests/test_history.py                              |   31 +
 tests/test_ifconfig.py                             |   77 +
 tests/test_iptables.py                             |  299 ++
 tests/test_jobs.py                                 |   37 +
 tests/test_ls.py                                   |   92 +
 tests/test_lsblk.py                                |   43 +
 tests/test_lsmod.py                                |   40 +
 tests/test_lsof.py                                 |   85 +
 tests/test_mount.py                                |   48 +
 tests/test_netstat.py                              |   47 +
 80 files changed, 12667 insertions(+)
579bef079cdd7cfa298bc20e052b8eb75b586f5e move global output variable inside function
 jc/parsers/netstat.py | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
0691cfcab3f5f91908e06ec906d57e548d4e7a1f changelog fix
 changelog.txt | 1 -
 1 file changed, 1 deletion(-)
db29c7c186601fd4596d3eb121b37100601af907 documentation fixes
 README.md             | 4 ++--
 jc/parsers/netstat.py | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
fb1e03637514b5ab02fd4c5df1db8b3cbacdd531 formatting
 README.md | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)
c3eaf59836538f4ab4c745e87b70115b4a4c5421 Merge pull request #5 from kellyjonbrazil/dev
c9849ce0db1f864d33739f8f6f942bf5672bc3b7 changelog update
 changelog.txt | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
d3c89a3092973a7a8765463fff41c2469ed675cd check for enough info to parse
 jc/parsers/uname.py | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)
a3d43f27f7bb0835b3593b7c303fe0ee8d896a58 fix odd uptime text parsing
 jc/parsers/uptime.py | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)
f4d9c1b699fa30bd297a40ccf3d5f6e7ba3d4253 fix uptime for minutes and hours long uptime
 jc/parsers/uptime.py | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)
de647bba4aff84f7b513cf7f6fec8d3933b0d9da documentation update
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
d7913070315e5e0c89006942250aaf37e9e3e18e documentation update
 README.md | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
1a4fc204e21f1555ae67c3147322c8d73fab630b Documentation update
 README.md     | 10 +++++++++-
 changelog.txt |  1 +
 2 files changed, 10 insertions(+), 1 deletion(-)
0328e14c7c65a330093faa52fe48dae6cb173e42 handle ctrl-c gracefully
 jc/jc.py | 7 +++++++
 1 file changed, 7 insertions(+)
1acc4d6c29d136e286f82d607c4a3a59e2680b68 fix uptime parsing for short uptimes
 jc/parsers/uptime.py | 4 ++++
 1 file changed, 4 insertions(+)
27245590ce28be933f1a55db4ee6b24783f4b63d remove integers
 jc/parsers/jobs.py | 32 ++++++++++++--------------------
 1 file changed, 12 insertions(+), 20 deletions(-)
7ca2a4bdb939293e8d7364f8901ad1fd6d3ee808 remove integer values
 README.md             | 199 ++++++++++++++++++++++++--------------------------
 changelog.txt         |   1 +
 jc/parsers/jobs.py    |   4 +-
 jc/parsers/ls.py      |  95 ++++++++++++++----------
 jc/parsers/netstat.py |  84 ++++++++-------------
 5 files changed, 182 insertions(+), 201 deletions(-)
5f1ec6734874651bee595961edf1fafaf5acf001 lower() headers
 README.md              | 453 +++++++++++++++++++++++++------------------------
 jc/parsers/df.py       |  52 +++---
 jc/parsers/history.py  |   2 +-
 jc/parsers/iptables.py |   2 +-
 jc/parsers/lsblk.py    |  73 ++++----
 jc/parsers/lsmod.py    |  61 +++----
 jc/parsers/lsof.py     | 113 ++++++------
 jc/parsers/ps.py       |  81 +++++----
 jc/parsers/route.py    |  60 +++----
 jc/parsers/w.py        |  32 ++--
 10 files changed, 473 insertions(+), 456 deletions(-)
7e44c4278a75c7223d99200023160e8d77fde54d formatting
 jc/parsers/jobs.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
eda726c4a3864008e2f700374b679ae68a965ef8 documentation update
 jc/parsers/ifconfig.py | 81 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 80 insertions(+), 1 deletion(-)
5f8e70d73054f1a106c0e75eee621bc0cefd1c6b convert headers to lowercase
 changelog.txt       | 1 +
 jc/parsers/df.py    | 4 ++--
 jc/parsers/free.py  | 2 +-
 jc/parsers/lsblk.py | 8 ++++----
 jc/parsers/lsmod.py | 9 +++------
 jc/parsers/lsof.py  | 8 ++++----
 jc/parsers/ps.py    | 2 +-
 jc/parsers/route.py | 2 +-
 jc/parsers/w.py     | 6 +++---
 9 files changed, 20 insertions(+), 22 deletions(-)
25b90546c652cafa9409f02bae1654cb523add88 change 'Use%' to 'Use_percent'
 README.md        |  8 ++++----
 changelog.txt    |  2 +-
 jc/parsers/df.py | 13 +++++++++----
 3 files changed, 14 insertions(+), 9 deletions(-)
75c084153845757e22c149ea4ae7909d42ec7118 changelog update
 changelog.txt | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
5b532b9b71fdb9de575da0af9b7989ac537877c4 minor cleanup
 jc/parsers/lsof.py | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
8c7b3193d131411f8766508fc27b2a6589bba1f2 documentation change
 jc/parsers/history.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
0897c96ef3c180a1707e8f56c545f59b3a4e0672 formatting
 jc/parsers/lsof.py | 2 ++
 1 file changed, 2 insertions(+)
57d0ab2ed7f444862546da17cbbe8f8ce67bca8c change LOGIN@ to LOGIN_AT
 README.md       | 4 ++--
 jc/parsers/w.py | 9 +++++++--
 2 files changed, 9 insertions(+), 4 deletions(-)
a07d9a0e4bb76d369b4a9bf0d77c7590dc3c2861 change SIZE/OFF key to SIZE_OFF
 README.md          | 10 +++++-----
 jc/parsers/lsof.py | 25 +++++++++++++++++--------
 2 files changed, 22 insertions(+), 13 deletions(-)
b3996cb4dfed908d71b292dc0b0136c6675351e6 change MAJ:MIN key to MAJ_MIN
 README.md           | 10 +++++-----
 jc/parsers/lsblk.py | 14 +++++++++-----
 2 files changed, 14 insertions(+), 10 deletions(-)
4fa88c1ba38b34f9750625458c465d66f6531bc3 clear out non-ascii chars from data
 jc/parsers/history.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
c8c5564b29588094721949b96bff1e623437835d change buff/cache key to buff_cache
 README.md          | 2 +-
 jc/parsers/free.py | 7 +++++--
 2 files changed, 6 insertions(+), 3 deletions(-)
6d047486d9f577bc04d79af839f5eef9657a9d43 doc fix
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
42bdc058141c4a3ac6f2c8211f9c990590b1b5cf changelog fix
 changelog.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
85bfb688862e78d5879df6973b88ba8023fa6086 history parser fixes
 README.md             |  8 ++++----
 jc/parsers/history.py | 17 +++++++++++------
 2 files changed, 15 insertions(+), 10 deletions(-)
08ec21556b553cd7e64932d68e01ba8ff3b0f210 formatting
 jc/parsers/w.py | 1 -
 1 file changed, 1 deletion(-)
320929bf2595026d32b80b80c3e4878db9cf083f documentation update
 jc/parsers/env.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
41cd489c34502c42602bf64086670ba3b2b8e14b add history and uptime parsers
 README.md             | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 changelog.txt         |  3 +++
 jc/jc.py              | 10 ++++++++++
 jc/parsers/history.py | 32 ++++++++++++++++++++++++++++++++
 jc/parsers/uptime.py  | 35 +++++++++++++++++++++++++++++++++++
 5 files changed, 126 insertions(+)
f101d881a16e662e883818749d48e96858fba853 add w parser
 README.md       | 27 +++++++++++++++++++++++++++
 jc/jc.py        |  9 +++++++--
 jc/parsers/w.py | 43 +++++++++++++++++++++++++++++++++++++++++++
 setup.py        |  2 +-
 4 files changed, 78 insertions(+), 3 deletions(-)
fa7466022bb8947c1bbf9f7b01aa4d92300a8992 fix env parser
 README.md         | 37 +++++++++++--------------------------
 changelog.txt     |  3 +++
 jc/parsers/env.py | 44 ++++++++++++++------------------------------
 3 files changed, 28 insertions(+), 56 deletions(-)
ea0cf0acf22585fbf8828841cf50155636eae82f documentation update
 jc/parsers/lsof.py | 3 ---
 1 file changed, 3 deletions(-)
e7921b65f5a250c10b08f78939f74968047af430 Merge pull request #4 from kellyjonbrazil/dev
2cc1b1bd5451f31d71b0e2236bdee0ce2b25b5d7 version bump
 changelog.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
58ae976db0165730a75dd7450c698d2727a354ca documentation update
 README.md           | 55 ++++++++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/lsmod.py | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 setup.py            |  2 +-
 3 files changed, 113 insertions(+), 4 deletions(-)
66772392ae78ef394e22070b127416b1d5b01332 add lsmod parser
 changelog.txt       |  1 +
 jc/jc.py            |  5 +++++
 jc/parsers/lsmod.py | 26 ++++++++++++++++++++++++++
 3 files changed, 32 insertions(+)
29c47c03a64f9c6b0f44d34be5449396654849b5 documentation update
 README.md          | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 changelog.txt      |  3 ++-
 jc/parsers/lsof.py | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 3 files changed, 134 insertions(+), 2 deletions(-)
91eb9a4d13e9254bd5bbde931196904c1947a28e use None instead of --
 jc/parsers/lsof.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
a1a3de32ec14d6ef433e334b9694856698c26d41 add lsof parser
 jc/jc.py           |  5 +++++
 jc/parsers/lsof.py | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 59 insertions(+)
9c47fd05bf716c2e18ebf4da41b1a46b972b2518 doco fix
 jc/parsers/jobs.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
649c0aa7c157f87691cc8eeac64c747e81f63594 add documentation
 README.md          | 39 +++++++++++++++++++++++++++++++++++++++
 jc/parsers/jobs.py | 38 +++++++++++++++++++++++++++++++++++++-
 2 files changed, 76 insertions(+), 1 deletion(-)
3db758764e50666e5ae40de8d89180de2ef5bc28 add jobs parser
 changelog.txt      |  6 +++++
 jc/jc.py           |  5 ++++
 jc/parsers/jobs.py | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 83 insertions(+)
802f1510eb6d621f9c760f28b83f16a4781b8d93 tighten if statements
 jc/parsers/iptables.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
56901788dee154890e70269ad48d4b22bb8c5437 stop blocking when no pipe and enhance help text
 jc/jc.py | 49 ++++++++++++++++++++++++++++++-------------------
 1 file changed, 30 insertions(+), 19 deletions(-)
679ae6d5dc7af26240dc00d8bc6499950f81d457 version bump
 setup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
b15c8c352a87a9b3b1dece28af0287ef71ca02d0 simplify state variables
 jc/parsers/iptables.py | 30 ++++++++++++++----------------
 1 file changed, 14 insertions(+), 16 deletions(-)
393e8bc56041a4be01b6c0b2f98895aa330afd04 Merge pull request #3 from kellyjonbrazil/dev
976fd7d9bd49190a8b28ea5acf5af8979cdec537 readme update
 README.md | 55 +++++++++++++++++++++++++++----------------------------
 1 file changed, 27 insertions(+), 28 deletions(-)
d8337870cad042cdcc6a4ff3c61f756c3430fa96 update documentation
 jc/parsers/df.py | 55 +++++++++++++++++++++++++++----------------------------
 1 file changed, 27 insertions(+), 28 deletions(-)
39a8aec77f5134b5b958e3f679910a1c3512e13a v0.8.1 build
 changelog.txt    | 2 +-
 jc/parsers/ls.py | 2 +-
 setup.py         | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
306d539b6bbfb272c7b955e4847adc3a6b4afa5f readme update
 README.md | 1 +
 1 file changed, 1 insertion(+)
f3087b8a8ede88834285bb5d0655fc96341c174c update readme and formatting
 README.md              | 319 +++++++++++++++++++++++++++++++++++++++++++++++++
 changelog.txt          |   1 +
 jc/parsers/iptables.py | 316 +++++++++++++++++++++++++++++++++++++++++++++++-
 3 files changed, 635 insertions(+), 1 deletion(-)
414c2ecef88af2d2c098e6acfb507a5fd7bb8eda fix iptables parser
 jc/parsers/iptables.py | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)
776ef2d1be81180b8b295fbc587446a326f2f7a6 add iptables parser
 jc/jc.py               |  5 +++++
 jc/parsers/iptables.py | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 61 insertions(+)
9ac57469967443b195be09d580beaa76ce0e1095 add uname parser
 README.md           | 15 +++++++++++++++
 changelog.txt       |  1 +
 jc/jc.py            |  7 ++++++-
 jc/parsers/uname.py | 42 ++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 64 insertions(+), 1 deletion(-)
a3e55d97c0fd4397b42e9146afb0ba9558274fdb add mount parser
 README.md           | 45 ++++++++++++++++++++++++++++++++
 changelog.txt       |  1 +
 jc/jc.py            |  7 ++++-
 jc/parsers/mount.py | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 127 insertions(+), 1 deletion(-)
b15227e7ba5377e5fb6799d1b9e4ed5a11c6d92f add lsblk parser
 README.md           | 49 +++++++++++++++++++++++++++++++++++++
 changelog.txt       |  1 +
 jc/jc.py            |  5 ++++
 jc/parsers/lsblk.py | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 125 insertions(+)
ec3d1f84ceccb492b4c968938714fafa2e6a6321 fix free parser
 jc/parsers/free.py | 26 ++++++++++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)
753d5fd9fe5a8e4b67b1a0ec018a9f811e27f8bf readme update
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
73a0d70c9294ad392792e690a7bfbcc4f51b0a5b readme update
 README.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
c2c189f3e6e900e5f3d35df9a9b9d033448baff6 readme update
 README.md | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
36bc55a3109278d663b675a09829200f5474c3d8 fix df
 README.md | 3 ---
 1 file changed, 3 deletions(-)
a023001cd350e320ce30f47af214ed7a9bb43185 add df, env, and free parsers
 README.md          | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 changelog.txt      |  5 ++++
 jc/jc.py           | 17 ++++++++++++-
 jc/parsers/df.py   | 56 +++++++++++++++++++++++++++++++++++++++++
 jc/parsers/env.py  | 53 +++++++++++++++++++++++++++++++++++++++
 jc/parsers/free.py | 23 +++++++++++++++++
 6 files changed, 226 insertions(+), 1 deletion(-)
e3750b49628794fd4d563013b1f3a7471c27ce68 documentation enhancements
 README.md      |  30 ++++++++++++++---
 jc/__init__.py | 104 ++++++++++++++++++++++++++++++++-------------------------
 2 files changed, 83 insertions(+), 51 deletions(-)
b5ea08e55bfd22c9da5ba73c124791012df119a0 fix transport protocol
 README.md             | 16 ++++++++--------
 changelog.txt         |  2 +-
 jc/parsers/netstat.py | 20 ++++++++++----------
 setup.py              |  2 +-
 4 files changed, 20 insertions(+), 20 deletions(-)
8e71b8e3522b9b1af4d869a0854223eb5c300b63 fix jq example
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
4c8610c54ff4b643237d8f0e4c5781c277fc39f5 fixed build
 changelog.txt | 3 ++-
 setup.py      | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)
c8f886dc8fcdc58f8471d68c3d583200d0ea2f90 fix example
 jc/jc.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
4cfc2d22b3f9fd6f0cde8ad206edd7fe260b3071 update changelog
 changelog.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
59238c85408117748e78c5e87157381a828f3782 Merge pull request #2 from kellyjonbrazil/dev
30080c01659cf611666876b7b063b7b329822352 reorder parsers
 README.md | 70 +++++++++++++++++++++++++++++++--------------------------------
 1 file changed, 35 insertions(+), 35 deletions(-)
fab80bb3b4a1897da29d818e98e9b80ce45443dd readme update
 README.md | 1 +
 setup.py  | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
a9f2df805421754afb8e8adbcac7f2d3bd06c9ef move parsed_line var lower
 jc/parsers/netstat.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
1d110be6cb25d169ae0dde6532cbcdf05d93d42f update doco
 README.md     | 8 ++++++++
 changelog.txt | 4 ++++
 setup.py      | 2 +-
 3 files changed, 13 insertions(+), 1 deletion(-)
be81b5e1ed93eb65e5dbed4f52905439cde86f62 readme update
 README.md | 233 ++++++++++++++++++++++++++++++--------------------------------
 1 file changed, 112 insertions(+), 121 deletions(-)
5f88f7d8a071306be92cbfb65d6d62c5a68159f3 netstat cleanup
 jc/parsers/netstat.py | 247 ++++++++++++++++++++++----------------------------
 1 file changed, 110 insertions(+), 137 deletions(-)
e57c7cc8ef3102cc41dee4ea5fd33d40ba666491 change output from dict to list
 jc/parsers/netstat.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
b216627c1073ea645029e341b4d3376601e5468e flatten netstat output
 jc/parsers/netstat.py | 135 +++++++-------------------------------------------
 1 file changed, 19 insertions(+), 116 deletions(-)
6e925eab131024b5746d870cbd47e2791acf18bf clean up arg parsing
 jc/jc.py | 45 +++++++++++++++++++++++++++------------------
 1 file changed, 27 insertions(+), 18 deletions(-)
d54d906c571b4683f01cab2eca63ae5f0725a87b update readme
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
0040febbf099ed8ab35f6ee343750fcf89f2e739 Merge pull request #1 from kellyjonbrazil/dev
e416c77bed1267254da972b0f95b7ff1d43fccef version bump
 changelog.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
9181d242aaed5219bb35fde01d672be88949cceb bump version
 setup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
d6f94c53a4df84fb75554605477e49536a809dc2 fix blank output case in ls
 jc/parsers/ls.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
a9294f32a00709737d0b82ff434a311e75ad0bed ls fixes
 changelog.txt    |  7 ++----
 jc/parsers/ls.py | 72 ++++++++++++++++++++++++++++----------------------------
 setup.py         |  2 +-
 3 files changed, 39 insertions(+), 42 deletions(-)
4d93b38fe47329e3175025878e87f7c963061f98 add route documentation
 README.md           | 47 +++++++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/route.py | 44 +++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 90 insertions(+), 1 deletion(-)
77b74c550795f96b808e48a9b0bfd1a8af9866f9 add route parser
 changelog.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
51a1d3e6f48cf7084267be4092f0dd3f778dcef3 version bump
 setup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2eba30422b44f648c7356a44cbff7416c6648f19 skip first line
 jc/parsers/route.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
43ed09ce5ba53261dfd7ef50a2e187cb524c416c add route parser
 jc/jc.py            |  3 +++
 jc/parsers/route.py | 21 +++++++++++++++++++++
 setup.py            |  2 +-
 3 files changed, 25 insertions(+), 1 deletion(-)
367ab54f94bf7f456377ec9d20f8daf99dbdc1ed formatting
 README.md        | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 changelog.txt    |  2 +-
 jc/parsers/ps.py | 46 +++++++++++++++++++++++++++++++++++++++++++++-
 3 files changed, 99 insertions(+), 2 deletions(-)
4f552e370e656cc1882a7dae231475a016f8aa14 acknowledgment
 jc/parsers/ps.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
7571139f7980f6e74c29d46971881e82ab0f04bc bump version
 setup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
8ec1bec31711d2ef487da3e4a29a842d98d77626 add ps parser
 changelog.txt    | 10 +++++-----
 jc/__init__.py   |  2 --
 jc/jc.py         |  3 +++
 jc/parsers/ps.py | 21 +++++++++++++++++++++
 4 files changed, 29 insertions(+), 7 deletions(-)
c04895407f203aa0a3a080d5242faf8f6889ae41 ubuntu fixes
 changelog.txt         | 1 +
 jc/parsers/netstat.py | 9 +++++----
 2 files changed, 6 insertions(+), 4 deletions(-)
cec73d61310591e4890605f61dc5c1bef5808ec4 linting
 jc/jc.py               |  7 +++++--
 jc/parsers/ifconfig.py |  7 +++----
 jc/parsers/ls.py       |  3 ++-
 jc/parsers/netstat.py  | 23 ++++++++++++++---------
 4 files changed, 24 insertions(+), 16 deletions(-)
756c2bc9acd60111281b76085a40778e51ca06cc add acknowledgments
 README.md | 23 ++++++++++++++++++++---
 1 file changed, 20 insertions(+), 3 deletions(-)
084048987c7afc6516f69e68d37d73b2402dc7f2 changelog update
 changelog.txt | 2 ++
 1 file changed, 2 insertions(+)
02d97394dd76a8782e6e7d3f8a85e1aed05e796b changelog update
 changelog.txt | 1 +
 1 file changed, 1 insertion(+)
177f948f9740e3e33449b04b9136a346c9a2c265 version update
 setup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
c2b013150ec1f1b1ab7d416f1aa8a62165a5bb95 add changelog
 changelog.txt | 9 +++++++++
 1 file changed, 9 insertions(+)
0bec67c29ce5d965271440da41a0c4b4c2a1f0fb double quotes to single quotes
 jc/parsers/netstat.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
8073d15fe11546a17cacd81409e255bb8aecd602 readme update
 README.md | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)
3b74afc39e58f801e75b7105e521c1469d30f991 upload script
 pypi-upload.sh | 2 ++
 1 file changed, 2 insertions(+)
ed320cf0f4bb11cee1e69e9dc9176ba109df1b86 change netstat pid field to integer
 README.md             | 20 ++++++++++----------
 jc/parsers/netstat.py | 22 +++++++++++-----------
 setup.py              |  2 +-
 3 files changed, 22 insertions(+), 22 deletions(-)
021b6924e24e1cf0f971246244b174cd3181c0a6 documentation updates
 README.md             | 124 ++++++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/netstat.py | 135 ++++++++++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 254 insertions(+), 5 deletions(-)
5fb21b077662f1cb172741945ba5036e5a280638 remove debug print statements
 jc/parsers/netstat.py | 8 --------
 1 file changed, 8 deletions(-)
7b8540ae2a60f2400fe672a022ee00d1415a3500 netstat fixes
 jc/parsers/netstat.py | 26 +++++++++++++++++++-------
 1 file changed, 19 insertions(+), 7 deletions(-)
a5e039d4c2e07d52a0797833685c562ab285b49b netstat debugging
 jc/parsers/netstat.py | 24 +++++++++++++++++-------
 1 file changed, 17 insertions(+), 7 deletions(-)
7071f60a302b7aefb8fb312699b0abec25548986 netstat mvp
 jc/parsers/netstat.py | 84 ++++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 66 insertions(+), 18 deletions(-)
0de1dff0253eb46b7336103f62f888940406ccc0 fix ands
 jc/parsers/netstat.py | 48 ++++++++++++++++++++++++------------------------
 1 file changed, 24 insertions(+), 24 deletions(-)
b3c52eb1ccf82e899dda62c332c0b217d80eb4c7 add netstat parser
 jc/parsers/ifconfig.py |   2 +-
 jc/parsers/netstat.py  | 150 ++++++++++++++++++++++++++++++++++++-------------
 2 files changed, 112 insertions(+), 40 deletions(-)
366c5dbc010869bdb1d3b9d852e10510bd5c266f fix help message
 jc/jc.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
a3ee02514b5fbd43a38ddf515a4aad49bb4e161a fix imports and module names
 jc/jc.py | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
46ad1269cb58dc6f064d17eb0b04da62d8fd5fce packaging fixes
 jc/jc.py | 6 +++---
 setup.py | 1 +
 2 files changed, 4 insertions(+), 3 deletions(-)
7234afe568818678585ac423649a0ccce0f45d68 entrypoint fix
 setup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
caf480c63aacb518805d48fba0fd454959d11023 module fix
 setup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
62851b48d5e5cd673e630a28996e1c24cc45aa58 fix modules
 jc/jc.py | 12 ++++++------
 setup.py |  2 +-
 2 files changed, 7 insertions(+), 7 deletions(-)
46d6da92f0e196e150ab9dd44b1ba290c950905b fix entry_points
 jc/{jc => jc.py} | 0
 setup.py         | 2 +-
 2 files changed, 1 insertion(+), 1 deletion(-)
e572b2edfa993c5049ef3caeda7a8e4797f0c751 use entry_points instead of scripts
 jc/jc    | 58 +++++++++++++++++++++++++++++++---------------------------
 setup.py |  8 ++++++--
 2 files changed, 37 insertions(+), 29 deletions(-)
72c69e7de59029d623c9819dda6aa8cae91bc419 fix package paths
 jc/jc | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
4d1565071e5cf7c38e026e08db8f4d2e79969691 rename jc.py to jc
 jc/{jc.py => jc} | 0
 setup.py         | 2 +-
 2 files changed, 1 insertion(+), 1 deletion(-)
3652e51693d7ba829f4699fd80de20856941d82f fix requirements
 setup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
49ce9f13e817266659400a8c19f5b078a48589df setup updates
 jc/jc.py               |  5 +++--
 jc/parsers/__init__.py |  5 -----
 setup.py               | 27 ++++++++++++++-------------
 3 files changed, 17 insertions(+), 20 deletions(-)
e83170b7ec7ed2123bfde69be263b6034c7afa53 readme update
 README.md | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
ffb6eb754a87baad5fb0558e30a5bca1a9b9e0a8 setup fixes
 jc/parsers/__init__.py | 8 +++++---
 setup.py               | 6 ++----
 2 files changed, 7 insertions(+), 7 deletions(-)
2597a18d95d01109d2250487b7550a501edaf77b readme update
 README.md | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 82 insertions(+)
3e576250b1bfe1c62c556f2fa0425103b0ede1f9 First commit
 .gitignore             |   6 +++
 LICENSE.md             |  21 ++++++++
 README.md              |  53 ++++++++++++++++++++
 build-package.sh       |   5 ++
 jc/__init__.py         |  61 +++++++++++++++++++++++
 jc/jc.py               |  38 +++++++++++++++
 jc/parsers/__init__.py |   3 ++
 jc/parsers/ifconfig.py |  30 ++++++++++++
 jc/parsers/ls.py       | 130 +++++++++++++++++++++++++++++++++++++++++++++++++
 jc/parsers/netstat.py  |  55 +++++++++++++++++++++
 setup.py               |  27 ++++++++++
 11 files changed, 429 insertions(+)
