diff --git a/CHANGELOG b/CHANGELOG
index e81410ec..acc744c5 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,17 @@
jc changelog
+20220425 v1.18.7
+- Add git log command parser
+- Add update-alternatives --query parser
+- Add update-alternatives --get-selections parser
+- Fix key/value and ini parsers to allow duplicate keys
+- Fix yaml file parser for files including timestamp objects
+- Fix UnicodeDecodeError on some systems where LANG=C is set and unicode
+ characters are in the output
+- Update xrandr parser: add a 'rotation' field
+- Fix failing tests by moving template files
+- Add python interpreter version and path to -v and -a output
+
20220325 v1.18.6
- Add pidstat command parser tested on linux
- Add pidstat command streaming parser tested on linux
@@ -361,16 +373,16 @@ jc changelog
- Add axfr support for dig command parser
20200312 v1.9.2
-- Updated arp parser to fix OSX detection for some edge cases
+- Update arp parser to fix OSX detection for some edge cases
20200312 v1.9.1
-- Updated file command parser to make filename splitting more robust
+- Update file command parser to make filename splitting more robust
20200311 v1.9.0
-- Added ntpq command parser
-- Added timedatectl status command parser
-- Added airport -I and airport -s command parser
-- Added file command parser
+- Add ntpq command parser
+- Add timedatectl status command parser
+- Add airport -I and airport -s command parser
+- Add file command parser
- Optimized history command parser by https://github.com/philippeitis
- Magic syntax fix for certain edge cases
@@ -378,23 +390,23 @@ jc changelog
- CLI optimizations by https://github.com/philippeitis
- Refactored magic syntax function and added tests (https://github.com/philippeitis)
- Github actions for CI testing on multiple platforms by https://github.com/philippeitis
-- Updated ls parser to fix parsing error in OSX with -lR when there are empty folders
+- Update ls parser to fix parsing error in OSX with -lR when there are empty folders
20200303 v1.8.0
-- Added blkid command parser
-- Added last and lastb command parser
-- Added who command parser
-- Added CSV file parser
-- Added /etc/passwd file parser
-- Added /etc/shadow file parser
-- Added /etc/group file parser
-- Added /etc/gshadow file parser
+- Add blkid command parser
+- Add last and lastb command parser
+- Add who command parser
+- Add CSV file parser
+- Add /etc/passwd file parser
+- Add /etc/shadow file parser
+- Add /etc/group file parser
+- Add /etc/gshadow file parser
20200227 v1.7.5
-- Updated ls parser to support filenames with newline characters
+- Update ls parser to support filenames with newline characters
20200219 v1.7.4
-- Updated ls parser to support multiple directories, globbing, and -R (recursive)
+- Update ls parser to support multiple directories, globbing, and -R (recursive)
20200211 v1.7.3
- Add alternative 'magic' syntax: e.g. `jc ls -al`
@@ -411,8 +423,8 @@ jc changelog
- Add crontab file parser with user support (tested on linux)
- Add __version__ variable to parser modules
- Add exit code on error
-- Updated history parser to output "line" as an integer
-- Updated compatibility list for some parsers
+- Update history parser to output "line" as an integer
+- Update compatibility list for some parsers
- Bugfix in crontab file parser: header insertion was clobbering first row
- Just-in-time loading of parser modules instead of loading all at start
@@ -425,7 +437,7 @@ jc changelog
- Add tests for ls, dig, ps, w, uptime on OSX
- Add about option
- Add universal parsers to refactor repetitive code
-- Updated ifconfig parser to output 'state' as an array
+- Update ifconfig parser to output 'state' as an array
20191117 v1.5.1
- Add ss parser
@@ -438,11 +450,11 @@ jc changelog
- Add -d option to debug parsing issues
- Add compatibility warnings to stderr
- Add documentation
-- Updated iptables parser to allow --line-numbers option
-- Updated lsblk parser to allow parsing of added columns
-- Updated mount parser: changed 'access' field name to 'options'
-- Updated netstat parser to allow parsing of unix sockets and raw network connections
-- Updated w parser to fix unaligned data where blanks are possible
+- Update iptables parser to allow --line-numbers option
+- Update lsblk parser to allow parsing of added columns
+- Update mount parser: changed 'access' field name to 'options'
+- Update netstat parser to allow parsing of unix sockets and raw network connections
+- Update w parser to fix unaligned data where blanks are possible
- Clean up code and reorganize package
20191031 v1.1.1
diff --git a/EXAMPLES.md b/EXAMPLES.md
index 21debe32..d17b1c58 100644
--- a/EXAMPLES.md
+++ b/EXAMPLES.md
@@ -3645,6 +3645,69 @@ uname -a | jc --uname -p # or: jc -p uname -a
"kernel_version": "#74-Ubuntu SMP Tue Sep 17 17:06:04 UTC 2019"
}
```
+### update-alternatives --get-selections
+```bash
+update-alternatives --get-selections | jc --update-alt-gs -p # or: jc -p update-alternatives --get-selections
+```
+```json
+[
+ {
+ "name": "arptables",
+ "status": "auto",
+ "current": "/usr/sbin/arptables-nft"
+ },
+ {
+ "name": "awk",
+ "status": "auto",
+ "current": "/usr/bin/gawk"
+ }
+]
+```
+### update-alternatives --query
+```bash
+update-alternatives --query editor | jc --update-alt-q -p # or: jc -p update-alternatives --query editor
+```
+```json
+{
+ "name": "editor",
+ "link": "/usr/bin/editor",
+ "slaves": [
+ {
+ "name": "editor.1.gz",
+ "path": "/usr/share/man/man1/editor.1.gz"
+ },
+ {
+ "name": "editor.da.1.gz",
+ "path": "/usr/share/man/da/man1/editor.1.gz"
+ }
+ ],
+ "status": "auto",
+ "best": "/bin/nano",
+ "value": "/bin/nano",
+ "alternatives": [
+ {
+ "name": "/bin/ed",
+ "priority": -100,
+ "slaves": [
+ {
+ "name": "editor.1.gz",
+ "path": "/usr/share/man/man1/ed.1.gz"
+ }
+ ]
+ },
+ {
+ "name": "/bin/nano",
+ "priority": 40,
+ "slaves": [
+ {
+ "name": "editor.1.gz",
+ "path": "/usr/share/man/man1/nano.1.gz"
+ }
+ ]
+ }
+ ]
+}
+```
### upower
```bash
upower -i /org/freedesktop/UPower/devices/battery | jc --upower -p # or jc -p upower -i /org/freedesktop/UPower/devices/battery
diff --git a/README.md b/README.md
index 5e0f7595..df59a3bc 100644
--- a/README.md
+++ b/README.md
@@ -106,17 +106,17 @@ pip3 install jc
### OS Package Repositories
-| OS | Command |
-|-----------------------|-------------------------------------------------------------------------------|
-| Debian/Ubuntu linux | `apt-get install jc` |
-| Fedora linux | `dnf install jc` |
-| openSUSE linux | `zypper install jc` |
-| Archlinux User Repositories (AUR) | `paru -S jc` or `aura -A jc` or `yay -S jc` |
-| NixOS linux | `nix-env -iA nixpkgs.jc` or `nix-env -iA nixos.jc` |
-| Guix System linux | `guix install jc` |
-| macOS | `brew install jc` |
-| FreeBSD | `portsnap fetch update && cd /usr/ports/textproc/py-jc && make install clean` |
-| Ansible filter plugin | `ansible-galaxy collection install community.general` |
+| OS | Command |
+|--------------------------------------|-------------------------------------------------------------------------------|
+| Debian/Ubuntu linux | `apt-get install jc` |
+| Fedora linux | `dnf install jc` |
+| openSUSE linux | `zypper install jc` |
+| Archlinux User Repositories (AUR) | `paru -S jc` or `aura -A jc` or `yay -S jc` |
+| NixOS linux | `nix-env -iA nixpkgs.jc` or `nix-env -iA nixos.jc` |
+| Guix System linux | `guix install jc` |
+| macOS | `brew install jc` |
+| FreeBSD | `portsnap fetch update && cd /usr/ports/textproc/py-jc && make install clean` |
+| Ansible filter plugin | `ansible-galaxy collection install community.general` |
> For more OS Packages, see https://repology.org/project/jc/versions.
@@ -167,6 +167,7 @@ option.
- `--finger` enables the `finger` command parser ([documentation](https://kellyjonbrazil.github.io/jc/docs/parsers/finger))
- `--free` enables the `free` command parser ([documentation](https://kellyjonbrazil.github.io/jc/docs/parsers/free))
- `--fstab` enables the `/etc/fstab` file parser ([documentation](https://kellyjonbrazil.github.io/jc/docs/parsers/fstab))
+- `--git-log` enables the `git log` command parser ([documentation](https://kellyjonbrazil.github.io/jc/docs/parsers/git_log))
- `--group` enables the `/etc/group` file parser ([documentation](https://kellyjonbrazil.github.io/jc/docs/parsers/group))
- `--gshadow` enables the `/etc/gshadow` file parser ([documentation](https://kellyjonbrazil.github.io/jc/docs/parsers/gshadow))
- `--hash` enables the `hash` command parser ([documentation](https://kellyjonbrazil.github.io/jc/docs/parsers/hash))
@@ -227,6 +228,8 @@ option.
- `--ufw` enables the `ufw status` command parser ([documentation](https://kellyjonbrazil.github.io/jc/docs/parsers/ufw))
- `--ufw-appinfo` enables the `ufw app info [application]` command parser ([documentation](https://kellyjonbrazil.github.io/jc/docs/parsers/ufw_appinfo))
- `--uname` enables the `uname -a` command parser ([documentation](https://kellyjonbrazil.github.io/jc/docs/parsers/uname))
+- `--update-alt-gs` enables the `update-alternatives --get-selections` command parser ([documentation](https://kellyjonbrazil.github.io/jc/docs/parsers/update_alt_gs))
+- `--update-alt-q` enables the `update-alternatives --query` command parser ([documentation](https://kellyjonbrazil.github.io/jc/docs/parsers/update_alt_q))
- `--upower` enables the `upower` command parser ([documentation](https://kellyjonbrazil.github.io/jc/docs/parsers/upower))
- `--uptime` enables the `uptime` command parser ([documentation](https://kellyjonbrazil.github.io/jc/docs/parsers/uptime))
- `--vmstat` enables the `vmstat` command parser ([documentation](https://kellyjonbrazil.github.io/jc/docs/parsers/vmstat))
@@ -399,9 +402,9 @@ Local parser plugins are standard python module files. Use the
or [`jc/parsers/foo_s.py (streaming)`](https://github.com/kellyjonbrazil/jc/blob/master/jc/parsers/foo_s.py)
parser as a template and simply place a `.py` file in the `jcparsers` subfolder.
-Local plugin filenames must be valid python module names, therefore must consist
-entirely of alphanumerics and start with a letter. Local plugins may override
-default parsers.
+Local plugin filenames must be valid python module names and therefore must
+start with a letter and consist entirely of alphanumerics. Local plugins
+may override default parsers.
> Note: The application data directory follows the
[XDG Base Directory Specification](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html)
@@ -1129,4 +1132,4 @@ cat istio.yaml | jc --yaml -p
]
```
-© 2019-2022 Kelly Brazil
+© 2019-2022 Kelly Brazil
\ No newline at end of file
diff --git a/docgen.sh b/docgen.sh
index 812d8aed..06ad9717 100755
--- a/docgen.sh
+++ b/docgen.sh
@@ -76,20 +76,30 @@ EOF
)
cd jc
-echo Building docs for: package
-pydoc-markdown -m jc "${readme_config}" > ../docs/readme.md
+(
+ echo Building docs for: package
+ pydoc-markdown -m jc "${readme_config}" > ../docs/readme.md; echo "+++ package docs complete"
+) &
-echo Building docs for: lib
-pydoc-markdown -m jc.lib "${toc_config}" > ../docs/lib.md
+(
+ echo Building docs for: lib
+ pydoc-markdown -m jc.lib "${toc_config}" > ../docs/lib.md; echo "+++ lib docs complete"
+) &
-echo Building docs for: utils
-pydoc-markdown -m jc.utils "${toc_config}" > ../docs/utils.md
+(
+ echo Building docs for: utils
+ pydoc-markdown -m jc.utils "${toc_config}" > ../docs/utils.md; echo "+++ utils docs complete"
+) &
-echo Building docs for: streaming
-pydoc-markdown -m jc.streaming "${toc_config}" > ../docs/streaming.md
+(
+ echo Building docs for: streaming
+ pydoc-markdown -m jc.streaming "${toc_config}" > ../docs/streaming.md; echo "+++ streaming docs complete"
+) &
-echo Building docs for: universal parser
-pydoc-markdown -m jc.parsers.universal "${toc_config}" > ../docs/parsers/universal.md
+(
+ echo Building docs for: universal parser
+ pydoc-markdown -m jc.parsers.universal "${toc_config}" > ../docs/parsers/universal.md; echo "+++ universal parser docs complete"
+) &
# a bit of inception here... jc is being used to help
# automate the generation of its own documentation. :)
@@ -103,7 +113,7 @@ do
done < <(jc -a | jq -c '.parsers[] | select(.plugin != true)')
for parser in "${parsers[@]}"
-do
+do (
parser_name=$(jq -r '.name' <<< "$parser")
compatible=$(jq -r '.compatible | join(", ")' <<< "$parser")
version=$(jq -r '.version' <<< "$parser")
@@ -117,4 +127,8 @@ do
echo "Compatibility: ${compatible}" >> ../docs/parsers/"${parser_name}".md
echo >> ../docs/parsers/"${parser_name}".md
echo "Version ${version} by ${author} (${author_email})" >> ../docs/parsers/"${parser_name}".md
+ echo "+++ ${parser_name} docs complete"
+) &
done
+wait
+echo "Document Generation Complete"
diff --git a/docs/lib.md b/docs/lib.md
index 85c3122a..c346baec 100644
--- a/docs/lib.md
+++ b/docs/lib.md
@@ -68,7 +68,7 @@ Parameters:
variants of the module name.
data: (string or data to parse (string for normal
- iterator) parsers, iterator of strings for
+ iterable) parsers, iterable of strings for
streaming parsers)
raw: (boolean) output preprocessed JSON if True
diff --git a/docs/parsers/git_log.md b/docs/parsers/git_log.md
new file mode 100644
index 00000000..b495ea49
--- /dev/null
+++ b/docs/parsers/git_log.md
@@ -0,0 +1,175 @@
+[Home](https://kellyjonbrazil.github.io/jc/)
+
+
+# jc.parsers.git\_log
+
+jc - JSON Convert `git log` command output parser
+
+Can be used with the following format options:
+- `oneline`
+- `short`
+- `medium`
+- `full`
+- `fuller`
+
+Additional options supported:
+- `--stat`
+- `--shortstat`
+
+The `epoch` calculated timestamp field is naive. (i.e. based on the
+local time of the system the parser is run on)
+
+The `epoch_utc` calculated timestamp field is timezone-aware and is
+only available if the timezone field is UTC.
+
+Usage (cli):
+
+ $ git log | jc --git-log
+
+ or
+
+ $ jc git log
+
+Usage (module):
+
+ import jc
+ result = jc.parse('git_log', git_log_command_output)
+
+Schema:
+
+ [
+ {
+ "commit": string,
+ "author": string,
+ "author_email": string,
+ "date": string,
+ "epoch": integer, [0]
+ "epoch_utc": integer, [1]
+ "commit_by": string,
+ "commit_by_email": string,
+ "commit_by_date": string,
+ "message": string,
+ "stats" : {
+ "files_changed": integer,
+ "insertions": integer,
+ "deletions": integer,
+ "files": [
+ string
+ ]
+ }
+ }
+ ]
+
+ [0] naive timestamp if "date" field is parsable, else null
+ [1] timezone aware timestamp availabe for UTC, else null
+
+Examples:
+
+ $ git log --stat | jc --git-log -p
+ [
+ {
+ "commit": "728d882ed007b3c8b785018874a0eb06e1143b66",
+ "author": "Kelly Brazil",
+ "author_email": "kellyjonbrazil@gmail.com",
+ "date": "Wed Apr 20 09:50:19 2022 -0400",
+ "stats": {
+ "files_changed": 2,
+ "insertions": 90,
+ "deletions": 12,
+ "files": [
+ "docs/parsers/git_log.md",
+ "jc/parsers/git_log.py"
+ ]
+ },
+ "message": "add timestamp docs and examples",
+ "epoch": 1650462619,
+ "epoch_utc": null
+ },
+ {
+ "commit": "b53e42aca623181aa9bc72194e6eeef1e9a3a237",
+ "author": "Kelly Brazil",
+ "author_email": "kellyjonbrazil@gmail.com",
+ "date": "Wed Apr 20 09:44:42 2022 -0400",
+ "stats": {
+ "files_changed": 5,
+ "insertions": 29,
+ "deletions": 6,
+ "files": [
+ "docs/parsers/git_log.md",
+ "docs/utils.md",
+ "jc/parsers/git_log.py",
+ "jc/utils.py",
+ "man/jc.1"
+ ]
+ },
+ "message": "add calculated timestamp",
+ "epoch": 1650462282,
+ "epoch_utc": null
+ },
+ ...
+ ]
+
+ $ git log --stat | jc --git-log -p -r
+ [
+ {
+ "commit": "728d882ed007b3c8b785018874a0eb06e1143b66",
+ "author": "Kelly Brazil",
+ "author_email": "kellyjonbrazil@gmail.com",
+ "date": "Wed Apr 20 09:50:19 2022 -0400",
+ "stats": {
+ "files_changed": "2",
+ "insertions": "90",
+ "deletions": "12",
+ "files": [
+ "docs/parsers/git_log.md",
+ "jc/parsers/git_log.py"
+ ]
+ },
+ "message": "add timestamp docs and examples"
+ },
+ {
+ "commit": "b53e42aca623181aa9bc72194e6eeef1e9a3a237",
+ "author": "Kelly Brazil",
+ "author_email": "kellyjonbrazil@gmail.com",
+ "date": "Wed Apr 20 09:44:42 2022 -0400",
+ "stats": {
+ "files_changed": "5",
+ "insertions": "29",
+ "deletions": "6",
+ "files": [
+ "docs/parsers/git_log.md",
+ "docs/utils.md",
+ "jc/parsers/git_log.py",
+ "jc/utils.py",
+ "man/jc.1"
+ ]
+ },
+ "message": "add calculated timestamp"
+ },
+ ...
+ ]
+
+
+
+### parse
+
+```python
+def parse(data: str, raw: bool = False, quiet: bool = False) -> List[Dict]
+```
+
+Main text parsing function
+
+Parameters:
+
+ data: (string) text data to parse
+ raw: (boolean) unprocessed output if True
+ quiet: (boolean) suppress warning messages if True
+
+Returns:
+
+ List of Dictionaries. Raw or processed structured data.
+
+### Parser Information
+Compatibility: linux, darwin, cygwin, win32, aix, freebsd
+
+Version 1.0 by Kelly Brazil (kellyjonbrazil@gmail.com)
diff --git a/docs/parsers/ini.md b/docs/parsers/ini.md
index cb5b555b..b0336362 100644
--- a/docs/parsers/ini.md
+++ b/docs/parsers/ini.md
@@ -6,12 +6,14 @@
jc - JSON Convert `INI` file parser
Parses standard `INI` files and files containing simple key/value pairs.
-Delimiter can be `=` or `:`. Missing values are supported. Comment prefix
-can be `#` or `;`. Comments must be on their own line.
-Note: Values starting and ending with quotation marks will have the marks
-removed. If you would like to keep the quotation marks, use the `-r`
-command-line argument or the `raw=True` argument in `parse()`.
+- Delimiter can be `=` or `:`. Missing values are supported.
+- Comment prefix can be `#` or `;`. Comments must be on their own line.
+- If duplicate keys are found, only the last value will be used.
+
+> Note: Values starting and ending with quotation marks will have the marks
+ removed. If you would like to keep the quotation marks, use the `-r`
+ command-line argument or the `raw=True` argument in `parse()`.
Usage (cli):
@@ -89,4 +91,4 @@ Returns:
### Parser Information
Compatibility: linux, darwin, cygwin, win32, aix, freebsd
-Version 1.5 by Kelly Brazil (kellyjonbrazil@gmail.com)
+Version 1.6 by Kelly Brazil (kellyjonbrazil@gmail.com)
diff --git a/docs/parsers/kv.md b/docs/parsers/kv.md
index dd03c5e9..65e8dcdc 100644
--- a/docs/parsers/kv.md
+++ b/docs/parsers/kv.md
@@ -5,13 +5,15 @@
jc - JSON Convert `Key/Value` file parser
-Supports files containing simple key/value pairs. Delimiter can be `=` or
-`:`. Missing values are supported. Comment prefix can be `#` or `;`.
-Comments must be on their own line.
+Supports files containing simple key/value pairs.
-Note: Values starting and ending with quotation marks will have the marks
-removed. If you would like to keep the quotation marks, use the `-r`
-command-line argument or the `raw=True` argument in `parse()`.
+- Delimiter can be `=` or `:`. Missing values are supported.
+- Comment prefix can be `#` or `;`. Comments must be on their own line.
+- If duplicate keys are found, only the last value will be used.
+
+> Note: Values starting and ending with quotation marks will have the marks
+ removed. If you would like to keep the quotation marks, use the `-r`
+ command-line argument or the `raw=True` argument in `parse()`.
Usage (cli):
@@ -78,4 +80,4 @@ Returns:
### Parser Information
Compatibility: linux, darwin, cygwin, win32, aix, freebsd
-Version 1.1 by Kelly Brazil (kellyjonbrazil@gmail.com)
+Version 1.2 by Kelly Brazil (kellyjonbrazil@gmail.com)
diff --git a/docs/parsers/update_alt_gs.md b/docs/parsers/update_alt_gs.md
new file mode 100644
index 00000000..61496af2
--- /dev/null
+++ b/docs/parsers/update_alt_gs.md
@@ -0,0 +1,71 @@
+[Home](https://kellyjonbrazil.github.io/jc/)
+
+
+# jc.parsers.update\_alt\_gs
+
+jc - JSON Convert `update-alternatives --get-selections` command output parser
+
+Usage (cli):
+
+ $ update-alternatives --get-selections | jc --update-alt-gs
+
+ or
+
+ $ jc update-alternatives --get-selections
+
+Usage (module):
+
+ import jc
+ result = jc.parse('update-alt-gs',
+ update_alternatives_get_selections_command_output)
+
+Schema:
+
+ [
+ {
+ "name": string,
+ "status": string,
+ "current": string
+ }
+ ]
+
+Examples:
+
+ $ update-alternatives --get-selections | jc --update-alt-gs -p
+ [
+ {
+ "name": "arptables",
+ "status": "auto",
+ "current": "/usr/sbin/arptables-nft"
+ },
+ {
+ "name": "awk",
+ "status": "auto",
+ "current": "/usr/bin/gawk"
+ }
+ ]
+
+
+
+### parse
+
+```python
+def parse(data: str, raw: bool = False, quiet: bool = False) -> List[Dict]
+```
+
+Main text parsing function
+
+Parameters:
+
+ data: (string) text data to parse
+ raw: (boolean) unprocessed output if True
+ quiet: (boolean) suppress warning messages if True
+
+Returns:
+
+ List of Dictionaries. Raw or processed structured data.
+
+### Parser Information
+Compatibility: linux
+
+Version 1.0 by Kelly Brazil (kellyjonbrazil@gmail.com)
diff --git a/docs/parsers/update_alt_q.md b/docs/parsers/update_alt_q.md
new file mode 100644
index 00000000..90f29a82
--- /dev/null
+++ b/docs/parsers/update_alt_q.md
@@ -0,0 +1,157 @@
+[Home](https://kellyjonbrazil.github.io/jc/)
+
+
+# jc.parsers.update\_alt\_q
+
+jc - JSON Convert `update-alternatives --query` command output parser
+
+Usage (cli):
+
+ $ update-alternatives --query | jc --update-alt-q
+
+ or
+
+ $ jc update-alternatives --query
+
+Usage (module):
+
+ import jc
+ result = jc.parse('update_alt_q',
+ update_alternatives_query_command_output)
+
+Schema:
+
+ {
+ "name": string,
+ "link": string,
+ "slaves": [
+ {
+ "name": string,
+ "path": string
+ }
+ ],
+ "status": string,
+ "best": string,
+ "value": string, # (null if 'none')
+ "alternatives": [
+ {
+ "alternative": string,
+ "priority": integer,
+ "slaves": [
+ {
+ "name": string,
+ "path": string
+ }
+ ]
+ }
+ ]
+ }
+
+Examples:
+
+ $ update-alternatives --query editor | jc --update-alt-q -p
+ {
+ "name": "editor",
+ "link": "/usr/bin/editor",
+ "slaves": [
+ {
+ "name": "editor.1.gz",
+ "path": "/usr/share/man/man1/editor.1.gz"
+ },
+ {
+ "name": "editor.da.1.gz",
+ "path": "/usr/share/man/da/man1/editor.1.gz"
+ }
+ ],
+ "status": "auto",
+ "best": "/bin/nano",
+ "value": "/bin/nano",
+ "alternatives": [
+ {
+ "alternative": "/bin/ed",
+ "priority": -100,
+ "slaves": [
+ {
+ "name": "editor.1.gz",
+ "path": "/usr/share/man/man1/ed.1.gz"
+ }
+ ]
+ },
+ {
+ "alternative": "/bin/nano",
+ "priority": 40,
+ "slaves": [
+ {
+ "name": "editor.1.gz",
+ "path": "/usr/share/man/man1/nano.1.gz"
+ }
+ ]
+ }
+ ]
+ }
+
+ $ update-alternatives --query | jc --update-alt-q -p -r
+ {
+ "name": "editor",
+ "link": "/usr/bin/editor",
+ "slaves": [
+ {
+ "name": "editor.1.gz",
+ "path": "/usr/share/man/man1/editor.1.gz"
+ },
+ {
+ "name": "editor.da.1.gz",
+ "path": "/usr/share/man/da/man1/editor.1.gz"
+ }
+ ],
+ "status": "auto",
+ "best": "/bin/nano",
+ "value": "/bin/nano",
+ "alternatives": [
+ {
+ "alternative": "/bin/ed",
+ "priority": "-100",
+ "slaves": [
+ {
+ "name": "editor.1.gz",
+ "path": "/usr/share/man/man1/ed.1.gz"
+ }
+ ]
+ },
+ {
+ "alternative": "/bin/nano",
+ "priority": "40",
+ "slaves": [
+ {
+ "name": "editor.1.gz",
+ "path": "/usr/share/man/man1/nano.1.gz"
+ }
+ ]
+ }
+ ]
+ }
+
+
+
+### parse
+
+```python
+def parse(data: str, raw: bool = False, quiet: bool = False) -> Dict
+```
+
+Main text parsing function
+
+Parameters:
+
+ data: (string) text data to parse
+ raw: (boolean) unprocessed output if True
+ quiet: (boolean) suppress warning messages if True
+
+Returns:
+
+ Dictionary. Raw or processed structured data.
+
+### Parser Information
+Compatibility: linux
+
+Version 1.0 by Kelly Brazil (kellyjonbrazil@gmail.com)
diff --git a/docs/parsers/xrandr.md b/docs/parsers/xrandr.md
index d5db0551..4369a464 100644
--- a/docs/parsers/xrandr.md
+++ b/docs/parsers/xrandr.md
@@ -54,7 +54,8 @@ Schema:
"offset_width": integer,
"offset_height": integer,
"dimension_width": integer,
- "dimension_height": integer
+ "dimension_height": integer,
+ "rotation": string
}
],
"unassociated_devices": [
@@ -130,7 +131,8 @@ Examples:
"offset_width": 0,
"offset_height": 0,
"dimension_width": 310,
- "dimension_height": 170
+ "dimension_height": 170,
+ "rotation": "normal"
}
}
],
@@ -160,4 +162,4 @@ Returns:
### Parser Information
Compatibility: linux, darwin, cygwin, aix, freebsd
-Version 1.0 by Kevin Lyter (lyter_git at sent.com)
+Version 1.1 by Kevin Lyter (lyter_git at sent.com)
diff --git a/docs/parsers/yaml.md b/docs/parsers/yaml.md
index bd4c6c70..bf98d5da 100644
--- a/docs/parsers/yaml.md
+++ b/docs/parsers/yaml.md
@@ -5,6 +5,8 @@
jc - JSON Convert `YAML` file parser
+Note: datetime objects will be converted to strings.
+
Usage (cli):
$ cat foo.yaml | jc --yaml
@@ -107,4 +109,4 @@ Returns:
### Parser Information
Compatibility: linux, darwin, cygwin, win32, aix, freebsd
-Version 1.6 by Kelly Brazil (kellyjonbrazil@gmail.com)
+Version 1.7 by Kelly Brazil (kellyjonbrazil@gmail.com)
diff --git a/docs/utils.md b/docs/utils.md
index f35a53a4..b400bcbd 100644
--- a/docs/utils.md
+++ b/docs/utils.md
@@ -187,7 +187,7 @@ class timestamp()
```python
def __init__(datetime_string: str,
- format_hint: Union[List, Tuple, None] = None) -> None
+ format_hint: Optional[Iterable] = None) -> None
```
Input a datetime text string of several formats and convert to a
@@ -198,7 +198,7 @@ Parameters:
datetime_string (str): a string representation of a
datetime in several supported formats
- format_hint (list | tuple): an optional list of format ID
+ format_hint (iterable): an optional iterable of format ID
integers to instruct the timestamp object to try those
formats first in the order given. Other formats will be
tried after the format hint list is exhausted. This can
diff --git a/jc/cli.py b/jc/cli.py
index ae8949f9..976ceabb 100644
--- a/jc/cli.py
+++ b/jc/cli.py
@@ -37,7 +37,7 @@ class info():
author = 'Kelly Brazil'
author_email = 'kellyjonbrazil@gmail.com'
website = 'https://github.com/kellyjonbrazil/jc'
- copyright = '© 2019-2022 Kelly Brazil'
+ copyright = f'© 2019-2022 Kelly Brazil'
license = 'MIT License'
@@ -84,6 +84,16 @@ if PYGMENTS_INSTALLED:
}
+def asciify(string):
+ """
+ Return a string downgraded from Unicode to ASCII with some simple
+ conversions.
+ """
+ string = string.replace('©', '(c)')
+ string = ascii(string)
+ return string.replace(r'\n', '\n')
+
+
def set_env_colors(env_colors=None):
"""
Return a dictionary to be used in Pygments custom style class.
@@ -177,6 +187,8 @@ def about_jc():
'website': info.website,
'copyright': info.copyright,
'license': info.license,
+ 'python_version': '.'.join((str(sys.version_info.major), str(sys.version_info.minor), str(sys.version_info.micro))),
+ 'python_path': sys.executable,
'parser_count': len(all_parser_info()),
'parsers': all_parser_info()
}
@@ -249,8 +261,12 @@ def help_doc(options):
def versiontext():
"""Return the version text"""
+ py_ver = '.'.join((str(sys.version_info.major), str(sys.version_info.minor), str(sys.version_info.micro)))
versiontext_string = f'''\
- jc version {info.version}
+ jc version: {info.version}
+ python interpreter version: {py_ver}
+ python path: {sys.executable}
+
{info.website}
{info.copyright}'''
return textwrap.dedent(versiontext_string)
@@ -273,10 +289,23 @@ def json_out(data, pretty=False, env_colors=None, mono=False, piped_out=False):
class JcStyle(Style):
styles = set_env_colors(env_colors)
- return str(highlight(json.dumps(data, indent=indent, separators=separators, ensure_ascii=False),
- JsonLexer(), Terminal256Formatter(style=JcStyle))[0:-1])
+ try:
+ return str(highlight(json.dumps(data,
+ indent=indent,
+ separators=separators,
+ ensure_ascii=False),
+ JsonLexer(), Terminal256Formatter(style=JcStyle))[0:-1])
+ except UnicodeEncodeError:
+ return str(highlight(json.dumps(data,
+ indent=indent,
+ separators=separators,
+ ensure_ascii=True),
+ JsonLexer(), Terminal256Formatter(style=JcStyle))[0:-1])
- return json.dumps(data, indent=indent, separators=separators, ensure_ascii=False)
+ try:
+ return json.dumps(data, indent=indent, separators=separators, ensure_ascii=False)
+ except UnicodeEncodeError:
+ return json.dumps(data, indent=indent, separators=separators, ensure_ascii=True)
def magic_parser(args):
@@ -422,11 +451,17 @@ def main():
sys.exit(0)
if help_me:
- print(help_doc(sys.argv))
+ try:
+ print(help_doc(sys.argv))
+ except UnicodeEncodeError:
+ print(asciify(help_doc(sys.argv)))
sys.exit(0)
if version_info:
- print(versiontext())
+ try:
+ print(versiontext())
+ except UnicodeEncodeError:
+ print(asciify(versiontext()))
sys.exit(0)
# if magic syntax used, try to run the command and error if it's not found, etc.
diff --git a/jc/lib.py b/jc/lib.py
index bc6754bd..252a1171 100644
--- a/jc/lib.py
+++ b/jc/lib.py
@@ -6,7 +6,7 @@ import importlib
from typing import Dict, List, Iterable, Union, Iterator
from jc import appdirs
-__version__ = '1.18.6'
+__version__ = '1.18.7'
parsers = [
'acpi',
@@ -33,6 +33,7 @@ parsers = [
'finger',
'free',
'fstab',
+ 'git-log',
'group',
'gshadow',
'hash',
@@ -93,6 +94,8 @@ parsers = [
'ufw',
'ufw-appinfo',
'uname',
+ 'update-alt-gs',
+ 'update-alt-q',
'upower',
'uptime',
'vmstat',
@@ -206,7 +209,7 @@ def parse(
variants of the module name.
data: (string or data to parse (string for normal
- iterator) parsers, iterator of strings for
+ iterable) parsers, iterable of strings for
streaming parsers)
raw: (boolean) output preprocessed JSON if True
diff --git a/jc/parsers/git_log.py b/jc/parsers/git_log.py
new file mode 100644
index 00000000..e72a5e88
--- /dev/null
+++ b/jc/parsers/git_log.py
@@ -0,0 +1,329 @@
+"""jc - JSON Convert `git log` command output parser
+
+Can be used with the following format options:
+- `oneline`
+- `short`
+- `medium`
+- `full`
+- `fuller`
+
+Additional options supported:
+- `--stat`
+- `--shortstat`
+
+The `epoch` calculated timestamp field is naive. (i.e. based on the
+local time of the system the parser is run on)
+
+The `epoch_utc` calculated timestamp field is timezone-aware and is
+only available if the timezone field is UTC.
+
+Usage (cli):
+
+ $ git log | jc --git-log
+
+ or
+
+ $ jc git log
+
+Usage (module):
+
+ import jc
+ result = jc.parse('git_log', git_log_command_output)
+
+Schema:
+
+ [
+ {
+ "commit": string,
+ "author": string,
+ "author_email": string,
+ "date": string,
+ "epoch": integer, [0]
+ "epoch_utc": integer, [1]
+ "commit_by": string,
+ "commit_by_email": string,
+ "commit_by_date": string,
+ "message": string,
+ "stats" : {
+ "files_changed": integer,
+ "insertions": integer,
+ "deletions": integer,
+ "files": [
+ string
+ ]
+ }
+ }
+ ]
+
+ [0] naive timestamp if "date" field is parsable, else null
+ [1] timezone aware timestamp availabe for UTC, else null
+
+Examples:
+
+ $ git log --stat | jc --git-log -p
+ [
+ {
+ "commit": "728d882ed007b3c8b785018874a0eb06e1143b66",
+ "author": "Kelly Brazil",
+ "author_email": "kellyjonbrazil@gmail.com",
+ "date": "Wed Apr 20 09:50:19 2022 -0400",
+ "stats": {
+ "files_changed": 2,
+ "insertions": 90,
+ "deletions": 12,
+ "files": [
+ "docs/parsers/git_log.md",
+ "jc/parsers/git_log.py"
+ ]
+ },
+ "message": "add timestamp docs and examples",
+ "epoch": 1650462619,
+ "epoch_utc": null
+ },
+ {
+ "commit": "b53e42aca623181aa9bc72194e6eeef1e9a3a237",
+ "author": "Kelly Brazil",
+ "author_email": "kellyjonbrazil@gmail.com",
+ "date": "Wed Apr 20 09:44:42 2022 -0400",
+ "stats": {
+ "files_changed": 5,
+ "insertions": 29,
+ "deletions": 6,
+ "files": [
+ "docs/parsers/git_log.md",
+ "docs/utils.md",
+ "jc/parsers/git_log.py",
+ "jc/utils.py",
+ "man/jc.1"
+ ]
+ },
+ "message": "add calculated timestamp",
+ "epoch": 1650462282,
+ "epoch_utc": null
+ },
+ ...
+ ]
+
+ $ git log --stat | jc --git-log -p -r
+ [
+ {
+ "commit": "728d882ed007b3c8b785018874a0eb06e1143b66",
+ "author": "Kelly Brazil",
+ "author_email": "kellyjonbrazil@gmail.com",
+ "date": "Wed Apr 20 09:50:19 2022 -0400",
+ "stats": {
+ "files_changed": "2",
+ "insertions": "90",
+ "deletions": "12",
+ "files": [
+ "docs/parsers/git_log.md",
+ "jc/parsers/git_log.py"
+ ]
+ },
+ "message": "add timestamp docs and examples"
+ },
+ {
+ "commit": "b53e42aca623181aa9bc72194e6eeef1e9a3a237",
+ "author": "Kelly Brazil",
+ "author_email": "kellyjonbrazil@gmail.com",
+ "date": "Wed Apr 20 09:44:42 2022 -0400",
+ "stats": {
+ "files_changed": "5",
+ "insertions": "29",
+ "deletions": "6",
+ "files": [
+ "docs/parsers/git_log.md",
+ "docs/utils.md",
+ "jc/parsers/git_log.py",
+ "jc/utils.py",
+ "man/jc.1"
+ ]
+ },
+ "message": "add calculated timestamp"
+ },
+ ...
+ ]
+"""
+import re
+from typing import List, Dict
+import jc.utils
+
+hash_pattern = re.compile(r'([0-9]|[a-f])+')
+changes_pattern = re.compile(r'\s(?P\d+)\s+(files? changed),\s+(?P\d+)\s(insertions?\(\+\))?(,\s+)?(?P\d+)?(\s+deletions?\(\-\))?')
+
+class info():
+ """Provides parser metadata (version, author, etc.)"""
+ version = '1.0'
+ description = '`git log` command parser'
+ author = 'Kelly Brazil'
+ author_email = 'kellyjonbrazil@gmail.com'
+ compatible = ['linux', 'darwin', 'cygwin', 'win32', 'aix', 'freebsd']
+ magic_commands = ['git log']
+
+
+__version__ = info.version
+
+
+def _process(proc_data: List[Dict]) -> List[Dict]:
+ """
+ Final processing to conform to the schema.
+
+ Parameters:
+
+ proc_data: (List of Dictionaries) raw structured data to process
+
+ Returns:
+
+ List of Dictionaries. Structured to conform to the schema.
+ """
+ int_list = ['files_changed', 'insertions', 'deletions']
+
+ for entry in proc_data:
+ if 'date' in entry:
+ ts = jc.utils.timestamp(entry['date'], format_hint=(1100,))
+ entry['epoch'] = ts.naive
+ entry['epoch_utc'] = ts.utc
+
+ if 'stats' in entry:
+ for key in entry['stats']:
+ if key in int_list:
+ entry['stats'][key] = jc.utils.convert_to_int(entry['stats'][key])
+ return proc_data
+
+
+def _is_commit_hash(hash_string: str) -> bool:
+ # 0c55240e9da30ac4293dc324f1094de2abd3da91
+ if len(hash_string) != 40:
+ return False
+
+ if hash_pattern.match(hash_string):
+ return True
+
+ return False
+
+
+def parse(
+ data: str,
+ raw: bool = False,
+ quiet: bool = False
+) -> List[Dict]:
+ """
+ Main text parsing function
+
+ Parameters:
+
+ data: (string) text data to parse
+ raw: (boolean) unprocessed output if True
+ quiet: (boolean) suppress warning messages if True
+
+ Returns:
+
+ List of Dictionaries. Raw or processed structured data.
+ """
+ jc.utils.compatibility(__name__, info.compatible, quiet)
+ jc.utils.input_type_check(data)
+
+ raw_output: List = []
+ output_line: Dict = {}
+ message_lines: List[str] = []
+ file_list: List[str] = []
+
+ if jc.utils.has_data(data):
+
+ for line in data.splitlines():
+ line_list = line.split(maxsplit=1)
+
+ # oneline style
+ if line_list and _is_commit_hash(line_list[0]):
+ if output_line:
+ if file_list:
+ output_line['stats']['files'] = file_list
+
+ raw_output.append(output_line)
+ output_line = {}
+ message_lines = []
+ file_list = []
+ output_line = {
+ 'commit': line_list[0],
+ 'message': line_list[1]
+ }
+ continue
+
+ # all other styles
+ if line.startswith('commit '):
+ if output_line:
+ if message_lines:
+ output_line['message'] = '\n'.join(message_lines)
+
+ if file_list:
+ output_line['stats']['files'] = file_list
+
+ raw_output.append(output_line)
+ output_line = {}
+ message_lines = []
+ file_list = []
+ output_line['commit'] = line_list[1]
+ continue
+
+ if line.startswith('Merge: '):
+ output_line['merge'] = line_list[1]
+ continue
+
+ if line.startswith('Author: '):
+ values = line_list[1].rsplit(maxsplit=1)
+ output_line['author'] = values[0]
+ output_line['author_email'] = values[1].strip('<').strip('>')
+ continue
+
+ if line.startswith('Date: '):
+ output_line['date'] = line_list[1]
+ continue
+
+ if line.startswith('AuthorDate: '):
+ output_line['date'] = line_list[1]
+ continue
+
+ if line.startswith('CommitDate: '):
+ output_line['commit_by_date'] = line_list[1]
+ continue
+
+ if line.startswith('Commit: '):
+ values = line_list[1].rsplit(maxsplit=1)
+ output_line['commit_by'] = values[0]
+ output_line['commit_by_email'] = values[1].strip('<').strip('>')
+ continue
+
+ if line.startswith(' '):
+ message_lines.append(line.strip())
+ continue
+
+ if line.startswith(' ') and 'changed, ' not in line:
+ # this is a file name
+ file_name = line.split('|')[0].strip()
+ file_list.append(file_name)
+ continue
+
+ if line.startswith(' ') and 'changed, ' in line:
+ # this is the stat summary
+ changes = changes_pattern.match(line)
+ if changes:
+ files = changes['files']
+ insertions = changes['insertions']
+ deletions = changes['deletions']
+
+ output_line['stats'] = {
+ 'files_changed': files or '0',
+ 'insertions': insertions or '0',
+ 'deletions': deletions or '0'
+ }
+
+ if output_line:
+ if message_lines:
+ output_line['message'] = '\n'.join(message_lines)
+
+ if file_list:
+ output_line['stats']['files'] = file_list
+
+ raw_output.append(output_line)
+
+ return raw_output if raw else _process(raw_output)
diff --git a/jc/parsers/ini.py b/jc/parsers/ini.py
index b476937e..8e771a9c 100644
--- a/jc/parsers/ini.py
+++ b/jc/parsers/ini.py
@@ -1,12 +1,14 @@
"""jc - JSON Convert `INI` file parser
Parses standard `INI` files and files containing simple key/value pairs.
-Delimiter can be `=` or `:`. Missing values are supported. Comment prefix
-can be `#` or `;`. Comments must be on their own line.
-Note: Values starting and ending with quotation marks will have the marks
-removed. If you would like to keep the quotation marks, use the `-r`
-command-line argument or the `raw=True` argument in `parse()`.
+- Delimiter can be `=` or `:`. Missing values are supported.
+- Comment prefix can be `#` or `;`. Comments must be on their own line.
+- If duplicate keys are found, only the last value will be used.
+
+> Note: Values starting and ending with quotation marks will have the marks
+ removed. If you would like to keep the quotation marks, use the `-r`
+ command-line argument or the `raw=True` argument in `parse()`.
Usage (cli):
@@ -67,7 +69,7 @@ import configparser
class info():
"""Provides parser metadata (version, author, etc.)"""
- version = '1.5'
+ version = '1.6'
description = 'INI file parser'
author = 'Kelly Brazil'
author_email = 'kellyjonbrazil@gmail.com'
@@ -135,7 +137,9 @@ def parse(data, raw=False, quiet=False):
if jc.utils.has_data(data):
- ini = configparser.ConfigParser(allow_no_value=True, interpolation=None)
+ ini = configparser.ConfigParser(allow_no_value=True,
+ interpolation=None,
+ strict=False)
try:
ini.read_string(data)
raw_output = {s: dict(ini.items(s)) for s in ini.sections()}
diff --git a/jc/parsers/kv.py b/jc/parsers/kv.py
index 2d5feee5..9706cfbd 100644
--- a/jc/parsers/kv.py
+++ b/jc/parsers/kv.py
@@ -1,12 +1,14 @@
"""jc - JSON Convert `Key/Value` file parser
-Supports files containing simple key/value pairs. Delimiter can be `=` or
-`:`. Missing values are supported. Comment prefix can be `#` or `;`.
-Comments must be on their own line.
+Supports files containing simple key/value pairs.
-Note: Values starting and ending with quotation marks will have the marks
-removed. If you would like to keep the quotation marks, use the `-r`
-command-line argument or the `raw=True` argument in `parse()`.
+- Delimiter can be `=` or `:`. Missing values are supported.
+- Comment prefix can be `#` or `;`. Comments must be on their own line.
+- If duplicate keys are found, only the last value will be used.
+
+> Note: Values starting and ending with quotation marks will have the marks
+ removed. If you would like to keep the quotation marks, use the `-r`
+ command-line argument or the `raw=True` argument in `parse()`.
Usage (cli):
@@ -52,7 +54,7 @@ Examples:
class info():
"""Provides parser metadata (version, author, etc.)"""
- version = '1.1'
+ version = '1.2'
description = 'Key/Value file parser'
author = 'Kelly Brazil'
author_email = 'kellyjonbrazil@gmail.com'
diff --git a/jc/parsers/update_alt_gs.py b/jc/parsers/update_alt_gs.py
new file mode 100644
index 00000000..13ff4c5e
--- /dev/null
+++ b/jc/parsers/update_alt_gs.py
@@ -0,0 +1,111 @@
+"""jc - JSON Convert `update-alternatives --get-selections` command output parser
+
+Usage (cli):
+
+ $ update-alternatives --get-selections | jc --update-alt-gs
+
+ or
+
+ $ jc update-alternatives --get-selections
+
+Usage (module):
+
+ import jc
+ result = jc.parse('update-alt-gs',
+ update_alternatives_get_selections_command_output)
+
+Schema:
+
+ [
+ {
+ "name": string,
+ "status": string,
+ "current": string
+ }
+ ]
+
+Examples:
+
+ $ update-alternatives --get-selections | jc --update-alt-gs -p
+ [
+ {
+ "name": "arptables",
+ "status": "auto",
+ "current": "/usr/sbin/arptables-nft"
+ },
+ {
+ "name": "awk",
+ "status": "auto",
+ "current": "/usr/bin/gawk"
+ }
+ ]
+"""
+from typing import List, Dict
+import jc.utils
+
+
+class info():
+ """Provides parser metadata (version, author, etc.)"""
+ version = '1.0'
+ description = '`update-alternatives --get-selections` command parser'
+ author = 'Kelly Brazil'
+ author_email = 'kellyjonbrazil@gmail.com'
+ compatible = ['linux']
+ magic_commands = ['update-alternatives --get-selections']
+
+
+__version__ = info.version
+
+
+def _process(proc_data: List[Dict]) -> List[Dict]:
+ """
+ Final processing to conform to the schema.
+
+ Parameters:
+
+ proc_data: (List of Dictionaries) raw structured data to process
+
+ Returns:
+
+ List of Dictionaries. Structured to conform to the schema.
+ """
+ # nothing to process
+ return proc_data
+
+
+def parse(
+ data: str,
+ raw: bool = False,
+ quiet: bool = False
+) -> List[Dict]:
+ """
+ Main text parsing function
+
+ Parameters:
+
+ data: (string) text data to parse
+ raw: (boolean) unprocessed output if True
+ quiet: (boolean) suppress warning messages if True
+
+ Returns:
+
+ List of Dictionaries. Raw or processed structured data.
+ """
+ jc.utils.compatibility(__name__, info.compatible, quiet)
+ jc.utils.input_type_check(data)
+
+ raw_output: List = []
+ output_line = {}
+
+ if jc.utils.has_data(data):
+
+ for line in filter(None, data.splitlines()):
+ line_list = line.split(maxsplit=2)
+ output_line = {
+ "name": line_list[0],
+ "status": line_list[1],
+ "current": line_list[2]
+ }
+ raw_output.append(output_line)
+
+ return raw_output if raw else _process(raw_output)
diff --git a/jc/parsers/update_alt_q.py b/jc/parsers/update_alt_q.py
new file mode 100644
index 00000000..625e15dd
--- /dev/null
+++ b/jc/parsers/update_alt_q.py
@@ -0,0 +1,261 @@
+"""jc - JSON Convert `update-alternatives --query` command output parser
+
+Usage (cli):
+
+ $ update-alternatives --query | jc --update-alt-q
+
+ or
+
+ $ jc update-alternatives --query
+
+Usage (module):
+
+ import jc
+ result = jc.parse('update_alt_q',
+ update_alternatives_query_command_output)
+
+Schema:
+
+ {
+ "name": string,
+ "link": string,
+ "slaves": [
+ {
+ "name": string,
+ "path": string
+ }
+ ],
+ "status": string,
+ "best": string,
+ "value": string, # (null if 'none')
+ "alternatives": [
+ {
+ "alternative": string,
+ "priority": integer,
+ "slaves": [
+ {
+ "name": string,
+ "path": string
+ }
+ ]
+ }
+ ]
+ }
+
+Examples:
+
+ $ update-alternatives --query editor | jc --update-alt-q -p
+ {
+ "name": "editor",
+ "link": "/usr/bin/editor",
+ "slaves": [
+ {
+ "name": "editor.1.gz",
+ "path": "/usr/share/man/man1/editor.1.gz"
+ },
+ {
+ "name": "editor.da.1.gz",
+ "path": "/usr/share/man/da/man1/editor.1.gz"
+ }
+ ],
+ "status": "auto",
+ "best": "/bin/nano",
+ "value": "/bin/nano",
+ "alternatives": [
+ {
+ "alternative": "/bin/ed",
+ "priority": -100,
+ "slaves": [
+ {
+ "name": "editor.1.gz",
+ "path": "/usr/share/man/man1/ed.1.gz"
+ }
+ ]
+ },
+ {
+ "alternative": "/bin/nano",
+ "priority": 40,
+ "slaves": [
+ {
+ "name": "editor.1.gz",
+ "path": "/usr/share/man/man1/nano.1.gz"
+ }
+ ]
+ }
+ ]
+ }
+
+ $ update-alternatives --query | jc --update-alt-q -p -r
+ {
+ "name": "editor",
+ "link": "/usr/bin/editor",
+ "slaves": [
+ {
+ "name": "editor.1.gz",
+ "path": "/usr/share/man/man1/editor.1.gz"
+ },
+ {
+ "name": "editor.da.1.gz",
+ "path": "/usr/share/man/da/man1/editor.1.gz"
+ }
+ ],
+ "status": "auto",
+ "best": "/bin/nano",
+ "value": "/bin/nano",
+ "alternatives": [
+ {
+ "alternative": "/bin/ed",
+ "priority": "-100",
+ "slaves": [
+ {
+ "name": "editor.1.gz",
+ "path": "/usr/share/man/man1/ed.1.gz"
+ }
+ ]
+ },
+ {
+ "alternative": "/bin/nano",
+ "priority": "40",
+ "slaves": [
+ {
+ "name": "editor.1.gz",
+ "path": "/usr/share/man/man1/nano.1.gz"
+ }
+ ]
+ }
+ ]
+ }
+"""
+from typing import List, Dict
+import jc.utils
+
+
+class info():
+ """Provides parser metadata (version, author, etc.)"""
+ version = '1.0'
+ description = '`update-alternatives --query` command parser'
+ author = 'Kelly Brazil'
+ author_email = 'kellyjonbrazil@gmail.com'
+ compatible = ['linux']
+ magic_commands = ['update-alternatives --query']
+
+
+__version__ = info.version
+
+
+def _process(proc_data: Dict) -> Dict:
+ """
+ Final processing to conform to the schema.
+
+ Parameters:
+
+ proc_data: (Dictionary) raw structured data to process
+
+ Returns:
+
+ Dictionary. Structured to conform to the schema.
+ """
+ int_list = ['priority']
+
+ if 'value' in proc_data:
+ if proc_data['value'] == 'none':
+ proc_data['value'] = None
+
+ if 'alternatives' in proc_data:
+ for index, alt in enumerate(proc_data['alternatives']):
+ for key in alt:
+ if key in int_list:
+ proc_data['alternatives'][index][key] = jc.utils.convert_to_int(proc_data['alternatives'][index][key])
+
+ return proc_data
+
+
+def parse(
+ data: str,
+ raw: bool = False,
+ quiet: bool = False
+) -> Dict:
+ """
+ Main text parsing function
+
+ Parameters:
+
+ data: (string) text data to parse
+ raw: (boolean) unprocessed output if True
+ quiet: (boolean) suppress warning messages if True
+
+ Returns:
+
+ Dictionary. Raw or processed structured data.
+ """
+ jc.utils.compatibility(__name__, info.compatible, quiet)
+ jc.utils.input_type_check(data)
+
+ raw_output: Dict = {}
+ slaves: List = []
+ alt_obj: Dict = {}
+
+ if jc.utils.has_data(data):
+
+ for line in filter(None, data.splitlines()):
+ line_list = line.split(maxsplit=1)
+
+ if line.startswith('Name: '):
+ raw_output['name'] = line_list[1]
+ continue
+
+ if line.startswith('Link: '):
+ raw_output['link'] = line_list[1]
+ continue
+
+ if line.startswith('Slaves:'):
+ continue
+
+ if line.startswith(' '):
+ s_name = line_list[0].strip()
+ s_path = line_list[1]
+ slaves.append(
+ {
+ "name": s_name,
+ "path": s_path
+ }
+ )
+ continue
+
+ if line.startswith('Status: '):
+ if slaves:
+ raw_output['slaves'] = slaves
+ slaves = []
+ raw_output['status'] = line_list[1]
+ continue
+
+ if line.startswith('Best: '):
+ raw_output['best'] = line_list[1]
+ continue
+
+ if line.startswith('Value: '):
+ raw_output['value'] = line_list[1]
+ continue
+
+ if line.startswith('Alternative: '):
+ if not 'alternatives' in raw_output:
+ raw_output['alternatives'] = []
+
+ if slaves:
+ alt_obj['slaves'] = slaves
+ raw_output['alternatives'].append(alt_obj)
+ slaves = []
+
+ alt_obj = {"alternative": line_list[1]}
+ continue
+
+ if line.startswith('Priority: '):
+ alt_obj['priority'] = line_list[1]
+ continue
+
+ if alt_obj:
+ if slaves:
+ alt_obj['slaves'] = slaves
+ raw_output['alternatives'].append(alt_obj)
+
+ return raw_output if raw else _process(raw_output)
diff --git a/jc/parsers/xrandr.py b/jc/parsers/xrandr.py
index f9c0853e..a6da4512 100644
--- a/jc/parsers/xrandr.py
+++ b/jc/parsers/xrandr.py
@@ -49,7 +49,8 @@ Schema:
"offset_width": integer,
"offset_height": integer,
"dimension_width": integer,
- "dimension_height": integer
+ "dimension_height": integer,
+ "rotation": string
}
],
"unassociated_devices": [
@@ -125,7 +126,8 @@ Examples:
"offset_width": 0,
"offset_height": 0,
"dimension_width": 310,
- "dimension_height": 170
+ "dimension_height": 170,
+ "rotation": "normal"
}
}
],
@@ -140,7 +142,7 @@ import jc.utils
class info:
"""Provides parser metadata (version, author, etc.)"""
- version = "1.0"
+ version = "1.1"
description = "`xrandr` command parser"
author = "Kevin Lyter"
author_email = "lyter_git at sent.com"
@@ -252,6 +254,7 @@ _device_pattern = (
+ "(?P primary)? ?"
+ "((?P\d+)x(?P\d+)"
+ "\+(?P\d+)\+(?P\d+))? "
+ + "(?P(inverted|left|right))? ?"
+ "\(normal left inverted right x axis y axis\)"
+ "( ((?P\d+)mm x (?P\d+)mm)?)?"
)
@@ -275,9 +278,10 @@ def _parse_device(next_lines: List[str], quiet: bool = False) -> Optional[Device
"is_primary": matches["is_primary"] is not None
and len(matches["is_primary"]) > 0,
"device_name": matches["device_name"],
+ "rotation": matches["rotation"] or "normal",
}
for k, v in matches.items():
- if k not in {"is_connected", "is_primary", "device_name"}:
+ if k not in {"is_connected", "is_primary", "device_name", "rotation"}:
try:
if v:
device[k] = int(v)
diff --git a/jc/parsers/yaml.py b/jc/parsers/yaml.py
index f55b2acb..21b84d14 100644
--- a/jc/parsers/yaml.py
+++ b/jc/parsers/yaml.py
@@ -1,5 +1,7 @@
"""jc - JSON Convert `YAML` file parser
+Note: datetime objects will be converted to strings.
+
Usage (cli):
$ cat foo.yaml | jc --yaml
@@ -85,7 +87,7 @@ from jc.exceptions import LibraryNotInstalled
class info():
"""Provides parser metadata (version, author, etc.)"""
- version = '1.6'
+ version = '1.7'
description = 'YAML file parser'
author = 'Kelly Brazil'
author_email = 'kellyjonbrazil@gmail.com'
@@ -147,6 +149,11 @@ def parse(data, raw=False, quiet=False):
yaml = YAML(typ='safe')
+ # modify the timestamp constructor to output datetime objects as
+ # strings since JSON does not support datetime objects
+ yaml.constructor.yaml_constructors['tag:yaml.org,2002:timestamp'] = \
+ yaml.constructor.yaml_constructors['tag:yaml.org,2002:str']
+
for document in yaml.load_all(data):
raw_output.append(document)
diff --git a/jc/utils.py b/jc/utils.py
index 8aa0a75d..bb03bff1 100644
--- a/jc/utils.py
+++ b/jc/utils.py
@@ -6,7 +6,7 @@ import shutil
from datetime import datetime, timezone
from textwrap import TextWrapper
from functools import lru_cache
-from typing import List, Tuple, Union, Optional
+from typing import List, Iterable, Union, Optional
def warning_message(message_lines: List[str]) -> None:
@@ -233,7 +233,7 @@ def input_type_check(data: str) -> None:
class timestamp:
def __init__(self,
datetime_string: str,
- format_hint: Union[List, Tuple, None] = None
+ format_hint: Optional[Iterable] = None
) -> None:
"""
Input a datetime text string of several formats and convert to a
@@ -244,7 +244,7 @@ class timestamp:
datetime_string (str): a string representation of a
datetime in several supported formats
- format_hint (list | tuple): an optional list of format ID
+ format_hint (iterable): an optional iterable of format ID
integers to instruct the timestamp object to try those
formats first in the order given. Other formats will be
tried after the format hint list is exhausted. This can
@@ -361,6 +361,7 @@ class timestamp:
formats = [
{'id': 1000, 'format': '%a %b %d %H:%M:%S %Y', 'locale': None}, # manual C locale format conversion: Tue Mar 23 16:12:11 2021 or Tue Mar 23 16:12:11 IST 2021
+ {'id': 1100, 'format': '%a %b %d %H:%M:%S %Y %z', 'locale': None}, # git date output: Thu Mar 5 09:17:40 2020 -0800
{'id': 1500, 'format': '%Y-%m-%d %H:%M', 'locale': None}, # en_US.UTF-8 local format (found in who cli output): 2021-03-23 00:14
{'id': 1600, 'format': '%m/%d/%Y %I:%M %p', 'locale': None}, # Windows english format (found in dir cli output): 12/07/2019 02:09 AM
{'id': 1700, 'format': '%m/%d/%Y, %I:%M:%S %p', 'locale': None}, # Windows english format wint non-UTC tz (found in systeminfo cli output): 3/22/2021, 1:15:51 PM (UTC-0600)
diff --git a/man/jc.1 b/man/jc.1
index 1be3e8e5..e0be7db5 100644
--- a/man/jc.1
+++ b/man/jc.1
@@ -1,4 +1,4 @@
-.TH jc 1 2022-03-25 1.18.6 "JSON Convert"
+.TH jc 1 2022-04-25 1.18.7 "JSON Convert"
.SH NAME
jc \- JSONifies the output of many CLI tools and file-types
.SH SYNOPSIS
@@ -137,6 +137,11 @@ CSV file streaming parser
\fB--fstab\fP
`/etc/fstab` file parser
+.TP
+.B
+\fB--git-log\fP
+`git log` command parser
+
.TP
.B
\fB--group\fP
@@ -437,6 +442,16 @@ Key/Value file parser
\fB--uname\fP
`uname -a` command parser
+.TP
+.B
+\fB--update-alt-gs\fP
+`update-alternatives --get-selections` command parser
+
+.TP
+.B
+\fB--update-alt-q\fP
+`update-alternatives --query` command parser
+
.TP
.B
\fB--upower\fP
diff --git a/setup.py b/setup.py
index 187a3a79..2bf6de38 100755
--- a/setup.py
+++ b/setup.py
@@ -5,7 +5,7 @@ with open('README.md', 'r') as f:
setuptools.setup(
name='jc',
- version='1.18.6',
+ version='1.18.7',
author='Kelly Brazil',
author_email='kellyjonbrazil@gmail.com',
description='Converts the output of popular command-line tools and file-types to JSON.',
diff --git a/templates/readme_template b/templates/readme_template
index 233b025f..e3c65370 100644
--- a/templates/readme_template
+++ b/templates/readme_template
@@ -106,17 +106,17 @@ pip3 install jc
### OS Package Repositories
-| OS | Command |
-|-----------------------|-------------------------------------------------------------------------------|
-| Debian/Ubuntu linux | `apt-get install jc` |
-| Fedora linux | `dnf install jc` |
-| openSUSE linux | `zypper install jc` |
-| Arch linux | `pacman -S jc` |
-| NixOS linux | `nix-env -iA nixpkgs.jc` or `nix-env -iA nixos.jc` |
-| Guix System linux | `guix install jc` |
-| macOS | `brew install jc` |
-| FreeBSD | `portsnap fetch update && cd /usr/ports/textproc/py-jc && make install clean` |
-| Ansible filter plugin | `ansible-galaxy collection install community.general` |
+| OS | Command |
+|--------------------------------------|-------------------------------------------------------------------------------|
+| Debian/Ubuntu linux | `apt-get install jc` |
+| Fedora linux | `dnf install jc` |
+| openSUSE linux | `zypper install jc` |
+| Archlinux User Repositories (AUR) | `paru -S jc` or `aura -A jc` or `yay -S jc` |
+| NixOS linux | `nix-env -iA nixpkgs.jc` or `nix-env -iA nixos.jc` |
+| Guix System linux | `guix install jc` |
+| macOS | `brew install jc` |
+| FreeBSD | `portsnap fetch update && cd /usr/ports/textproc/py-jc && make install clean` |
+| Ansible filter plugin | `ansible-galaxy collection install community.general` |
> For more OS Packages, see https://repology.org/project/jc/versions.
@@ -305,9 +305,9 @@ Local parser plugins are standard python module files. Use the
or [`jc/parsers/foo_s.py (streaming)`](https://github.com/kellyjonbrazil/jc/blob/master/jc/parsers/foo_s.py)
parser as a template and simply place a `.py` file in the `jcparsers` subfolder.
-Local plugin filenames must be valid python module names, therefore must consist
-entirely of alphanumerics and start with a letter. Local plugins may override
-default parsers.
+Local plugin filenames must be valid python module names and therefore must
+start with a letter and consist entirely of alphanumerics. Local plugins
+may override default parsers.
> Note: The application data directory follows the
[XDG Base Directory Specification](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html)
diff --git a/tests/fixtures/generic/git-log-full-shortstat.json b/tests/fixtures/generic/git-log-full-shortstat.json
new file mode 100644
index 00000000..58cf1422
--- /dev/null
+++ b/tests/fixtures/generic/git-log-full-shortstat.json
@@ -0,0 +1 @@
+[{"commit":"096fffdb79807d34b99985b38df0a3df7f6a86c7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":120,"deletions":36},"message":"use stat examples"},{"commit":"728d882ed007b3c8b785018874a0eb06e1143b66","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":90,"deletions":12},"message":"add timestamp docs and examples"},{"commit":"b53e42aca623181aa9bc72194e6eeef1e9a3a237","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":29,"deletions":6},"message":"add calculated timestamp"},{"commit":"477329ce5b8f5c2a8e4384ba3f59289fc18c957d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add linefeed to version text"},{"commit":"283dc4efd55030188f17c7e1dfbc5315103494b7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":7,"deletions":1},"message":"add python interpreter version and path to -v and -a output"},{"commit":"d490bbcaa0291a691b95fa5b61807eebb0b088eb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":26,"deletions":26},"message":"normalize add/update"},{"commit":"f49ddf8e5c5009702155fc62d83c63e3c08c594d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":4},"message":"doc update"},{"commit":"e1e341652b51b823844e76ef7e68f9373a323435","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"doc update"},{"commit":"ecda667549137bed5622cca69f2022e7a75ea833","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":12,"deletions":8},"message":"process integers"},{"commit":"a0d96a188a9f875b2d59625aa97d4f80bba290f2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":5,"deletions":1},"message":"doc update"},{"commit":"6c0f0cddfe4dd2d5169f7c55416c6725912557f6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":14,"deletions":1},"message":"fix for datetime objects in yaml files"},{"commit":"c7173ecd89742c8cf8a7bc4a8021baac5c3cd483","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":8,"deletions":6},"message":"fix mypy issues"},{"commit":"e98240c905394e3ebd6a45fa31b6d432c150afc4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":4},"message":"extend instead of append list"},{"commit":"6cb7e25974b11afe57d7d0e8550b3b1a56b14c67","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":93,"deletions":1},"message":"add docs"},{"commit":"c37980c05c7fbd4f811ce5fcfcfddaf5f3ab5414","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":41,"deletions":7},"message":"add stat support"},{"commit":"b5943bd39d776fc4c3b3dea03c0f3d4b6f4bb260","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":23,"deletions":10},"message":"initial docstring"},{"commit":"49a3a7db3b2b0b292489a41691c9dcbce816cfed","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":175,"deletions":0},"message":"initial git-log parser"},{"commit":"0c55240e9da30ac4293cc324f1094de2abd3da91","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":1,"deletions":0},"message":"move test templates to fix test failures on some systems"},{"commit":"f91988aed5499d25acf7a7e87b2b0d0cd37b62af","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"iterator -> iterable"},{"commit":"3c3ad9fc6adf865b3814a1f03814d0bc17d1c6bd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"iterator -> iterable in doc"},{"commit":"291ab79e22a59cb31814e7a5af9dbc9f2ec863e2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":24,"deletions":24},"message":"fix arch linux command"},{"commit":"e6d5892c146762cd41a966adadb77db333d98ace","merge":"c0414e7 dcca7a5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #226 from kellyjonbrazil/master\n\nsync to dev"},{"commit":"dcca7a57d558721a61fbba44f07b1d53116827e1","merge":"7138eef 4ee8a69","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #225 from adrianteri/patch-1\n\nUpdate README"},{"commit":"4ee8a69337b24e199983fe657643abcb0a56a8e6","author":"003","author_email":"adriateri@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"Update README\n\nSpecify the Arch package is in the AUR and NOT in the standard Archlinux repositories."},{"commit":"c0414e7db7f5d785b72ad616517f2ec63af151a2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":4},"message":"clean up background tasks"},{"commit":"a419175fe6dffe9c5fd20cfbd82ee552bc82a993","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":34,"deletions":17},"message":"enhance parallelization"},{"commit":"cd6dead034f3c72aebd22afeb2aea6591ae6d94d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"man page update"},{"commit":"45342ea9fea29947d8d90260c7665ffbca612cce","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":16,"deletions":9},"message":"parallelize doc gneration"},{"commit":"585bf0e159c7839869cf3e458938dcc5fa2ceb81","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"xrandr update"},{"commit":"3a860b9babe93d455f68ef21436edf7470d375af","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":7,"deletions":5},"message":"add rotation field"},{"commit":"269180df77f9ff953b07222e8ae790c7e7a8298e","merge":"e85f11c a1afed8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #223 from anekos/fix/support-rotated-devices\n\nFix/support rotated devices"},{"commit":"a1afed8d95e33fbbc618c7b5778a9faeea2f628f","author":"anekos","author_email":"anekos@snca.net","commit_by":"anekos","commit_by_email":"anekos@snca.net","stats":{"files_changed":1,"insertions":3,"deletions":1},"message":"doc update"},{"commit":"e39f150a216e4e184444dfc88a63e0f303e51631","author":"anekos","author_email":"anekos@snca.net","commit_by":"anekos","commit_by_email":"anekos@snca.net","stats":{"files_changed":3,"insertions":9,"deletions":4},"message":"Support rotated devices"},{"commit":"e85f11c6fcad5461bae612dd5a945c20d300e59a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":12,"deletions":12},"message":"doc formatting"},{"commit":"49a9d7b07e89696f2e022655d7256b7d6ad4bf7b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":12,"deletions":8},"message":"doc update"},{"commit":"a2ef9c429e4bb9f70d033511dce77ccdb9013971","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":38,"deletions":8},"message":"allow duplicate keys"},{"commit":"d5e9074f1c8facb3f15b8c41a008917178626978","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":5,"deletions":2},"message":"version bump"},{"commit":"774699f085d97f22ae2dab0cf64d72aa1e1709f7","merge":"789f073 7138eef","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #220 from kellyjonbrazil/master\n\nsync to dev"},{"commit":"7138eef3d137bc64286d4af453d8d4e7b3f4408d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":6},"message":"fix newline chars in doc"},{"commit":"fad5e544aa9e57d31473190e196f59c616901207","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"formatting"},{"commit":"64757e2cf55448bccfbbd60d31930ab3f59af21b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":12,"deletions":12},"message":"doc formatting"},{"commit":"e05be3f08beae1b600fc55a3a7b4e28163e15bc0","merge":"ac61e9a 789f073","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #213 from kellyjonbrazil/dev\n\nDev v1.18.6"},{"commit":"789f0735dfd63e728b8716d97cf0c6045ede5011","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"doc update"},{"commit":"34bc7753174be28d6c1a00dadc662bc374e554c1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"doc update"},{"commit":"38de059a1bc285c8681086d9fb43d0d23ac01d49","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":9,"deletions":3},"message":"doc update"},{"commit":"304ae6268f4dff6e6f901628e7ff89db1d6e0767","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":6},"message":"minor optimization by changing the expression order"},{"commit":"978caf45221188a29c0e67147804f20f317c066d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":13,"deletions":13},"message":"minor optimization by reordering expressions"},{"commit":"17df5bfcfc25f226a2976aa7ab8a80e4aaa915c3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":12,"deletions":2},"message":"cache _is_separator function"},{"commit":"5e6a5068cff71b3b30525d0a12868bdf6551456c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":2},"message":"allow iterables for simple table parser"},{"commit":"619de68a61be0117e635032347dde417d77c748c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":8,"deletions":9},"message":"formatting"},{"commit":"6748c3cc91f90bddea3d07b8b30a049ee55eaf35","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":65,"deletions":61},"message":"remove lines from corner detection and add rounded corners"},{"commit":"0a462978b731770d1290187a502706c2322f5f91","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":101,"deletions":3},"message":"fix for special characters in headers"},{"commit":"e66a82ff49b40a674f9ef373a12d59fc71bfa730","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":6,"deletions":5},"message":"doc update"},{"commit":"f3aa797d96c8e2cef2124dbb2f49d1fadaee3fa2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":69,"deletions":9},"message":"add more pretty table separators"},{"commit":"e5b478218c4ba3781afd085056dba888c3f6ae02","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":3},"message":"add quiet=True to parse tests"},{"commit":"35e0e9c32afbc5450c661bcb3a23904d135358ad","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"remove print statement"},{"commit":"17c3c2f029a0a47eb02d681567619d471b99949c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":58,"deletions":2},"message":"add bold bar seperator and ANSI code tests"},{"commit":"cf83e6398b3314b233581eb313510872177de20a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":7,"deletions":0},"message":"add fancy separators"},{"commit":"94e061b881e2ed28d2b462ad038e5ba77182b6c4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":275,"deletions":0},"message":"add asciitable parser tests"},{"commit":"720480e39ce3cc2079d7f4f5bcff2725081fec34","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":10,"deletions":2},"message":"doc update"},{"commit":"82a63fe15922456853aa4597aa10a5a02b20bdef","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":8},"message":"doc update"},{"commit":"9c1ec9940e68ce9848da20e81b8c0b7e35a215df","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":82,"deletions":14},"message":"doc update"},{"commit":"f23f19da453a0f7bcf70e417a10f87e27571aa43","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":122,"deletions":9},"message":"doc update"},{"commit":"aea2e1b0a9c6bb2a02a6e73889bb04e8f4f22588","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":24,"deletions":24},"message":"fix tests so blank strings are now None"},{"commit":"7d95d679bf4093ea77f30a1be55384b6dbf08341","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":212,"deletions":1},"message":"add asciitable parser"},{"commit":"b3b140066b74ee31dd1c460502caf2f26df321b6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":4},"message":"doc update"},{"commit":"b204c423c1b947c17cb251a5dd3c444cd71dd2c0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":193,"deletions":15},"message":"doc update"},{"commit":"d451c309bb0d8889dc09a698212bf01c2154a582","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":11,"deletions":8},"message":"change multiple or statements to any()"},{"commit":"01d53da68ed04b736934851137c59216ad02d8c8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"remove debug print"},{"commit":"53dd05e52c329a15c30a756a36a165ac59ef8a14","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":29,"deletions":1},"message":"fix rstrip and add tests"},{"commit":"ab564f5be8282f1c7ee2d602bcef398fdfd4570f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":237,"deletions":1},"message":"add tests"},{"commit":"00c39450f9878527b60545ad61c04cfb98f418dc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"enhance type annotation"},{"commit":"f611d08b50219f4e573c1d1f0beae27583e76432","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":2},"message":"formatting"},{"commit":"90e79b7df3a4d5b37835fdf1c2debc1bad0a40b9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"4eb2d725d5fe6f2cc7935c7dc891912cf7b8e940","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"51ae5ebcac7263ef2571c11975b275eff352bbc5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":148,"deletions":175},"message":"new streamlined parser"},{"commit":"9ecbdb09162da4d563799aa93d422db85b2c324b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":8,"insertions":35,"deletions":30},"message":"use generator instead of iterable in function return annotation"},{"commit":"b3a2886fd0af0cd06890f37f1edfc6890bb83e6c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":2},"message":"formatting"},{"commit":"ceacec0f462bd7c2d9e92ddb9029ccd71aef481c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"remove errant os sep import"},{"commit":"ff0f794b01395ed9b65fac75a6b07f0772d45a2d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":32,"deletions":10},"message":"working"},{"commit":"70fafbf3f80f35c5db2c306978b2a488adad40bb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"remove asciitable so tests pass for now"},{"commit":"5a248a8fc58952a5eab3d4aac025d7422ba82d08","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":344,"deletions":0},"message":"add multiline asciitable parser"},{"commit":"4a3a4e10df8a552a4db3510640695f02b166dc40","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":4},"message":"add asciitable and asciitable-m parsers"},{"commit":"c27bd5ff39f21c6377e661d4d7de1200d2fdd72f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":23,"deletions":16},"message":"pad lines in sparse_table_parse and use str.isspace()"},{"commit":"f804c9627fb71341429ca80aec2887e23e0277db","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"copy input list so we don't mutate the caller's data"},{"commit":"3ab25d02f9dc248706aa1105e1766b2a84bc55a3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"use _parser_is_streaming from lib"},{"commit":"9e80fd2b97b9bfe38fdaa6acdf2e8ed26d34b49d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":15,"deletions":11},"message":"fallback if info and doc items don't exist"},{"commit":"ff9527a098a94c996641fb3fe2f905c8ae5e3063","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":9,"deletions":13},"message":"import cleanup and use all_parser_info in parsers_text"},{"commit":"7dac2f8dc3baf619105e3c6ca4d3e45300b86287","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":23,"deletions":9},"message":"doc update"},{"commit":"32e4d55e86c3e7d94488ec69f13a4f6400c4cef3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":5},"message":"use parser_info for help_doc"},{"commit":"f9a9062147256d0949457cc7fde838f87202524d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":27,"deletions":10},"message":"add documentation argument to parser_info and all_parser_info"},{"commit":"89e5919796f7da585285901dca461aae21336415","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"add -A to second example"},{"commit":"e5f5b2591d8ac3abeb9571688c7fb8de34d647f4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"changelog update"},{"commit":"77c667eec045daff5cbd062fe9d6e83f237727e5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":9,"insertions":67,"deletions":6},"message":"ubuntu fixes"},{"commit":"b257ce8c2fe6825fe435b4d04b4184091030db10","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":65,"deletions":0},"message":"add mpstat_s tests"},{"commit":"c693c868cacbcd81f44fd383719723dd7a137c87","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":352,"deletions":0},"message":"add mpstat streaming parser"},{"commit":"6f98b27a05d6e1f7571a97316b193f096521b959","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":168,"deletions":0},"message":"add mpstat tests"},{"commit":"d7efd25d88a8f489564ce48223845a16e4ab1cc7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":207,"deletions":1},"message":"add mpstat to docs"},{"commit":"2cddb1f0bb497be0be071cdcb56bf49d2dafc920","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":94,"deletions":15},"message":"working mpstat"},{"commit":"ae1c331595dd857d8ae7f8cf93daee1b26be2c3e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":30,"deletions":5},"message":"initial working version"},{"commit":"bc97052ed4ee3bf3f25127968139f2e89a659fe3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":109,"deletions":0},"message":"initial add mpstat parser"},{"commit":"6c3e0e2aa0e8cc375d9f7473930b18957d33f1aa","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"dd052e01469e9e3328f7326d3591365a8e7322eb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":26,"deletions":24},"message":"add underscores to column examples"},{"commit":"54e8f58145f6c4332fbd375d112259ea7abb2d72","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":28,"deletions":2},"message":"add table result examples"},{"commit":"def7aa5764e69cd0cf2c5b70aa62c62023f76c9c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":16,"deletions":16},"message":"formatting"},{"commit":"6986c74f6dceca907ea2e469a332deeb093a122c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":169,"insertions":34,"deletions":837},"message":"remove direct parser module example from doc"},{"commit":"b784db404d0569a4c630eb124b37b0b1d0846453","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":17,"insertions":87,"deletions":166},"message":"streaming doc formatting update"},{"commit":"8aee4517bb4c2eebdd9873f7eb0827cd33b85519","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":12,"deletions":26},"message":"doc formatting"},{"commit":"a5fb8fbf94b3b80bef82f078ad6582260b13e374","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":17,"insertions":164,"deletions":148},"message":"streaming doc update"},{"commit":"b9365e2ac28c3eacf53bc101857f7f1d7286ec20","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":74,"deletions":0},"message":"add pidstat-s tests"},{"commit":"696338c1a3d462afbe677a6f2ebe08d06ef4046a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":38,"deletions":0},"message":"add streaming test template"},{"commit":"4f0616190bb842411353d65650b78a65d8cbdc28","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":3,"deletions":3},"message":"doc update"},{"commit":"3278cb0de301ee542b1fe8245a6c359193373b6b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":15,"deletions":10},"message":"add type hints"},{"commit":"4fc04256a567c502a88ac8a1bd189746387c93f1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":6,"deletions":6},"message":"rollback noReturn to tuple"},{"commit":"e4ae0fea63c0386c1b3239607fd6a58738d23633","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":8,"deletions":8},"message":"fix type annotation"},{"commit":"d3727ea0906d6167aa48c340519242b010469d98","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":99,"deletions":1},"message":"doc update"},{"commit":"0d13909cf63d14008607c5640d074ab4073115e5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":168,"deletions":0},"message":"add pidstat-s parser"},{"commit":"c52ca20e285895d2afb685a2a5ca275de7901033","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix comment"},{"commit":"21f27f26c81c75234221a5193c7d3903323e2032","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":72,"deletions":0},"message":"add pidstat tests"},{"commit":"5e7a87f39782d12070a895440ff541800df91b9c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":35,"deletions":0},"message":"add test template"},{"commit":"845d763829acd03fff1d2fad6e9691f04bd1a2aa","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":4},"message":"format docs to fit 80 columns"},{"commit":"f5c7d52ec72f5ff4b77d5ac4491f330575b9f10f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":10},"message":"formatting"},{"commit":"c3198a58744803f52113f80967c7259d781e2328","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":22,"deletions":12},"message":"formatting"},{"commit":"bbd4afa73542ba6596aed77426bb494fbcf23196","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":7,"deletions":1},"message":"add pidstat to docs"},{"commit":"ae754a84bf5fc35b248bbc5f7b0fa8e871765819","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":263,"deletions":33},"message":"doc update"},{"commit":"3389eb5debe0f0ba01ece01e20048608bf357e70","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":219,"deletions":9},"message":"initial working parser"},{"commit":"01f2c1e71f87ab401d487be4d6d150cb67c91437","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":162,"deletions":2},"message":"add pidstat parser"},{"commit":"8bfbf8f1bcd233a8ecd34012e140eb29164ca5fb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"simplify error message"},{"commit":"f4242669bac3af5eb196c46d4146823aacec40ab","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":10},"message":"minor cleanup"},{"commit":"bebd9331f1fb9b80f8cb4a5cfacd68461743004e","merge":"9861983 ac61e9a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #211 from kellyjonbrazil/master\n\nsync to dev"},{"commit":"ac61e9ad2c9c4e864db02db04cbf907fb0efd99b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":0},"message":"add pypi link"},{"commit":"648ef4d8a9c33a36d4bb2c135fe59b031de8f24c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":4},"message":"update badge links"},{"commit":"727fc9a701e9aae75d3d2b708010da1d0dc8781a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"doc update"},{"commit":"306512d6bb53af18516fc10b15c7ec79cb02cc98","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":7,"deletions":4},"message":"force AM/PM to uppercase in date parser"},{"commit":"6afb1d389ca9dfd7880386d380fee032b7eb92e2","merge":"961968a 9861983","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #209 from kellyjonbrazil/dev\n\nDev v1.18.4"},{"commit":"98619834818c181cb50a9605fe166b6153c46095","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"doc update"},{"commit":"ca79053db08542849136ae13fdb4d1d90b79a7e5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"document pydoc version"},{"commit":"29c263f87810f8566ebdad2358e99896391adfd8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":93,"insertions":115,"deletions":115},"message":"pydoc formatting fixes"},{"commit":"128c3c170abc6a702ae044b073fb9d992d4262b1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"doc update"},{"commit":"a531ab8864fca27b55d83b55055eaef1c36128cd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":4},"message":"formatting"},{"commit":"0c1be7cc11ec75a5738483d68d053e702eb34fc1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":18},"message":"reduce dig example size"},{"commit":"e4222b45f54e6179e22d7924c083e4642b9974ae","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"fix names to mod names"},{"commit":"ac32c69c31e8eff22252d7aded08f6cb14622086","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"formatting"},{"commit":"cb2dfeac8d44b733ad9d364e8c6d233a381bfae1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":199,"insertions":334,"deletions":326},"message":"change name to JSON Convert"},{"commit":"9a3602e70b865a3015bd700b30d1076e17511a9b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":6},"message":"doc update"},{"commit":"a9f53ee258e18bc90934e263d8dc96feee84e939","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":15,"deletions":4},"message":"optimize streaming parser detection in cli"},{"commit":"6be3d3d98222a262c5138bb09f2951ccfab96110","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":43,"deletions":1},"message":"doc update"},{"commit":"e49df7208377ab34a74240a06f35f17fee4b8203","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"use streaming parser list to find streaming parsers"},{"commit":"7ede7be7bf7b1a7d29d158b3b21c20fff4990e72","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":42,"deletions":0},"message":"add standard and streaming list functions"},{"commit":"4758e28a36e2a55497e4f722d386a6b5cc30dc4d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":20,"deletions":16},"message":"formatting"},{"commit":"4a1ee151b3cb054d84cd964fd62f5855f765751d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":9,"deletions":11},"message":"add dhcp6 options to docs"},{"commit":"8c8afc1a922e3c30fcf501d169b33a68b65cd3e0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":60,"deletions":24},"message":"formatting"},{"commit":"ed205f7720d98c225c917c252ed7a6c9e6e8c2b8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":9,"deletions":9},"message":"doc update"},{"commit":"d65f7ae992abc33140c00714d442290103661757","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":41,"deletions":0},"message":"add nmcli"},{"commit":"e2ffef57b9a474048fe72cf42aebfa6bfaf2e42b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix test"},{"commit":"002caa9fb3b65f1ae64df25cc39c3de130403e76","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":252,"deletions":0},"message":"add fedora tests"},{"commit":"b7c6faf3daf8eb0c42a222778baa440c5a018c75","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"enhance error message"},{"commit":"554ca61d1764b81dea06b6b013d0444072f0662a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":11,"insertions":165,"deletions":0},"message":"add tests"},{"commit":"7b9722d255a16981099dc803beda7abe0d46106a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":26,"deletions":34},"message":"fix formatting"},{"commit":"5505bde8ef77db0885f08d8d04160cbc4418dd67","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"doc update"},{"commit":"dbcd9a4060647be24bca2a8d577f11925a9ac210","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"bump version to 1.0"},{"commit":"4bdeb2b3aa063c2772f5c44e52acbe16e915cc3a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"simplify warning message"},{"commit":"6ae1d03187c6d4b669f6f74db1be7c9cf07adaed","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"doc fix"},{"commit":"f75b06abe4af152be094f8bc1ba5ce66b25e35e2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":180,"deletions":3},"message":"doc update"},{"commit":"1923925710dadc4116202855ae884ef18394d428","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":0},"message":"update changelog"},{"commit":"2c5c57ae04df3b7abfb1c3423c3350c7c2ab5dcd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"version bump"},{"commit":"f4d11d697e000135720a971edf84dcad31a1bec8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":155,"deletions":15},"message":"finish use cases and doc"},{"commit":"7f409b7082aa9525cc9280e3c5c92bc82089cf14","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"enhance ParseError cli message"},{"commit":"937fa5aad2519f588c6d0feb8f08211f6b99872f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":20,"deletions":0},"message":"split dhcp options"},{"commit":"19dcef513565c34a31f6d735577da5e25f9bd2cd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":69,"deletions":2},"message":"firm up flow. add/remove text. parse routes"},{"commit":"3d01356461eb2790f859968da7f5cb4fd2ee9898","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":27,"deletions":3},"message":"add text_kv function"},{"commit":"2d6f666fa4c791e7995f6b0c1490dac73ce224c3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":61,"deletions":16},"message":"add dev show and conn show parsers"},{"commit":"4dda895f122ecc19b267ed1485cf656bae76ff07","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":13,"insertions":404,"deletions":0},"message":"initial nmcli parser"},{"commit":"52617b1722ba2f089716b069f78f70a865430d61","merge":"3afaa48 961968a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #208 from kellyjonbrazil/master\n\nsync to dev"},{"commit":"961968a0fcaf37b64bc850c4945ba4b805a1fe54","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":26,"deletions":23},"message":"fix schema"},{"commit":"f026a788e5ca1231927e71fdbb1dadb2365a6518","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":62,"deletions":0},"message":"add xrandr example"},{"commit":"2f7c03eb35520be916c28a687031f8c6425839ba","merge":"681176e 3afaa48","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #207 from kellyjonbrazil/dev\n\nDev v1.18.3"},{"commit":"3afaa48eee081e28262d1762c5ec23d318012822","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":15,"insertions":15,"deletions":15},"message":"doc update"},{"commit":"3201452564fb0fb44ef9cc32217339370bd2521e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"add -p to example"},{"commit":"7ee1e34fc71c0dbc08ba482b787d560fd5125f64","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":116,"deletions":4},"message":"doc update"},{"commit":"67dbf050161201f5016899591e81ab6253ac2322","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"add type annotations"},{"commit":"4ac9f2e3dad4e7bd270bf5a8e61b729838b2c89c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":10,"deletions":17},"message":"doc update"},{"commit":"3f5f6e39a777ef524cb3a06a01321bb8c31d930d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":100,"deletions":98},"message":"formatting"},{"commit":"4723db8e3cc4946b14c83b25d6e8c6d2309aa72e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":8,"insertions":195,"deletions":77},"message":"doc updates"},{"commit":"ca914ec77d1fc77e42860189e62ac2fb203d4931","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":11,"deletions":2},"message":"add nodata test"},{"commit":"dcc7f3f357ef016b4583fc1320fd2394788f271f","merge":"184ef3a cbdc666","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #204 from lyterk/xrandr\n\nNew parser: xrandr"},{"commit":"cbdc66623671da335eafe132b7af79f884856f1d","author":"Kevin Lyter","author_email":"lyterk@sent.com","commit_by":"Kevin Lyter","commit_by_email":"lyterk@sent.com","stats":{"files_changed":3,"insertions":2,"deletions":30},"message":"Return empty object if no results and filenames\n\n- If no results are returned, return {} instead of {\"screens\": [],\n\"unassociated_devices\": []}\n- simple_xrandr -> xrandr_simple"},{"commit":"184ef3a1faeb406ce62076cff637ee86d61541fb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":11,"deletions":3},"message":"doc update"},{"commit":"c732f759445e335fe36586859b6fde7e27bb8901","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":10,"deletions":2},"message":"doc update"},{"commit":"7a1ae4f5fc5328c32bf77235cfbd9f83ec995053","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":105,"deletions":0},"message":"add library tests"},{"commit":"d04bc3757c482ec9062b2da91ded76c5dd6d106b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"add xrandr"},{"commit":"73e8391653145412cd852aca349466018c8b9084","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":8,"deletions":3},"message":"formatting"},{"commit":"f6c1463c1578db264ccb3d4c2677857ed906e965","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":44,"deletions":24},"message":"formatting"},{"commit":"d392c7f901a9d7c57617fbd03bd3f88ee0bf4132","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":12,"insertions":20,"deletions":13},"message":"doc update"},{"commit":"d0387f58205b2fd9b9860ce9656bb29ceec54340","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":16,"insertions":34,"deletions":29},"message":"add timestamp format hints for better performance"},{"commit":"76f92908a3ba9cbadcc8e972afa8b1c4a69509bd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":44,"deletions":9},"message":"add format hints for performance optimization"},{"commit":"1a115da67bdce9acfefbfb71fbac37e234b1babd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add lru_cache maxsize for python 3.7 support"},{"commit":"f0a37ccf301eee5133a83b5dd96986fef0c38e7c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":7,"deletions":4},"message":"use lru_cache for significant performance boost to timestamp"},{"commit":"f331f53a531169520a4d8ea15d277560a49aedb5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":1},"message":"use !r formatting instead of quotes"},{"commit":"8611aff06b18212b7292d564beb27a2062fc3f41","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":8,"deletions":8},"message":"add examples"},{"commit":"2f3f78e8d35a0ccccde0f84417400acdfe7fe0aa","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":16,"insertions":194,"deletions":185},"message":"refine streaming parsers"},{"commit":"d1e0ee6123dfecd48d074cb7a40e98a15b6adcb9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":8},"message":"use new streaming functions"},{"commit":"45314c98083067f1f6fae9c477c99fabec223f29","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":112,"deletions":102},"message":"move some functions to streaming"},{"commit":"df00945b46e27e10107f48d186eedf80b55bd40e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":59,"deletions":49},"message":"move try/except inside for loop"},{"commit":"fda0050d867bcbe4f1d7e024b08e9881d0f57735","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":13,"insertions":191,"deletions":0},"message":"add rsync-s tests"},{"commit":"a76d46f9ecb1eff4d6cc7ad633c97cec0e99001a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":19,"insertions":110,"deletions":109},"message":"refactor ignore_exceptions"},{"commit":"6b069a82d0fa19c8d83b19b934bace556cb758d7","author":"Kevin Lyter","author_email":"lyterk@sent.com","commit_by":"Kevin Lyter","commit_by_email":"lyterk@sent.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"Add xrandr to lib.py"},{"commit":"6b793d052147406f388c4d5dc04f506a3456f409","author":"Kevin Lyter","author_email":"lyterk@sent.com","commit_by":"Kevin Lyter","commit_by_email":"lyterk@sent.com","stats":{"files_changed":1,"insertions":6,"deletions":11},"message":"Clean up types\n\n* | operator => Union[]\n* Remove unused import Iterator\n* Remove comment"},{"commit":"ce9103f7cc666895dc7840d32797d8c7274cf1b8","author":"Kevin Lyter","author_email":"lyterk@sent.com","commit_by":"Kevin Lyter","commit_by_email":"lyterk@sent.com","stats":{"files_changed":2,"insertions":287,"deletions":0},"message":"Delete old files in template folder"},{"commit":"671d6dee36a37317257e09a080849205d301bceb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":8,"insertions":83,"deletions":15},"message":"doc update"},{"commit":"49929c714c2d71a310b1dd95138dbd02f8704138","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":9,"insertions":139,"deletions":52},"message":"add add_jc_meta decorator"},{"commit":"2986771f07de87bfee44dd3bbb4f285e249aad76","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"require python v3.7 and above since v3.6 is now deprecated"},{"commit":"520082d963b93d2bafeff921da3899686b22cadf","author":"Kevin Lyter","author_email":"lyterk@sent.com","commit_by":"Kevin Lyter","commit_by_email":"lyterk@sent.com","stats":{"files_changed":9,"insertions":968,"deletions":0},"message":"New parser: xrandr\n\nTests passing, working as intended in plugin directory"},{"commit":"021e296d457140c32b5256c2b0acf66efc458896","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":104,"deletions":100},"message":"move variable inits and regexes up"},{"commit":"42e56fbcea6db64ea7f7045e7755af492c95aec2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":11,"deletions":12},"message":"move regex up"},{"commit":"a5b62a4055df37b84751a7cdc14eb6f1ed907cd9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":230,"deletions":18},"message":"add processing and docs"},{"commit":"be98c9b7f6c67e23ea101223934d67bba512e645","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":5},"message":"simplify try/except by moving outside for loop"},{"commit":"aceeb8450796ae748a4d4abf75643f309d0a42e5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":12,"deletions":1},"message":"doc update"},{"commit":"13910632173e7c815ff1161cf52fd1d17153c4a9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":367,"deletions":0},"message":"first draft rsync streaming parser"},{"commit":"52157addd0d6dff3bdb34f179ec14b07c8c27ccc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix compatible list"},{"commit":"ec0bc6615e22fdc536623e290d88b9725cb6a0ec","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"formatting"},{"commit":"2f80800e38256b363a4122195ec4aaffebe67d87","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"simplify all_parser_info comprehension"},{"commit":"3959d3347c8d3e838f8c3158c4db74e2fa2eb856","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"doc update"},{"commit":"b57d25c69a193d3866ea86a3a34edd67049b198d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":7},"message":"clean up return type for parser_info"},{"commit":"63e43a7cabb51c624c962cdcc92a1199f18c77e5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":188,"deletions":21},"message":"doc updates"},{"commit":"21719f9a26c25d896b0a5d49c9d7814175835e16","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":18,"deletions":20},"message":"type annotation updates"},{"commit":"96ec70de4f6178b0669fd9ab47cb303dc45e55c2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":5,"deletions":5},"message":"remove unneeded optional"},{"commit":"a15a1967dc06169ceeda0fd5b4857ce1a351f3d5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix typo"},{"commit":"a10d7566294fe5246e68a16e355ce56dd3557ac5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":4},"message":"fixy mypy issues"},{"commit":"0700dc7a64b121cf0243416e2cbb82fcef15f5a0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"remove cygwin from compatible"},{"commit":"ca654b214057e19839b89e0d9a66f1110f679c1e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix parser order"},{"commit":"4ff3b87c1c96d720f4e7fd39e613944e322cb388","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"remove future field from docstring"},{"commit":"ea244fb7a91f1d1f8ffe0ea6dc10dfe5ab836878","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"8061f30e6fa58d22ed1a52e02c4d9c7f0bf132cf","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":236,"deletions":6},"message":"add centos -i nochange test"},{"commit":"8f3b12e81e1b4f0d4394c33db5b3a352f4cfb391","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":299,"deletions":0},"message":"add fixes for mac -i output"},{"commit":"d0694ce0db5ea2d06b5787429adf23095c4c2df0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":245,"deletions":6},"message":"add nochange log test for mac"},{"commit":"0cd4c4bc7f3ffe13cb2f1920187e25636b88af61","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":658,"deletions":0},"message":"add nochange tests"},{"commit":"12f90c349c903634def4225ce87924b475be46d0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":68,"deletions":20},"message":"update regexes for unchanged files"},{"commit":"26b8a1f167c4b1ec3f9fb4077254a27ed8548933","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"remove packages from binaries and packages header"},{"commit":"3abe382c064f605d915912f9b726d76784eba8a2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":90,"deletions":3},"message":"add examples"},{"commit":"1e2edc2c7b5dc104a9efe4da7df9be61b9e1be32","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":53,"deletions":29},"message":"add timestamp"},{"commit":"5fe032a6741b7b6586c60eb28be74bd0e56277a0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix typo"},{"commit":"e825c02df1cdae67c7f335fe3c675685eb1a8d02","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":11,"insertions":605,"deletions":0},"message":"add rsync tests"},{"commit":"a4a4d170b5ae8c189de982adea5bdc9bf1f26e6c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":10,"deletions":5},"message":"update docstring"},{"commit":"d0fcd523cb2cbb59d0f90369721749b54222961d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":19,"deletions":17},"message":"fix process conversions"},{"commit":"f72b7dc75dbd1c3f5daee3ecee28487258a04873","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":8},"message":"change keyname to files and remove future key"},{"commit":"4101dc6bf7bab7d00899426e2f6271a7480d558f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":1008,"deletions":19},"message":"add log-file support"},{"commit":"ea5011b616365b5c10c04416d43035d84e3dacba","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":175,"deletions":41},"message":"updated schema. add log-file option support"},{"commit":"d6de81747fd92642dbd5cb1fb097e375aa38be35","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":11,"deletions":3},"message":"add int/float conversions"},{"commit":"38f04b1c9699246d85332b20df5b6a91ae0c48d9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":32,"deletions":7},"message":"add summary"},{"commit":"84169e1a913d035744f71472be81fe3a7d774b97","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":637,"deletions":2},"message":"add rsync parser"},{"commit":"1f96586a5e883709f436526de6dcb21ff44bf97b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"reorder imports"},{"commit":"681176e4c958157ef1f2151b3e57963a6ba48e09","merge":"b389665 8bb2663","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #203 from kellyjonbrazil/dev\n\nDev v1.18.2"},{"commit":"8bb266352207f95040b72750e5b3ae3b8ceb2b98","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"date update"},{"commit":"663abf313931b49fad64b425ece6a5a257dc7938","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":3,"deletions":4},"message":"clean up scripts"},{"commit":"f7ac41db95c16fd21d83fbce678c5dec28ab40f0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":1,"deletions":13},"message":"final doc update"},{"commit":"5502cda9e591b531d6b452b02d8ec322c3287800","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"add additional test for dict inside list for all_parser_info()"},{"commit":"a2b165565f54d91489bf38577a0785e78a4523d8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":21,"deletions":0},"message":"add lib tests for new functions"},{"commit":"b426369815984bd2aae8bcb14e306ba73b8cd4ae","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":7},"message":"use all_parser_info() from lib in about function"},{"commit":"ac0840cc0afb4aeee2c99076710c987e09cfa5f7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":4},"message":"fix typo"},{"commit":"ee98ab0a4a7671ae34ee79f7b0b97c061a8c2944","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":5,"deletions":5},"message":"doc update"},{"commit":"2adec2c0035b84ca0242f2494b6c2651b9898ca5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":21,"deletions":19},"message":"update type hints with mypy help"},{"commit":"f19c9c71bf4f592f55a5176458acd478b462fdbe","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":15,"deletions":4},"message":"add type hints"},{"commit":"e93adf1884c0006a64123513070a5fd96a940da2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":4},"message":"fix doc"},{"commit":"254c4fc507842ca72064c0196418a7b939d54d06","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":20,"deletions":6},"message":"add new functions"},{"commit":"74d5f60d14fc42cfd5768c7ffd6efc890a65d442","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":3,"deletions":3},"message":"update console interview description"},{"commit":"db7dc0634bc17b4daadc8bc21bba5975c093efe5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"make **kwargs optional"},{"commit":"e156b0db453e99fb0f74b618fd343218f978ff68","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":5,"deletions":4},"message":"add type hints"},{"commit":"50adc05fbd6a0dcd9e4fb38aa41917bb57332f36","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":6},"message":"formatting"},{"commit":"446cac7c217103eb66cfdee97e3a208b7144b644","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":15,"deletions":11},"message":"doc update"},{"commit":"28ffe3076bb5f23aeaf2624344856dbd02b4c0e8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":8,"deletions":9},"message":"formatting"},{"commit":"d4d5e206cae14acd25445952f820810818b3fdce","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":40,"deletions":28},"message":"type hints update"},{"commit":"42fbe40a4ae02b9d09acdbf9b22573844959d2ad","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":7,"deletions":4},"message":"simplify type hints"},{"commit":"27e4a120e21dcbb3eadc6c4cf224ddb33859328d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"remove trailing comma"},{"commit":"b5d5b7c73a96d4335b178ccfac60af90913e6f0f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":29,"deletions":148},"message":"remove private classes"},{"commit":"e7471556ba5fb0586ac5b0d7404cabd98a58db2e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":0},"message":"remove sed lines"},{"commit":"640a21341bb1c562cb2124155b511dfc74277fc0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":47,"deletions":42},"message":"fix indentation"},{"commit":"f5befad3e41ba2864abc795a2fdf63e0f1d37c21","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":33,"deletions":25},"message":"move docstring under __init__"},{"commit":"f8223023c31093c1a34130b4e4cfc23b1d80a30c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":24,"deletions":10},"message":"change header depth"},{"commit":"7028e87f9b411c0cfb92eee7fc0667cdcb9a54ff","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":87,"insertions":22,"deletions":445},"message":"remove TOC for parsers"},{"commit":"590728f9c1ccfdc078e600d1f35ad4ba51f70d36","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":91,"insertions":506,"deletions":17},"message":"try new pydoc-markdown formatting options"},{"commit":"7cc147fe2d7b278bcab905bc4c3b70b5265e1510","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":44},"message":"increase heading size"},{"commit":"3cfb3965bb25024a7b03870b71f02194e278919b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":19,"deletions":19},"message":"formatting"},{"commit":"155d4213225fe4fcf4a059fb63c1ab9fc493177e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":86,"insertions":182,"deletions":181},"message":"formatting"},{"commit":"d3e10bb87bdb32396bce95f74e62a023f4efaf99","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":291,"deletions":0},"message":"add lsusb docs"},{"commit":"fd5433ee6220357e59633c78b689aa432d056b43","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":6,"deletions":293},"message":"parse docstring formatting"},{"commit":"4568f2d06e8fc1c465c86c318d925586481af062","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":6},"message":"formatting for parse docstring"},{"commit":"c36e513d1bcc07cd8f01ff59199950e5396da51b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":86,"insertions":88,"deletions":91},"message":"formatting"},{"commit":"8e089baf3fe30fed80e1c5cdde7c3046bb70ca5a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":86,"insertions":8,"deletions":855},"message":"remove info class from docs"},{"commit":"386f6c317e104e797c2b55e3d21c8b064a83ac78","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":89,"insertions":9552,"deletions":9939},"message":"update markdown processor settings"},{"commit":"75cd84ce8a86b3357c6cf5fe4fbc62d0f298a29a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":94,"insertions":11423,"deletions":10081},"message":"try new markdown conversion"},{"commit":"6fad44e35df5d0e33e716d0fcb84ed309e6fd30b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix type hint"},{"commit":"1caac750daa25a5abeb1289964e918ec06289bfc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"Update type hints"},{"commit":"16370dcb3d5cf1304c2340ef2253ef2987a982b4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"update type hints"},{"commit":"c1302f2573993a6908001d6df0697486f54a9e7e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":19,"deletions":8},"message":"add type-hints to public api"},{"commit":"6f0ffe0955e4d9d6cc82552cf4e4f419e3ff3756","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"docu update"},{"commit":"1f89745fe7cca3a0ac27445942098b717675a481","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"version bump"},{"commit":"a46ac18ef775bb2c52675e61e11c5d92f33cbe81","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":0},"message":"doc update"},{"commit":"1a05f1c575b57456481e41baaf551cef30115966","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":64,"deletions":54},"message":"add parser info functions. move _get_parser functionality from cli to lib"},{"commit":"08f818aa42ca68050a79ec387c42bff265257fd5","merge":"027c231 b389665","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #199 from kellyjonbrazil/master\n\nsync to dev"},{"commit":"b3896650c230b4acc73704a50c93ee74e4034eef","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":62,"deletions":104},"message":"revert column formatting"},{"commit":"f285539526998a5097943c71dcecb2979036b2b0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":104,"deletions":62},"message":"conform to 80 columns"},{"commit":"a896dcdf3b31b60582ebb1b3bca5d1103f998dd6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":338,"deletions":120},"message":"formatting"},{"commit":"0a187d4ed08173ec360a006ae2367bb1f2f96c52","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":7,"deletions":3},"message":"add console interview links"},{"commit":"2d65bc57d5a396e6683f970194de29494b5c1272","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":6},"message":"add quotes"},{"commit":"ab63809fde0cefe1f0401d957a3736fdb760f0cf","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":4},"message":"update description"},{"commit":"6f04707dc63936efd0e533ae36e1b39ead10c466","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":0},"message":"add python package doc info to top of page"},{"commit":"d14a86a9b58bdc3cb0c8df1dfa495aefdaab8033","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"fix typo"},{"commit":"8e6a31d3da19926ac46744e02b27a899ca5fbd7c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":14,"deletions":8},"message":"minor fix for macOS binary"},{"commit":"6e7b6afe87355e96422bb2560ffcbd5e79d28f04","merge":"70cb445 027c231","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #198 from kellyjonbrazil/dev\n\nDev v1.18.0"},{"commit":"027c231097a002526350a93322407582a85db0cb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"f1cf7d1f953586dd44a4463d924f1a1f52717c37","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":7,"deletions":5},"message":"add helper function info"},{"commit":"df611cc263f50285e74ceb3381f55b43a74870a0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":8,"deletions":4},"message":"formatting"},{"commit":"0f3143bbbb593340190e66729580146410012e14","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":8,"deletions":4},"message":"formatting"},{"commit":"c280757b7624a46543e481ca47a6e084d2d6f519","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":4},"message":"formatting"},{"commit":"d30b9d84ef5ec3a2a504f7ea251c932b8c9ea878","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":2},"message":"formatting"},{"commit":"50ded1dbd97d26cf01d7e1a98b40e0f0f7d02202","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":10,"deletions":4},"message":"doc update"},{"commit":"e319aea5a45c598a44f35b4e58131d977509e4f3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":10,"deletions":4},"message":"add doc version info"},{"commit":"ba86509c1d8700a50fe14e9d931ee57261306c5f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":9},"message":"simplify OSError exception handling"},{"commit":"0a9279ae6bfdd1aa59f5e9b31ce0af3bfec19f96","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":2},"message":"doc update"},{"commit":"a13dde12af01b4473aa9a34b8a0d7387fb48500a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":173,"insertions":173,"deletions":173},"message":"change raw output wording"},{"commit":"e2ed358de1abefd737c187a324cbe4734d6975e8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":2},"message":"changelog update"},{"commit":"a2cd3666210be3727a00c3405972f32fbd421046","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"Delete _config.yml"},{"commit":"15addd9bfc18a0e87beb97040b431c872b783662","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":8},"message":"doc fix"},{"commit":"a4e34b0053ec0c032f4783caaa3e07fc2c685a98","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":63,"deletions":0},"message":"add universal parser docs"},{"commit":"d09529ac302fbcc156d58cf836f8397c98121a76","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"changelog update"},{"commit":"553097b5050dc02fbdaeec2e2e138e01bc6811d9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"docstring update"},{"commit":"49c556857708307f617b2b516f2d281398681b5b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":35,"deletions":15},"message":"module doc update"},{"commit":"6962b9ee8a52c924dc2de6b79ddeea3636e80fe4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":8,"deletions":6},"message":"formatting"},{"commit":"b4575a3f780f9aa2751c8b4789f67aaca32dd1cb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":91,"deletions":1},"message":"add lib docs"},{"commit":"35b54d235d73b2ce658223be3d6095906f142d89","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":0},"message":"add python package doc info"},{"commit":"583a5757e454a4e36b331057d1266279b55ee16a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":18,"insertions":34,"deletions":30},"message":"formatting"},{"commit":"f355333eeed3c4afba844dc7bed5224356552adc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":8,"deletions":8},"message":"formatting"},{"commit":"4d7df109604e4f8367904968602acfc05217a7fe","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":6},"message":"formatting"},{"commit":"66b2c28f4bc75fb76800f9fb7ea485eee194a9a2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":24,"deletions":24},"message":"formatting"},{"commit":"299a9c6d88fdf1fede447b4057d8f4263daef733","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":25,"deletions":57},"message":"formatting"},{"commit":"bd391d979ce98b126dab0f012a56b3fcb1f73439","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":23,"deletions":55},"message":"add lib function docs"},{"commit":"7309bd2282445f6daef0b1491ff60b8104500abb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":19,"deletions":10},"message":"add get_help"},{"commit":"ce84c09d3394b598f19a3e012ef27ce4154e3b3b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"add get_help()"},{"commit":"b4fffbb6476daf78fbdf19dbf31bbeeab950d2dc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":46,"insertions":501,"deletions":304},"message":"formatting"},{"commit":"3701b4198aad1826ad6da571fbcaa530b057cc48","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":86,"insertions":710,"deletions":606},"message":"formatting"},{"commit":"d4c34098fa7ad2098076f0fa0564467e5d06f916","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":2},"message":"formatting"},{"commit":"b3c531193b3fc53697e7d7823576f481f9462d53","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":125,"deletions":71},"message":"formatting"},{"commit":"1d0e07c77bab5c48405323e52873c7952dd0a587","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":57,"deletions":55},"message":"formatting"},{"commit":"06a322cf9c7468dc7e8ba05914e1d07bbc51f63a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":14,"deletions":8},"message":"rename tests and add conversion function tests"},{"commit":"623d148712f93eacf9b7b5803140603f0af67acb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"doc update"},{"commit":"647e83d0439a0937db14a2cc97929e38a6b6a43b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":0},"message":"add test to ensure there are zero plugin parsers installed during tests"},{"commit":"91a554464444da0cc3ed3b4d212539232411f6cc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":2},"message":"doc update"},{"commit":"a1190998aef1bf403ee34c38c1a0fbd6291ac38b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":82,"deletions":0},"message":"add jc and jc.lib tests"},{"commit":"097d7a1850f6f6df73a5761c657b73ef9dbd3e29","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":0},"message":"simplify __init__"},{"commit":"302bf72e720b3a67fbf1300eaff4f99fc343abeb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":138,"insertions":718,"deletions":6},"message":"Update high-level API docs"},{"commit":"2c42baf3a4dd6733c078f31a1becd708a05f2c36","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":34,"insertions":174,"deletions":0},"message":"add new high-level api info"},{"commit":"03feb89c84096c0ea1d6ae3a0634ae7b8b507e8f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":0},"message":"add module list info"},{"commit":"9dd553192fbca3037b3afe5df6bae88f7a8a9365","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":29,"deletions":12},"message":"doc update"},{"commit":"fa3f02e9d1ac7867e3465c2d214f4e4229ff4c66","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"version bump"},{"commit":"0a9dde58c5235f78c4c9ae9c013f7454482c6067","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":228,"deletions":134},"message":"add jc.parse() high-level API"},{"commit":"70cb4453bebb235130e2c287633ecb1de6c2b0aa","merge":"e6900e2 830674c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #195 from kellyjonbrazil/dev\n\nDev v1.17.7"},{"commit":"830674cc6f19e107347a743baff7bbaab7f80b75","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":4,"deletions":4},"message":"version bump"},{"commit":"fb406b58a12fdfe81bcff76671661af77e7f2fe5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":5,"deletions":5},"message":"formatting"},{"commit":"55b272e41259ddc835cf4eb513fb67e7b2cf1573","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"tighten stat data detection"},{"commit":"94f62a9bf36242310790a0f37c66b2e6c6fdc078","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":6},"message":"formatting"},{"commit":"8d19e4cb7b45e3b6cb8c404c959949b7593c9386","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":115,"deletions":1},"message":"doc update"},{"commit":"7e510d48e0f8426a67cf8d70d06d0331c274d358","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":106,"deletions":2},"message":"simplify non-stat parse error logic"},{"commit":"7b20cffb143447f4497bc4e895eac2426e8a519f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":4},"message":"simplify last item logic"},{"commit":"5c934c43c13b69183561da8a77280feb3363e950","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"add continue to simplify logic"},{"commit":"8609298449e997ba4804d818f4fc23cb393ded7d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":3},"message":"update docstring"},{"commit":"72cb0dc10b2dac486d3e2a52cf44baf0d7496034","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":14,"deletions":10},"message":"fixup for first and last items"},{"commit":"7b22fa81ded0f6f59e250ffea63c5d2a0f928b25","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":8,"deletions":0},"message":"raise for non-stat data"},{"commit":"0b6a1307790e0793917bc2781e4873aa9dd67225","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":0},"message":"ignore blank lines"},{"commit":"fdcf4338e0f099699f8d48df6382be1cc97dba84","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":4},"message":"add examples to docstring"},{"commit":"ee43037f481286a34a766390568965fdd53af132","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"remove unused continue lines"},{"commit":"26e365563c314e694915c7a3feae490ea99a112c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":50,"deletions":11},"message":"add schema and _process logic"},{"commit":"1b39586bb1b62aee8ae709512c2e3f79cefdb3d9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":227,"deletions":0},"message":"add stat streaming parser"},{"commit":"8bb3a6bea34d60d49039f1ed72fd7e413edc05da","merge":"78672bd e6900e2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #194 from kellyjonbrazil/master\n\nsync to dev"},{"commit":"e6900e2000bf265dfcfc09ffbfda39e9238661af","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":21,"deletions":0},"message":"add jar-manifest"},{"commit":"0ee244756bf39123e4873eb231156edbe7f0e0ec","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"spelling"},{"commit":"6d5ac9abe6712e01887ce0d96c278a568319f405","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":3,"deletions":3},"message":"update docs"},{"commit":"44f6d9e1321459be8196aeebf6db088cc5120e61","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"changelog update"},{"commit":"360154559c5dee6affa55bbdd5d2f473248b9168","merge":"241d53a 78672bd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #193 from kellyjonbrazil/dev\n\nDev add csv doublequote fix"},{"commit":"78672bd7ad66c418e0ecf31add73f887b0946d29","merge":"bc7973a 65d96e2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #190 from shaikustin/csv-doubleqouted\n\nfix doubleqoute in csv"},{"commit":"65d96e26b59e231c77c1dbba1dc91708c33de30c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":13,"deletions":0},"message":"add streaming tests"},{"commit":"241d53af9a5c9bba70e28835e22c52c0060269ba","merge":"f733100 bc7973a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #192 from kellyjonbrazil/dev\n\nDev v1.17.6"},{"commit":"5563829df2849a899df2e9211d6c92bddc695f9b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":4},"message":"make dialect sniff behavior match non-streaming parser"},{"commit":"3a4a27e1f94ee07352c7616c57ec655c1aea04f6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"version bump"},{"commit":"9c887a36a804d817c3f669a55b9b1566d09d645d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":2},"message":"update csv_s parser with csv changes"},{"commit":"bc7973af36e13006230b5faa9e201e300d468912","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":3,"deletions":3},"message":"update copyright"},{"commit":"32972d8fdbdc71923978fd5c2a87fd6cfa4b7f8e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":122,"deletions":9},"message":"doc update"},{"commit":"b128d9109cbdb1176f2473d450023bb0be02531b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":46,"deletions":0},"message":"add MANIFEST.MF tests"},{"commit":"929d7273a422c2bd5b83e5e19d32630f1a027f75","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":4},"message":"doc updates"},{"commit":"2a40f842743a8745d651b4b6cae645045e6c6aab","author":"shaik","author_email":"shai.kustin@torq.io","commit_by":"shaik","commit_by_email":"shai.kustin@torq.io","stats":{"files_changed":4,"insertions":22,"deletions":1},"message":"fix doubleqoute in csv"},{"commit":"9ff6fa818f0857321e4b3b089d288997f2ae27af","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add jar-manifest"},{"commit":"dac73a4bfe24e36474fdf6ff60c23e784ca409bd","merge":"d789554 f733100","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #189 from kellyjonbrazil/master\n\nuse github releases instead of packaging site"},{"commit":"d7895547f74744e82317eabe4c870115701872be","merge":"f8e09ae b7d439c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #188 from listuser/new_branch\n\nCreate key value pairs from a MANIFEST.MF file, to include key multiline value pairs."},{"commit":"b7d439cb870e443e4f4e4a2137ab170835e77eff","author":"listuser","author_email":"","commit_by":"listuser","commit_by_email":"","stats":{"files_changed":3,"insertions":2220,"deletions":9},"message":"Renamed jar-manifest.py to jar_manifest.py, added multi manifest outputs to tests..."},{"commit":"7cc903a5f5ca368be97babadc72689375567a901","author":"listuser","author_email":"","commit_by":"listuser","commit_by_email":"","stats":{"files_changed":1,"insertions":3,"deletions":0},"message":"Removed inflating from examples in jar-manifest.py"},{"commit":"c495a8291bd3e1fd070ee2e018b9b550f9c86314","author":"listuser","author_email":"","commit_by":"listuser","commit_by_email":"","stats":{"files_changed":1,"insertions":1,"deletions":292},"message":"Updated test output in MANIFEST.MF.json"},{"commit":"5e1d7d777c627fb17feda6e51d9640bbd0f03302","author":"listuser","author_email":"","commit_by":"listuser","commit_by_email":"","stats":{"files_changed":8,"insertions":304,"deletions":2544},"message":"Renamed metamf.py to jar-manifest.py, plus other changes"},{"commit":"7edad3f676fe5560017ca9cb05ede6f46787e78f","author":"listuser","author_email":"","commit_by":"listuser","commit_by_email":"","stats":{"files_changed":8,"insertions":3042,"deletions":0},"message":"Create key value pairs from a MANIFEST.MF file, to include key multiline value pairs."},{"commit":"f7331001d4ab976e311458a16b6e5337da2e3aab","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":9,"deletions":3},"message":"use github releases instead of packaging site"},{"commit":"f8e09ae2ffe185d21305d566fad20f510df9890f","merge":"2e4f5a5 433c7cc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #187 from kellyjonbrazil/master\n\nsync to dev"},{"commit":"433c7cc0f05e321ffe024845a908f3e856d4cd2b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":0},"message":"formatting"},{"commit":"d753e71a7452310d45fa605a2e4c70320ed60dbb","merge":"3ac8d03 2e4f5a5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #186 from kellyjonbrazil/dev\n\nDev v1.17.5"},{"commit":"2e4f5a508b6c90f9e03dcbcf64efc0e2fc446666","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":6,"deletions":3},"message":"version bump"},{"commit":"88b960eff6cb3739d0d243c8d8b3e8ad5b8eb97c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":144,"deletions":1},"message":"doc update"},{"commit":"88c77bd89e2c2a5f023e6638816c9153b6276d35","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":47,"deletions":0},"message":"add zipinfo tests"},{"commit":"51a7a4251fff518d8da78ffa41e7ba2e2cb47f12","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":24,"deletions":0},"message":"add multi-archive test output"},{"commit":"51d2f316f388d962c26aeb4f42affebec339e5a2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":97,"deletions":72},"message":"add multi-archive support"},{"commit":"ff78a46c4854339a097992701351ef471aff1671","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"add zipinfo parser"},{"commit":"ed4a9dc1d470f64bcc9de35b2d98568ffd50257d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":21,"deletions":23},"message":"formatting"},{"commit":"63182dba26040974cb8cada6f5910bb29b1fa3ed","merge":"b450697 9c1eaa9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #185 from listuser/new_branch\n\ncontributed zipinfo parser"},{"commit":"9c1eaa938934269fe4179da798acf5f119cde0cf","author":"Matt J","author_email":"none","commit_by":"Matt J","commit_by_email":"none","stats":{"files_changed":2,"insertions":68,"deletions":61},"message":"revised zipinfo.py nested version"},{"commit":"bc520fcbcdfad6a53e51944391fd24512bed8128","author":"Matt J","author_email":"none","commit_by":"Matt J","commit_by_email":"none","stats":{"files_changed":2,"insertions":63,"deletions":53},"message":"added zipinfo.py nested version"},{"commit":"46faac1a12a5b39d6a25427f6e8fdcca1204dbcd","author":"Matt J","author_email":"none","commit_by":"Matt J","commit_by_email":"none","stats":{"files_changed":2,"insertions":1222,"deletions":0},"message":"add test data zipinfo.json and zipinfo.out"},{"commit":"3c424c0cb3cff462a963183585b57bea004e974f","author":"Matt J","author_email":"none","commit_by":"Matt J","commit_by_email":"none","stats":{"files_changed":1,"insertions":165,"deletions":0},"message":"initial commit zipinfo.py to new_branch"},{"commit":"3ac8d0362b4fb9999fc55a60a9cb20ac80d114f7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"use quotes around python versions"},{"commit":"d88b998e6c7826a9ecae18663328e2d2915030fe","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":8,"deletions":8},"message":"formatting"},{"commit":"a9ed55c00652a563391a7930c7a4649967131ae1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":11,"insertions":11,"deletions":11},"message":"fix spelling"},{"commit":"ea614341232e5272ee0c7fd46ba0f313033c761f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":16,"deletions":8},"message":"fix schema docs"},{"commit":"a73d0d26cbe2860b8374661068e09e0717a3bab2","merge":"a7de911 b450697","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #184 from kellyjonbrazil/dev\n\nDev 1.17.4"},{"commit":"b4506976e3c865397bc657183d49c484d8bcfd7a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":7,"deletions":7},"message":"formatting"},{"commit":"34cb75a09697a06c3878f2f9a84eb3bd2a90ae62","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"version bump"},{"commit":"34df643f60712ae25645cb7cddff80e43c12262b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":18,"deletions":0},"message":"add disable colors section"},{"commit":"ac7c13fcc013d386f34db51d634298fa3e97eccd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":11,"deletions":1},"message":"add -C option to docs"},{"commit":"4fdb34c7d5fcaa65e2ccab814c3acf2f0f70c442","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add no-color.org"},{"commit":"7ac468e35aac1a63c4e22f33aead74a6e41a22a6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"changelog update"},{"commit":"df190aa299f1669d1fe09380026ae086839abc02","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":15,"deletions":7},"message":"add -C option to force color even with pipes"},{"commit":"9621475e86fe20fcdc2902b6ce7860a833ae2ca0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":0},"message":"changelog update"},{"commit":"82e0160de820ad2ed6143f58458711d600b929a3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"refactor NO_COLOR test"},{"commit":"d03fb8b626a97e81006d0b108c8f400fe4e2ce3b","merge":"b300dfb 7933dfd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","message":"Merge branch 'dev' of https://github.com/kellyjonbrazil/jc into dev"},{"commit":"b300dfb3d75fe76e2ddbb087ff742dd0b5e6155b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"Add support for NO_COLOR env variable"},{"commit":"a7de9111d97e687cafbc0709ec3ff7453d658a80","merge":"21e69a7 7933dfd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #183 from kellyjonbrazil/dev\n\nDev v1.17.3"},{"commit":"7933dfdbe7bf400833d6f6b771362dfc518b9a8d","merge":"f7cb5f7 21e69a7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge branch 'master' into dev"},{"commit":"f7cb5f7d01ac01538bee4da816408072b585768e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"update date"},{"commit":"a26a298f1a3c141171e7d7ce459a27a297cec031","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":148,"deletions":1},"message":"doc update"},{"commit":"dbd134d0dac2fc152183480958fd9e65919ac98d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":2},"message":"add examples to docs"},{"commit":"11aa01b0d9d6913059f98f9bd7591d7cad9037cf","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":15,"insertions":15,"deletions":1},"message":"iostat-s tests"},{"commit":"6f18e5344356684e845ec63158c570d82156254f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":203,"deletions":0},"message":"fix for null lines"},{"commit":"7b467c466568ad4e7986d4d7cf3ec606681b6d46","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":9,"insertions":137,"deletions":0},"message":"add ubuntu 20.10 tests"},{"commit":"537b8f263087894c02b5b7c121765cf96182a370","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":2},"message":"add more int conversions"},{"commit":"4d823575e791999e200dedd491511c4fde64fc2e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":2},"message":"add more float fields"},{"commit":"541aa1d09f20ff6979eabaa66790decb3895f18d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":68,"deletions":8},"message":"Add new field float conversions for iostat v11"},{"commit":"8f02021014b7b19acf1a8bbd777161aa82c65d66","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"formatting"},{"commit":"158a15157c7e5dde95dc21766d0696bd82486688","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"changelog update"},{"commit":"2752e0d66a9ba0b57ac86913fd302ada23c280c0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":166,"deletions":0},"message":"add iostat streaming parser"},{"commit":"6c11e912afe3c4d16da9199b5c2fc10461928ac3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"update changelog"},{"commit":"43d34461e27e3e4ac5f985786831c170b348c7c5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":83,"insertions":279,"deletions":81},"message":"update docs"},{"commit":"4dfdc9b0f65d8c950ed74545d0cc3f95c8abec6c","merge":"e2311cb 6665ffa","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","message":"Merge branch 'dev' of https://github.com/kellyjonbrazil/jc into dev"},{"commit":"e2311cbb03f407414df953c8d1c07d0cf1a549ca","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":21,"insertions":400,"deletions":0},"message":"add iostat tests"},{"commit":"bf15575e90985cfec5c57dd11dfa2b86d53a41be","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":14,"deletions":7},"message":"fixes for ubunut"},{"commit":"406336c7185b539b5e00532b58146d5b1b73f259","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":44,"deletions":0},"message":"add iostat example"},{"commit":"6665ffaeb8107e9db3b917db0663beaf44024533","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"remove python 3.6 from tests"},{"commit":"dcf552ca0c69aa5f0309a83dc33dee7c5ed81292","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":138,"deletions":47},"message":"add _process and cleanup"},{"commit":"7a6ebf3c9555dd82df7dc0b71981cdd32ce0061d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":171,"deletions":0},"message":"add iostat parser"},{"commit":"d2dc4a983c86c538e13e568b908072de4ca0daaf","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":1},"message":"changelog update"},{"commit":"1168259bc23862f671326d41f5282a3575205214","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":0},"message":"add doc strings"},{"commit":"e8e4b46021557fbf5776c32dff46de022817fb6b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":14,"deletions":19},"message":"use jc.utils type checks"},{"commit":"12d2de22821fd8f57f4d412e62f53db3d89d5e30","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":77,"insertions":181,"deletions":165},"message":"use jc.utils.input_type_check() and simplify compatibility check"},{"commit":"0e2fe401e1c49a9f947d7d17b72cfc4e90787f47","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":3,"deletions":3},"message":"version bump"},{"commit":"14247adb0ae007924ca551a706eb0cfdbae97a41","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":5,"deletions":4},"message":"add input type checks"},{"commit":"3a9f0934c41c85ea7fa87165b9559f08814645cd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":5,"deletions":3},"message":"add input type checks"},{"commit":"caf0a5c8713bf0d72951a2c6fd5a2c62c9eb59d3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":7,"deletions":4},"message":"add input type checking"},{"commit":"cfb58b1cf3e3028f8e03fdd93f0165cf8d230e1e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":3},"message":"add input type checks"},{"commit":"975cf195cc02774f50460ca479d9ebb7b73c7870","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"formatting"},{"commit":"8a46a259a36efc55bb0b2141acb9dd5ae52b7725","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":4},"message":"add input type checks"},{"commit":"e395142e599aa78b4a7ec80dcc3f8ccf279f97b1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":5,"deletions":2},"message":"version bump"},{"commit":"caaeaf0d67cf44f8d2651cc53a7528d3ef0c74d3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":76,"insertions":227,"deletions":227},"message":"add 'str' type check on input"},{"commit":"21e69a7cbf62240238f6fb78e874dda6ce2e922a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"ignore _config.yml"},{"commit":"603964935b58e02cf0614cf67ffacc6d94755e05","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"remove trailing whitespace"},{"commit":"47eb83ae55b9892716fff712bd2be21b6191b552","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add .vscode"},{"commit":"fc0ce6c95923ab124961e695a26c0b68dd0f359f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"add streaming parser to custom parsers info"},{"commit":"077a29fb4eedcfccb026498c5c3a64b7b7601363","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":14,"deletions":2},"message":"add _jc_meta field info"},{"commit":"8568d0d328706a7a5b1476452e078d8cbe7b7391","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":7,"deletions":3},"message":"fix csv_s documentation"},{"commit":"597d39c28ea0c0fe3b072413e9d91ab5e27b62bd","merge":"b59e38c eb888dc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #180 from kellyjonbrazil/dev\n\nDev v1.17.2"},{"commit":"eb888dcbbcf83c9197bd59aab72f65ea6eb622ba","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":3,"deletions":3},"message":"version bump"},{"commit":"d1b9ac0841b15ee15690c4066453a322618320ed","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":4,"deletions":4},"message":"doc update"},{"commit":"89a6d9c5c39b74f1b040f410659bfd7ae1a902d1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":2},"message":"add key-check to restore previous behavior even with non-df data"},{"commit":"85d983761637129cb85abfb0bbdde7c507061cd2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"add df info"},{"commit":"cd7731484d826d84d835ecd460d746e78cadc5fc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":62,"deletions":2},"message":"fix for cases where the Filesystem data overflows the column length (happens on older versions of df)"},{"commit":"086da16b1743c16a5ccdd102f889fb31f99e3caa","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"version bump"},{"commit":"20830528f04a5ecbe78420d8008249b089667767","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":28,"deletions":0},"message":"add test for older netstat version fix"},{"commit":"83371edd8fe3d23dfa92fc707604086522c85ab9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add space before inode to compensate for removed dash"},{"commit":"364a81decc16742e3caa070d90b1d605d96fe2c1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"version bump"},{"commit":"ef09592ad3e5c9a77c1bdebe8f876fc4dde54834","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":0},"message":"update for 1.17.2"},{"commit":"4a86e109ccb254d5195b782f84f3967c96ef726c","merge":"5ba22da 7fa5391","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #179 from shaikustin/ping-alpine-linux\n\nsupport alpine linux ping"},{"commit":"7fa5391b6613e62689c624041e03f9750c9c7972","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"change alpine ping6 to ping"},{"commit":"9b53ba5714819ff760f2d4546f5d2ee4d521c080","author":"shaik","author_email":"shai.kustin@torq.io","commit_by":"shaik","commit_by_email":"shai.kustin@torq.io","stats":{"files_changed":6,"insertions":45,"deletions":1},"message":"support alpine linux ping"},{"commit":"b59e38cfd2c8a7f5868e05d5562557b1c27e5e56","merge":"30cff5f 5ba22da","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #176 from kellyjonbrazil/dev\n\nDev v1.17.1"},{"commit":"5ba22dae597b9d154ca0a82f71cfbd8d8a6325db","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":0},"message":"add JSON lines info"},{"commit":"4232e523acc523e510b4881d2a57a95b88ec8c8b","merge":"bee80b3 30cff5f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge branch 'master' into dev"},{"commit":"bee80b35d2b8c15e6233f2798e9c02a11e9e1e9e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":6,"deletions":6},"message":"update for version bump"},{"commit":"c32395f6950d6294770ee93e8bf4d79c7d275ac3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"linting"},{"commit":"735c5e1078cc27b5cba03b8ebbae15aeca6b8fbd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":2},"message":"update comments for ParseError test: https://bugs.python.org/issue45617"},{"commit":"d09c94b292ca3beec92a00f8a51b7259dd30a1e5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"add python 3.10 testing info"},{"commit":"4d04866f48f72b9ea0d213dc1533729d3b68a503","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add python bug https://bugs.python.org/issue45617 info"},{"commit":"a2d90f4dfcdc2cb00c6c0fa957493c95a21e256b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"force test"},{"commit":"93a5002c8b530bd6f5f81e5d8595cde1f836ae41","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix 3.10.0 version number"},{"commit":"23bf5227a4c39ea017e55fc21150331e1af6fdb7","merge":"77c96fa 3f5a1f0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","message":"Merge branch 'dev' of https://github.com/kellyjonbrazil/jc into dev"},{"commit":"77c96fa2a96148221bde7d2274e0dfb5386a166f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":2},"message":"try tests on python 3.10"},{"commit":"3f5a1f015e9c0807e227b9f7300592e25502e014","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add python 3.10"},{"commit":"b280c4fc18e60a85ab212b09aa5bf3a05a0eceff","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":11,"deletions":19},"message":"add ParseError test to streaming csv parser"},{"commit":"3ab9b43a2eebf535be98c94810ac474bf32ec515","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":7,"deletions":7},"message":"raise ParseError on newline bug"},{"commit":"46f568414a5c8d2f135486e86d0ada48cfcefeb0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":96,"deletions":89},"message":"change streaming parser test names"},{"commit":"cba2fd299fff09a551b780e064a6e22bdf7e539a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":9,"insertions":75,"deletions":61},"message":"add tests"},{"commit":"1e6e44f656f1bbb277eb38fb485f7b48e3b9e40b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":0},"message":"fix for piping data with non-platform newlines (e.g. windows csv files on unix)"},{"commit":"acac0399946d9781193e9350dd7109f1dd3999fe","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":149,"deletions":0},"message":"working tests"},{"commit":"50a3b340164b3139f04f67a2bee16e5343c8a2da","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":8},"message":"optimizations and use iter() so we can exhaust data coming from list objects"},{"commit":"b45396070cf28fa36ecb44acd7be3e3bb81a712d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"update comment"},{"commit":"218b9aec8ac397e26e6cd4ff407f3d10ef88ea9b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":87,"deletions":48},"message":"doc update for streaming CSV parser"},{"commit":"2b887debc647bd533040e392465967d12869cb02","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":10172,"deletions":1},"message":"add csv streaming parser"},{"commit":"0313e3f8ca0e22e1575192d765d5afedf48e94df","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":9,"deletions":6},"message":"linting"},{"commit":"1669e6e20c3af3d28968558b76d0901a56775ac0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":23,"deletions":28},"message":"linting"},{"commit":"ef6de75dda90c7221d53e0e0a942f0cac2247354","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":0},"message":"add vmstat timestamp tests to utils"},{"commit":"a6bcec425a3f44ba3c7cd06b5ebaf522b66df109","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"comment update"},{"commit":"596ad9a64d002ced212b08512126e52707fe73d2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"update comment"},{"commit":"7a91c93319f75c37ba6bf268d8270947f0bf8b22","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":122,"deletions":0},"message":"add lsusb"},{"commit":"b5f7b35f89197879a9f13bd8fa5d2a0c77cc059a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"comment update"},{"commit":"2f47fb7f14c4ff0e1c835897d94ee81d14590aba","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":2},"message":"fix ParseError tests"},{"commit":"1b214c403657a50689f2a04892ce836dea669a1d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":30,"deletions":0},"message":"raise ParseError if -t option is detected. add test"},{"commit":"8f94f8acc6bb53bbb19ba150551c7df2183a8863","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":11,"insertions":384,"deletions":3},"message":"add tests and update docs"},{"commit":"3a2a69cfa55e2f40d7536d923170a5cfc986998e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":0},"message":"formatting"},{"commit":"f599c659881248b79c6dbc86d85a61311c9d3434","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":464,"deletions":0},"message":"add stress test examples"},{"commit":"ad12849fd9fc2177afb30740acc63cf284dc394b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":138,"deletions":26},"message":"update docs example and"},{"commit":"f36b3789e8df6673207d6c2d3d0796acfdfe011d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"formatting"},{"commit":"6d18c0ba61cd188dbff736f1be47b7362c841687","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":47,"deletions":47},"message":"change variable name last_attribute and last_attr to last_item"},{"commit":"17097abec9567a58b5a5f7bbed11ecfd69cbd28c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":6},"message":"formatting"},{"commit":"b7ddd3b285f205211394edc70b611171cf72a4c5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":22,"deletions":22},"message":"change variable names"},{"commit":"75b23f62c9d7b33907af92964d1a6234332fbc78","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":35,"deletions":7},"message":"working configuration_descriptor and device_descriptor attributes"},{"commit":"f88967b2a59d79e053554d1e141f71e9d2d87456","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":126,"deletions":21},"message":"add attribute lists up to interface_association"},{"commit":"ba2846664b35b2e94aa905431c55c029b24a64e3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":22,"deletions":2},"message":"edpoint_descriptors attributes working"},{"commit":"10dba37ca2624e05eff246ef49df8ebd3f275d86","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":28,"deletions":1},"message":"hub_descriptor attributes working"},{"commit":"0e6f938514965503f1d86d56c047f9f8fc03ac65","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":36,"deletions":45},"message":"working hub_port_status section"},{"commit":"159d87c1126f4d79d5e34837bc2c353a5445803b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":18,"deletions":7},"message":"add length guard and test for uname with no -a on linux"},{"commit":"9e7b1621cf232e9859bdf018737e536820f380a0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":18,"deletions":18},"message":"device_status working"},{"commit":"2057817ef8fec85b2a978b682e7fe8bc16def828","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":11,"insertions":89,"deletions":0},"message":"add uname tests"},{"commit":"a1eabad2d37bb0d0e9407edf7305e223eba67da2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":1},"message":"add comments"},{"commit":"92bf2b1ca2a172d3977d6e3c36b5ca1a8c2bab63","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":8,"deletions":20},"message":"simplify fixup logic for uname"},{"commit":"2b2123a4ba9b77d2089d367fe85dcb5d2857a295","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":3,"deletions":2},"message":"add FreeBSD support"},{"commit":"908b2f9200ddcce4beb531a3c90908786b6a5b02","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":1},"message":"add items"},{"commit":"deff0c7bfdf942b8d7e7bd140219e08bf80a50cb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":5},"message":"remove print debug"},{"commit":"7cd01efa64029775042a2c145997ce30ef6b4f6b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":25,"deletions":1},"message":"fixup for cases where the 'process' and/or 'machine' fields are blank on linux"},{"commit":"2dbe56456bbea2bdfce7eacbf8b9f10a1b249f55","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":49,"deletions":39},"message":"add nested_dict. start work on hub_port_status and device_status"},{"commit":"6078a411ef612be8bad012aa404f34ebd74a1fd7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":79,"deletions":4},"message":"add initial schema doc"},{"commit":"4a3656562f161a51f5cb6f0e9ccd271859b78d62","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":0},"message":"del null keys"},{"commit":"ba75989a24839907723ed7c3d7a497473d489a34","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":5},"message":"update comments"},{"commit":"9e9e2c362894f0072ab839565829881d750c8912","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"move state instantiation before has_data test"},{"commit":"9a2a8c6b61a46a9bfb5a4492b86774a4a78672ab","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":20,"deletions":52},"message":"shorten set_sections"},{"commit":"dae42ef1619441637672d634f9e5d7ab26115f09","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":18,"deletions":1},"message":"add hub_port_status and device_status"},{"commit":"931f2cab78bda180443535c04b532d04c6e88dd0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":14,"deletions":11},"message":"add hub_descriptor"},{"commit":"72b061bed4453686d264ccf8977cba6c2a4794ec","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":32,"deletions":8},"message":"add endpoint_descriptors"},{"commit":"29a7c73990d9620b15a4010d17fc9a9a859f44b4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":16,"deletions":0},"message":"add hid_device_descriptor and report_descriptors"},{"commit":"2d1d68e3007f76d4c34ac07ae822935ab6021e79","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":87,"deletions":88},"message":"simplify populate_lists. Add CDC lists"},{"commit":"c5c1e170d1f502de5c76e9e481a23b26ffcaf237","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":111,"deletions":76},"message":"interface descriptors working"},{"commit":"9c1bb66452838e704ef2277f313bb51a42dc03b9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":9,"deletions":9},"message":"fix remove _state field during schema_populate"},{"commit":"a4f3306bae90fbc807fdd9ff2ce71e25d36a663f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":69,"deletions":28},"message":"initial schema build. need to figure out why deleting _state from output_line causes exceptions"},{"commit":"1bc638b6ee7a820406ba4b84d3408f7cd4fe779d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":36,"deletions":32},"message":"add bus_list and add all device_list data to the list"},{"commit":"9ad0cd9dae8822235c37159541ce72471eb4263e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":116,"deletions":211},"message":"now storing state within the objects to make building the schema (later) easier."},{"commit":"6d4a4691276d8659253b2ac8f8bdbd71a1fece7d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":356,"deletions":333},"message":"use class for state"},{"commit":"ed6997e3ff2e575a6d4daa7d7a2cbe7dddacdd4d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":170,"deletions":34},"message":"add interface_association section"},{"commit":"eb788fca6e25eea1fa8a43b22360c852ecf5af35","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":919,"deletions":0},"message":"somewhat working lsusb parser. needs a lot more TLC"},{"commit":"9186f5f37739012b8c04c776310a20ef55b1469f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":99,"deletions":4},"message":"fix file parser for gzip cases (has ': ' in the description, which is the delimiter)"},{"commit":"30cff5f28140a5b20a617c8145c13e43b7b6685b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":8,"insertions":17,"deletions":3},"message":"add note that the streaming parser outputs JSON Lines"},{"commit":"b724e0969a0d6b22bed0c77eb8d629381179ea3f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"-qq instead of -q"},{"commit":"a62c49e8715873b068a96da5021ea24a783acd6b","merge":"77dcbc5 9b160f6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #172 from kellyjonbrazil/master\n\nsync master to dev"},{"commit":"9b160f6279bbbf0c15413c98922eef137ba2f3f4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":4,"deletions":4},"message":"link update"},{"commit":"338a4e2612f70bb3e2af31f61a7db75f647293fe","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":4,"deletions":4},"message":"formatting"},{"commit":"0140688750be61dd752059ee66734ab1c7a8f30e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":8,"deletions":4},"message":"link updates"},{"commit":"73e5ea98c1ca2b9299085e3832791162eca3b9ff","merge":"528aac7 77dcbc5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #170 from kellyjonbrazil/dev\n\njc v1.17.0 from dev"},{"commit":"77dcbc544da271edab5de5ad209117e98c846f9c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":2,"deletions":3},"message":"final doc update"},{"commit":"c7bcb0947ae32acc9cdba7a6975d2f2557f10a39","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"indent subsequent error and warning lines"},{"commit":"5cd3f7f71d38b560a88dd6057e9c7a94991a3d71","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":1},"message":"Add example to raise ParseError if there is no output data to yield"},{"commit":"5044388ab2e8d7d8b427fd51b0ab875611bd127f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":3},"message":"raise if line data is unrecognized"},{"commit":"ee075db59819d80e4dcb60ddbd9cfe2fd529dfe9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":5,"deletions":7},"message":"linting"},{"commit":"9904e0be61e7c81b907bf3770f111346daeff481","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"formatting"},{"commit":"31b69b3242eeca2c02f87c31d58193dd3f06fe49","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":6},"message":"formatting"},{"commit":"e6a80fea3228122dd84e17672c835c0460ad1342","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":7,"deletions":7},"message":"formatting"},{"commit":"d6aec00e038d1ecfe43c13a6909d50630455b372","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":27,"deletions":1},"message":"add vmstat-1-long tests"},{"commit":"4aa7d81e11ea7fcfbb5c9d74337cde617b1a0d5d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":50,"deletions":2},"message":"ignore re-printed header rows in output"},{"commit":"48cdabc3b0862d6291e1ec59ab385e0e146c31eb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":16,"deletions":0},"message":"document timestamps"},{"commit":"a1791ef5479749692c79bbe98fc7687d70cd6cda","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"linting"},{"commit":"7bc87f6c2d4cfcfa656a1c1b8973a4c0414c85d9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":8,"insertions":8,"deletions":8},"message":"change _meta to _jc_meta"},{"commit":"bbed9e274b8252ba0518140fe7fc97029310771f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":154,"deletions":159},"message":"linting"},{"commit":"486282b9856f5e56cf43ee1399d8e7cb78353b32","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":5},"message":"linting"},{"commit":"a4d45b653f794033978940da14910f5d607a8254","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":4},"message":"linting"},{"commit":"22e151b01c0f97c141d912c9646e46df0320d622","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":56,"deletions":60},"message":"linting"},{"commit":"7a4ebcd1ecdb4929aae70e44b4f9b6b5ab52b393","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"language hints"},{"commit":"651cbfe02fbb354c4caf8e0d022655642e7caed3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add streaming foo parser"},{"commit":"8c3e764516e1c28961b09380b638a57ce98b1261","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"add streaming parser to contrib guidelines"},{"commit":"b4e75da7e3f23502723ce8b2a7261b376f296864","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":4},"message":"formatting"},{"commit":"37223f086cabc8db5962415bd161fed151dafb9d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":4},"message":"formatting"},{"commit":"a404033735c2c8075a8e08194197eae59db70afd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"add error and warning message wrap info"},{"commit":"b7433ed085c0ba22ea0d49330871a651a8d83fb4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":80,"deletions":41},"message":"auto wrap warning and error messages"},{"commit":"224d3d65ada4216e28e142d411b0c2c3358517b3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"Add exception class name to error message"},{"commit":"a349fb0bdabaf74503831f22c4efbd02254f809d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":10,"deletions":8},"message":"change _meta to _jc_meta"},{"commit":"e7ddcfb83fb295034db44ade407476ff3a962cd8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":14,"deletions":12},"message":"change _meta to _jc_meta"},{"commit":"abd20dfe3662f65373ac582c70aa740e53b52f68","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":4,"deletions":4},"message":"formatting"},{"commit":"dc1fd3ef1be41aee349b159059f1febff76f6caf","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":12,"deletions":12},"message":"fix -qq docs"},{"commit":"98a7686db46fbd3ed98382867976249f307d0015","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":18,"insertions":160,"deletions":152},"message":"use -qq to ignore streaming exceptions"},{"commit":"9c6c6c4330fc68115be012de254161f36e3a8328","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"add next() info"},{"commit":"f9be5651daa891e06ad0acd8980ffc0fe51fd29d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":6},"message":"add language hints"},{"commit":"df9835a3e62bb2b3b6ec8b55f06a25a00a799d92","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"formatting"},{"commit":"92363be2dd633bdd3c2dd07c72ebd281d2cb4565","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":4},"message":"fix streaming python module example"},{"commit":"31b62030156f9c826fe5c7d127e9dd0ace582dd0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":6},"message":"formatting"},{"commit":"18805858d685d456f9a38540bbaedbaa1a411546","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":3,"deletions":3},"message":"formatting"},{"commit":"e676f0e20fb6e96a536c4d182b0d287cdc1ad0f7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":36,"deletions":6},"message":"add streaming parser info for python module use"},{"commit":"20652edefaa7705b8ba756bae3944ff362a295a6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":3},"message":"update changelog"},{"commit":"98c29d07478093e78f53ec633f2dd08cafc3e3ae","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":8,"insertions":120,"deletions":0},"message":"add vmstat tests"},{"commit":"41a6311f6b3ed2cc94919d042aed51c46cdf3e2f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":9,"insertions":132,"deletions":1},"message":"add streaming parser tests"},{"commit":"978760ec57e04e3ec347c8764bfad015b6dddbff","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add exception class name to error string"},{"commit":"d410425537817964ceb7b61e0fdff6c03fdf8766","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":136,"deletions":136},"message":"replace single quotes with double quotes in doc"},{"commit":"6b7430329cbe1bfb95b47bcfe031906641c127e1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":269,"deletions":1},"message":"doc update"},{"commit":"40fe0d4a6081a1233bf5c3eb51a01da1f12bc4dc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":141,"deletions":22},"message":"working parser"},{"commit":"365c5354a0349e470558d15243217a064e73da38","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"remove debug print statement"},{"commit":"b246a05cbb4c1c564f81b3e72cecb62edbe6ced6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix vmstat-s name"},{"commit":"9e5a7a4abb8668d043625951a05eb5733cbbd56f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":37,"deletions":0},"message":"add vmstat sample output"},{"commit":"f266acbccafc040c375723147b8e5d7fddb1e697","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":106,"deletions":14},"message":"add processing logic"},{"commit":"4e3b471f1801f1b9006b18cae2a3d816f361262e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"add format for vmstat"},{"commit":"5e28736c2e0c951e71e6531e03a9619279d95d3a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"add vmstat and vmstat_s"},{"commit":"a91913a3b517ea0dbb25d6e4cc92850eb2fde5ab","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":106,"deletions":0},"message":"streaming parser template"},{"commit":"90c64f0ae0d97d025adee40970d89baca79ee4ac","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":182,"deletions":0},"message":"initial working parser"},{"commit":"7cc642ed1a476abda709ac9b79900a1de12e1ef7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":1},"message":"formatting"},{"commit":"809f64d35a92bb3d7380fa9d78ac1421a10b81fc","merge":"ff0fda4 a6f859a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #169 from kellyjonbrazil/streaming\n\nStreaming to dev"},{"commit":"a6f859a55edae50fcc185948736218404cfaa929","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":18,"insertions":168,"deletions":153},"message":"add final ping_s tests"},{"commit":"39ef88078f43708e470d3c1b2fd95e76b5cbeb08","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add destination_ip to error lines"},{"commit":"aeea5e8d2eab2fef3e14637f512aed7b117c4a3f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"formatting"},{"commit":"1a0700bff4bdebbd9f1f92f2fc7a56c4d5ed6925","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":31,"insertions":240,"deletions":213},"message":"add more ping-s tests"},{"commit":"b5fa6d068f240671eb948b055cd4f7bf127e0ec0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":25,"deletions":5},"message":"update docs"},{"commit":"1baec0b420feff068f2dc1e35499f78aa7d0a6e0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":13,"insertions":815,"deletions":0},"message":"add some streaming tests"},{"commit":"4f2a4e1dee9d722d2aa5ddf2c082a358c88cf640","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":8,"deletions":0},"message":"skip blank lines and warning lines"},{"commit":"758d617668d1f9d0f27b52d46749e5b67a570cf1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":5,"deletions":5},"message":"doc update"},{"commit":"55322c37f57a9c8e28641a61928fad2329f5e50d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"formatting"},{"commit":"d19ea5552bb3a379f7f92bcb58794c557ecc6647","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":12,"insertions":193,"deletions":0},"message":"add streaming ls parser tests"},{"commit":"130c3527c1083d399deef00ee8fcaa75f609b485","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":25,"deletions":25},"message":"update docstrings"},{"commit":"3f221f471416766a860bd19850afda4899ee5eb3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":8,"deletions":4},"message":"doc update"},{"commit":"d64c4cb39056bb869fc117477612ae5ae2ef3d85","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":141,"deletions":1},"message":"add streaming parsers section"},{"commit":"448c56aa46b72438e4a4c83b10a7eb889e3f50e7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"formatting"},{"commit":"9fbea15b6d031baa8c90f2602e39de7cf51408e2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":8},"message":"rename state class to _state"},{"commit":"932060314b3c1ce518b9f57532e124285cb3ad0a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":41,"deletions":11},"message":"doc update"},{"commit":"5e68ae50097cb339f3390449db7e3f189a716320","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":3},"message":"import exception. tighten up os detection"},{"commit":"d03541beae44a4571a7d0481af01a5c19506207f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":12,"deletions":5},"message":"add docstring examples. add exception raise when OS cannot be detected."},{"commit":"516fa571d90a0c93134c953c15ce84dd31b96b4b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":2},"message":"remove unused variable. use elif instead of if for linux vs. bsd detection"},{"commit":"a19c12096a8e8de02a6ff761cc9c13ec249d416e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":373,"deletions":143},"message":"initial working parser for both linux and bsd"},{"commit":"758f27945de4f0897405eba02c7908d815ce6e9b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":9,"deletions":9},"message":"change data_bytes and bytes to sent_bytes and response_bytes"},{"commit":"8b1e8d58df22f8542ccaf7bf3e1eabe6132e7a42","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"remove unneeded line"},{"commit":"b967489d085319facee077958deaa04956a98343","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":81,"deletions":40},"message":"complete linux coverage including summary"},{"commit":"870d0218be2641e3eddb114c23d54deb23155f25","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":0},"message":"add unbuffer note"},{"commit":"84020bc2af294cb065105f1399453aefc98eb180","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":12,"deletions":6},"message":"change error_msg to error in -q result docs"},{"commit":"4efe5344e069ed921f208bcbbd097705be2d3b4f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":0},"message":"add links to HN and Reddit"},{"commit":"9182c545134b3d56d27d2c1d9bda678532bdc3fb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":8},"message":"formatting"},{"commit":"28f0ab0b02d21fc060f1ac7181f85552798dc4bd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"update streaming error messages"},{"commit":"90d1a30696b2cbfbb06a55cc0cf920cf8ecd89aa","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"formatting"},{"commit":"130b3738cc57fe261e8ef881a57b7836acd7e7e9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":21,"deletions":26},"message":"shorten successful yield to a single line"},{"commit":"92c7357615af7689db273aa78d666b35a2ec7a70","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"formatting"},{"commit":"c80f8633349c00ea461b8927f9949fe19b2f46ee","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":5},"message":"simplify return condition formatting"},{"commit":"4642c20179d4643e0cf1970b264da7d9d91628de","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":4},"message":"formatting"},{"commit":"5288eb22aadbbc1005b16428b94d2b07e9a75e3c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"add info about streaming parser performance characteristics"},{"commit":"df8387a1a99df69eac5005662aaf56d506fa0efd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":0},"message":"streaming parsers cannot be used with the magic syntax"},{"commit":"cc38c27f44d3f088609b878304cab8eed75fc8f2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":2},"message":"formatting"},{"commit":"64f5357d69fe88b45d710d38948969699e1ca12f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":84,"deletions":0},"message":"add streaming parsers section"},{"commit":"51debb5649bef431e51e543f1c9270e2810aa58f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":2},"message":"add vmstat parser and change from linebuffer to unbuffer"},{"commit":"b48d05a4313b27cf5e69d3e4259542e0b131b60f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":15,"deletions":15},"message":"change from line buffer output to unbuffer output"},{"commit":"4e7f6b337db61b8a106cf958f6b874157909c87a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":17,"deletions":25},"message":"simplify yield statements"},{"commit":"a509d99cafd80862721595ee59ccc4a471b5e5a3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":8,"deletions":0},"message":"add stream_success dictionary"},{"commit":"481e45fb644ac88fa77ef35643b793f179fe6859","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"limit parse error msg lenght"},{"commit":"e9038e1720e1c0e520e2f29b718aa8505cbbb9a2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":66,"deletions":0},"message":"initial streaming ping docs"},{"commit":"8fd9e582bf29275c4daaa3be88ea8d196411b34a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":15,"deletions":17},"message":"doc update"},{"commit":"c1fd6f48a5a3501499c9fca7239673b8555cc7c6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":0},"message":"add stream_error docs"},{"commit":"af615c7f4b3f589ffc1b37cf9834062a04c013cb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":26,"deletions":5},"message":"add line buffer output option"},{"commit":"bf0bc32d7ae6cabe07906207f4f08c2e81802c80","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"flush streamed text for better piping experience"},{"commit":"2d6b53e012181a4c33bab441880c47c0fc0b0601","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":36,"deletions":42},"message":"add pattern support. move unparsable line detection to standard streaming parser style"},{"commit":"51271fea0fbd7bd63863ba05c399b4675dc5b4bf","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":139,"deletions":149},"message":"somewhat working parser"},{"commit":"2deb473e0bc96c0e39ec4074a6df4b941ba2172b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":262,"deletions":0},"message":"initial streaming ping parser"},{"commit":"23eeb33b3da43a679c3bf3f3643cfa552a1164e1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"modify stream_error message"},{"commit":"f50dfaef45632241f8f6972fa19bb17c54a457ff","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":13},"message":"use stream_error function for exceptions. raise on non -l ls output"},{"commit":"55bb71e9d466cc9ee5f7fd8eca1101c941cbcb35","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"add streaming ping parser. update streaming exception message"},{"commit":"dab9357d286962b70224d6fafbf90a4c0cbc9980","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":12},"message":"use stream_error function for exceptions"},{"commit":"27eb427245b5126335cef0adb5e57522272474b5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":16,"deletions":0},"message":"add stream_error function"},{"commit":"260f3685d944ded84396ae3395773d6898803fb6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":112,"deletions":0},"message":"add streaming parser template"},{"commit":"76e78fc0c34b88a90fef876eebef92bd71cd772c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":9,"deletions":11},"message":"doc updates"},{"commit":"1ac944fa028a400ae7b39b811fcf368c9bf5e259","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"add -q option info to docstring"},{"commit":"986bc9b042a940f8dd34f0541bcb9b5840df579e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":9,"deletions":43},"message":"cleanup unused code"},{"commit":"5a7942069b1f3ef3b45992b482bfb6bb973f7e8e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":28,"deletions":28},"message":"add support for parent field"},{"commit":"f6c6fc13ac4c779667807df12444a41ef28a8011","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":0},"message":"enhance error msg when streaming parser is used"},{"commit":"1d8cfae89f24192b6fab087f59c9b8988ef363dc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":7,"deletions":4},"message":"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"},{"commit":"787df51239ffa8260b48d6a3a58e6ff07d5e0f64","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"remove `\\n` from end of line in exception message"},{"commit":"5e7f302a9c45343c36e81944db38a435e6c8a20c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":12,"deletions":10},"message":"Raise exceptions unless the -q or quiet flag are used"},{"commit":"3d10fd40b56264836874da19aa72351e6d5cfbf7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":14,"deletions":13},"message":"remove print flush for better performance. Roll json.JSONDecodeError into the parse try/except block"},{"commit":"57e3bf239cc76d3b0ee0eddc618171eb90c28dec","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":6},"message":"formatting for docs"},{"commit":"ccb09861e82044e17ec51277b3c8875e5ba9d87d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":20,"deletions":20},"message":"formatting for docs"},{"commit":"94551d75dd926c7f558e5cab47ba9483a20c6b3c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":10,"insertions":116,"deletions":49},"message":"doc update"},{"commit":"6e21218425359210591827e936b8d48d9644df92","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":234,"deletions":3},"message":"working prototype of streaming ls parser"},{"commit":"ff0fda48fc48760a7293528155d222c6456f84c4","merge":"e08b61f 528aac7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #168 from kellyjonbrazil/master\n\nSync master to dev"},{"commit":"528aac7ad87feae2093aba563c83a29ebf75e5f9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":8,"deletions":38},"message":"use subprocess in python example"},{"commit":"ab482e521d4cecfffa5393805b1d7de4389db49a","merge":"9c1ad92 e08b61f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #163 from kellyjonbrazil/dev\n\nDev v1.16.2"},{"commit":"e08b61fa81b1bd2304d04db5cdc8b809fe9c6032","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":2,"deletions":2},"message":"add schema note to sfdisk"},{"commit":"ce61bd1d2b4323d9c2d0454c4f646521913ae20d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":73,"deletions":7},"message":"add tests for -F fixes"},{"commit":"7b708f75182bf3ed33478a7de62e9c2496f0b994","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":11,"deletions":5},"message":"Don't convert 'size' to int, except for legacy -d support. Change partition table detection logic to fix -F output"},{"commit":"89ca50c7fc1bf64f34c915e65031d0bc520e6466","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":2,"deletions":2},"message":"add -l to sfdisk raw example"},{"commit":"fb54899dcc2160450448e0d6111557cebdeb0d4d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":38,"deletions":23},"message":"doc update"},{"commit":"0a625ad7ddd9c804052d98930165cd22049546bd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"remove unneeded lines"},{"commit":"d32e45efbe0d71a9a132abfb2855f1f4ccee9916","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":69,"deletions":1},"message":"add sfdisk tests"},{"commit":"c77696bc789cdfd286a7479c3d9f67d23149d0ce","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":6,"deletions":2},"message":"version bump"},{"commit":"736fde9e784587cb2ef344bbf31d876eafea7741","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":147,"deletions":28},"message":"add support for newer versions of sfdisk"},{"commit":"9c1ad92fed9a4b3a0da66d6b71deec8d608edfa9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":6},"message":"fix examples"},{"commit":"1a9fd2139d156a51bf2d25db951e47e96da77f7d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add \"For new parsers:\""},{"commit":"7661e7f27a4e5c379ea37c7f95496aca2c1e2910","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"f857b7fbf7862ddd7eb5ab20470f5dbaacc62119","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add custom parser folder info"},{"commit":"d94d12dbc5fb3e3712b2f1aea949013cb8213e28","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":5},"message":"add foo parser template info"},{"commit":"700916276ae8b0a106410e3dd2ea3e00248ee37a","merge":"473f706 834e523","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #159 from kellyjonbrazil/master\n\nSync Master to dev"},{"commit":"834e52369ceb479776ddc8fc2931790af53b9c18","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":1,"deletions":5},"message":"update man page"},{"commit":"1ce53365de61421c8bd43e04590038083894153b","merge":"2689697 473f706","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #156 from kellyjonbrazil/dev\n\nDev v1.16.1"},{"commit":"473f70668f04a38765559c5dbf0468af24d625c9","merge":"0dbd270 2689697","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","message":"Merge branch 'master' into dev\n\n# Conflicts:\n# jc/man/jc.1.gz\n# man/jc.1\n# man/jc.1.gz"},{"commit":"0dbd2702f6ab2640b2ccdea92411ac0789673e66","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":5},"message":"reformat doc_text for nicer indentation"},{"commit":"01e3764a9b6ba902aea522bf6b7005fd37b3acbb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix join syntax"},{"commit":"ff9c81722ae7221364e9bcb83d98b16b4263334e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":1},"message":"try/except for shlex.join since only available in python 3.8"},{"commit":"166aef7a022ed29862ab2e0702d53c591bb5cc77","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":4,"deletions":4},"message":"version bump"},{"commit":"78caf7646baf5d35602fd76771443cd64bd783af","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add stat fix"},{"commit":"1f99d40cecc5d88a246f3558f71db376ebd885c6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":17,"deletions":2},"message":"fix filename with spaces for osx/bsd"},{"commit":"4c2912d3d5ec1fd2d5d891f2b3c58a33dd8572be","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"use shlex.join to quote run_command_str for better error messages"},{"commit":"45e6e06be581f787f707e3f5645129c713478d16","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":0},"message":"add glob and process substitution fixes"},{"commit":"fdbe3e05f323c95687a1137983f9623911008ca2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":3},"message":"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."},{"commit":"7cc168f6409af13fda815d0d2a6db25b7c9ba367","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add comment"},{"commit":"ff2d609c9b5f5f57f3331e5593e8fe87c01654dd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":12,"deletions":1},"message":"add close_fds=False in subprocess.Popen() to allow process substitution in magic syntax. Also check for too many open files exception"},{"commit":"2689697b4c21758903e5f74ec069e89be585aba2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"formatting"},{"commit":"f90a0ea8ab15629b7786e4431e9c968c3a896ee0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"formatting"},{"commit":"caabe60f849fb2422e47b8f10e0ff35beb706dcd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":3,"deletions":3},"message":"fix kv example"},{"commit":"2bef4ed6038201f54339e750a833260dc1998591","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":3,"deletions":2},"message":"package updates"},{"commit":"ee57be533b12593a33a2abbb2892697f0bd40c65","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix sfdisk example"},{"commit":"c5b7aaca25d6b66d3e44256c2c6760a4cf2956ec","merge":"3b22ce4 7a1be90","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #149 from kellyjonbrazil/dev\n\nDev v1.16.0"},{"commit":"7a1be905bb8654558afb5979b0bd78d4a8488874","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":1,"deletions":1},"message":"version bump"},{"commit":"5798495a11afa2f72ce6f79be785d46240fcbeb4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":4},"message":"add 1.15.7 to 1.16.0 changes"},{"commit":"46171e220252ec92d18e744d2a57c1d6a6dc19f6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":69,"deletions":0},"message":"add sfdisk example"},{"commit":"dd5c924ff505dcc2a9c851d2425677bdf16ea462","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add man page location change"},{"commit":"30c4ab297658228a07ef9b1585516719af3febb0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":515,"deletions":0},"message":"new man page location"},{"commit":"26ea4d47b33277efb0ddafe8f421791696277c07","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":14,"deletions":3},"message":"version bump and deprecate /man/jc.1.gz and /jc/man/jc.1.gz"},{"commit":"2732cd175c1e878210707162de3928f33fb2f201","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":0},"message":"include CHANGELOG in source distribution"},{"commit":"3e54b597be88b0e342e4361b7f2c1af447f9482b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"add timezone change for unit tests"},{"commit":"f10ebea20962084833e5c1ebd9bc90a251bf3ff4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":11,"insertions":78,"deletions":0},"message":"update tests to set correct timezone on POSIX systems"},{"commit":"2c6f3993cb4c5e559dbac7a479ec889aa2cba752","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":2,"deletions":2},"message":"remove extra comma"},{"commit":"708a696920b52c2614edcdba264912527b2dfbef","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":2,"deletions":0},"message":"remove extra lines"},{"commit":"20bbb5d331575c8fc33ba63643882a62650c97b8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"remove extra lines"},{"commit":"223e785b547d9376174efa15321d60a533847c57","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":4},"message":"rename variable"},{"commit":"3d78692c59980e4d70361d3a9f74bacc3f21376e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":11,"insertions":150,"deletions":1},"message":"add sfdisk tests"},{"commit":"5321a15dcf13cf14efe578d0f66b651078c3d8a1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":8,"deletions":8},"message":"update examples"},{"commit":"a452f8252a593f7914ebece53af9d73f4fd11a19","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":4,"deletions":4},"message":"fix integer conversion"},{"commit":"49267f09ac01fead3b20b2d481bb5e0d07af1439","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"change to root prompt in examples"},{"commit":"db47f35783e46a8299533c22146d851509f6ceb2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":15,"insertions":610,"deletions":3},"message":"add working sfdisk parser"},{"commit":"d48abf312c1f55ab31aa11da2b6cf6bc8166733b","merge":"ff7ab0a 3b22ce4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #147 from kellyjonbrazil/master\n\nsync to dev"},{"commit":"3b22ce41105387e7f46a410460cf04759feef197","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":6,"deletions":3},"message":"fix local plugin parser issue where parser has .py in the name but it is not at the end"},{"commit":"c521ca5bc9e2b035cfef6ff65f6b303b3ec44296","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"change possible to available"},{"commit":"3ddc1c665990e1e732314330db214a81ab810fe9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"add jello"},{"commit":"a8e19402b7d1f9f06bc40b81a15dec401154180c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":0},"message":"remove temporary fix"},{"commit":"0927902b30654274743ab9092e90e768709a9937","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":0},"message":"temp fix for wrong url"},{"commit":"572548b42fb6ed9d32a392503d44fac1a8f146d3","merge":"95aec9c ff7ab0a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #141 from kellyjonbrazil/dev\n\nDev v1.15.5"},{"commit":"ff7ab0a1ed7f468d0e84eb3bf0636f53913c490d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":1,"deletions":0},"message":"doc updates for v1.15.5"},{"commit":"5db71b05cb28691bbbaa5d668bcd4a4ac7e68b85","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":3,"deletions":3},"message":"add en_US.UTF-8 to LANG info"},{"commit":"f9b952885aa7f2b450786a08c3879d9e358886da","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add python 3.9.5 packaged info"},{"commit":"e7983bc0b29abaca2147038dfad018cba1e67cdf","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"version bump"},{"commit":"473a6431425fc24a4cc83939ff592e0d49535b9c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":10,"deletions":3},"message":"add windows msi info"},{"commit":"14f3d442cb86250b8f2cdfd7977938634b8abd6d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"d6f4ed9ab55fe9b7c2766fb437172af62a1d5c87","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"add long-form UTC test"},{"commit":"1b8d654444ff8c8b8171c7ac63e2736447a36c09","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add error message info"},{"commit":"6002af0dca334c0affaff3e9acdca416238c7d82","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":11,"deletions":0},"message":"add more error message detail to the user for ParseError and LibraryNotFound exceptions"},{"commit":"0924d822a30c8806f65574c010561cd6f7c8e181","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":8,"deletions":1},"message":"add windows example"},{"commit":"72a37b928924c3edde3a4edb952f98c94aa05f0b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":5,"deletions":2},"message":"version bump"},{"commit":"5eef7bd769f8ffb03ba396833d1b33484041a99f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":16,"deletions":16},"message":"use LibraryNotInstalled exception instead of exiting via sys.exit"},{"commit":"c6893e1bd5283d982a7ecd6f84bdfdd0054ce7a7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":0},"message":"add LibraryNotInstalled exception"},{"commit":"039f6612e491c6f821c001252e122e9b0a781104","merge":"9c57c09 95aec9c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #139 from kellyjonbrazil/master\n\nsync branches"},{"commit":"95aec9c6f9aa8fb4d0dae227410a1346d550f47f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":3},"message":"add info about Magic syntax not supporting shell builtins"},{"commit":"4e9652a8ec2482a64dc029b0ce0e1047a3e49867","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"spelling"},{"commit":"773b7f4b1f23e04c90e602aab05bc1a7e5aae37b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":0},"message":"add space before exit code table"},{"commit":"d17ffde9cdc35392ae25d8e9de5328e46067df2a","merge":"efb1d3e 9c57c09","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #138 from kellyjonbrazil/dev\n\nDev v1.15.4"},{"commit":"9c57c09c00e64a9031391b9b70083ad6ecf0bc0b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":0,"deletions":0},"message":"doc update for release"},{"commit":"4d730a9de5a0d7c064a9a59e3add86e58d9ec492","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add UTC fix"},{"commit":"fc57bcfce24af23f077d6a73f1db4591d8f99c13","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":0},"message":"fix for when UTC is referenced as \"Coordinated Universal Time\""},{"commit":"fa5571486c3c19bb7e836f043545ea4f2509ed4d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":10,"deletions":10},"message":"simplify json_out function"},{"commit":"9996c4fe23564dfb52e3c7dbdbd8bd67edfb1e95","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":10,"deletions":10},"message":"update docs for shell builtins"},{"commit":"038d4290248e6bb94762bb51f69e9958f7c1fecb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":4,"deletions":6},"message":"doc updates"},{"commit":"9bf6facb0d7d76583802309253e7d13ba5148997","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":6},"message":"remove magic command capability since dir is a shell builtin"},{"commit":"965717886e4ebaa6a4a494f189d9fdd01e33eb21","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add exceptions module info"},{"commit":"e9bfc3dd29f914fd91e937f06d7f59c0f91b8449","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":1},"message":"add time format, dig compatibility, windows colors fix"},{"commit":"f46b33eacf070b4dc72c8d8a66aae49abd149e5f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"add windows time format"},{"commit":"f475fe44df2fb2661c5bce4d1e602a4bba7e87c7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":0},"message":"add new time format for systeminfo"},{"commit":"5fdbe2962d84dad89de23f103d97b76b90450206","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"make dig compatible with all platforms"},{"commit":"ab291b9eef6ed5c8ab59b5652f676178941d5ce5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"only force enable colors when running on windows"},{"commit":"fd411fd77273cb7cf872c03ed6a258ccdee4d261","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":1},"message":"attempt to get colors working on windows"},{"commit":"b1e95a60a2461dc401ffc299ef6338b65ef12691","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"remove unnecessary comment"},{"commit":"bb1439f0d53e87f636fba05fbd30c3c79fb16002","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":4},"message":"use ParseError exception from jc.exceptions module"},{"commit":"ba963d98a0a2b3a0dfca6b211096d802253da5fe","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":0},"message":"add exceptions module including ParseError"},{"commit":"83440ccb55d0db15b112b8b7d7352493ff516112","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"error message capitalization"},{"commit":"796f61bfa417afdc6ab48fddbb5502cd0659b840","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":10,"deletions":3},"message":"handle case where the user pipes data and uses magic syntax simultaneously"},{"commit":"070cac4ae12282458a1e1fc8618ebc473d23cacf","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":0},"message":"remove commented line"},{"commit":"3ed84f9f42e4e883ddaac28ab49d675600b49424","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":9,"deletions":9},"message":"reorganize main function. remove pass condition."},{"commit":"a205afb6f355edbb4b98200a980b9601ed0f0658","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"set run_command_str if run_command is set"},{"commit":"a6d983dd8f3871cbc2391c313340167829a575d9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"move run_command_str variable"},{"commit":"b6c8d6d01d740827273265dbb0cfbaf7875ac7f3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":45,"deletions":17},"message":"add exception handling for filenotfound or other subprocess.popen and json.dumps exceptions"},{"commit":"b5a5d5b133f1c0df8023776e59697b7579f8c18a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"set parser_name for magic syntax use"},{"commit":"da528e7814b0cf25a359c3556d0e286e7bf004b8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":2},"message":"move separators to a variable"},{"commit":"4acebf4f621ac564f82e3a97e6810fbb08a9dbc5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":3},"message":"move variables"},{"commit":"4d40808d2b70b7543eadcfd2d35c16ebe91f2f9f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":3},"message":"update comments"},{"commit":"c543f00bd3c737f73144bb2980d12793042459b4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":4},"message":"simplify piped_output function"},{"commit":"947cf41dfab5811c0e76e371231c59a2d6372752","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"add exit code info"},{"commit":"8d8c58742e5106c3387a627cd1b1323a76cc9623","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":21,"deletions":15},"message":"formatting"},{"commit":"995ecc9bfb0425b0ee9e4250395b0200b46c1e89","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":15,"deletions":0},"message":"add exit codes section"},{"commit":"21a15225ebff645439b12d6249dc3e28d7bc09ed","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":18,"deletions":0},"message":"add exit codes section"},{"commit":"48921d4584068fadb0f776ed7e81c21d89172e2e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":1},"message":"ensure exit code never exceeds 255"},{"commit":"342db45edc94ab1c3b3ae70e7cf4ca4076e2c7eb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":18,"deletions":10},"message":"fix combined exit codes"},{"commit":"5f88ecf8443bc6e9a7cda5bc60858f37cc09f4f4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":5},"message":"add comments to magic_parser return"},{"commit":"a56aebfe7024914d2c602278964b99d1443de335","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":0},"message":"remove side-effect comment since it is no longer relevant"},{"commit":"422bb744a82472546d62c72ba05eaa1d18d5068a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":0,"deletions":0},"message":"update man pages"},{"commit":"c3b814a15f571ac84a8ce0719d7fd88acf814caf","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":4},"message":"move imports to the top"},{"commit":"e4574047a0ef6fcd4a47142421a1d05795c7925a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":21,"deletions":21},"message":"update tests for magic_parser function"},{"commit":"0d7d7951f82627d1fb1e20d1398bd7f88c5ce1be","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":7},"message":"don't reset sys.argv anymore. check for 'valid_command' instead"},{"commit":"da904e4770a20ae85fc67476ae4a529564d0a3ff","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"remove final \\n from stderr string when printing"},{"commit":"19b540041add64fe6650c3634ec869421ffbc769","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":82,"deletions":51},"message":"proof of concept for passing command exit codes when using magic syntax. Needs more testing"},{"commit":"f2ffb93eeaf4c8b5aa93f3e8808bdc044582e8a0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":10,"deletions":0},"message":"formatting"},{"commit":"c0c0e05642e0f473cde34178d815978fff8fe1ef","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add dig `+noall +answer` support"},{"commit":"966978f17e40a338f982628825f30a19d4b84e4c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":72,"deletions":0},"message":"add more unparsable line ping tests"},{"commit":"8ab08a5231e082940a62fcde4be218b7ba94be31","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":2},"message":"doc update"},{"commit":"48e534fa03b92b2583c5c6269c76651f3aa420cb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":17,"deletions":2},"message":"add +noall +answer test"},{"commit":"61851c1bd02aa82d5d82e68595e45630ead13d34","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":85,"deletions":3},"message":"add support for +noall +answer"},{"commit":"3c51b2d83d301b4072bbb12fdba4f60b900573da","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":40,"deletions":0},"message":"add tests for unparsable lines on linux"},{"commit":"ee3a28528e152c61f05bdf71f264fe38274b4190","merge":"fe1f101 916bcda","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","message":"Merge branch 'dev' of https://github.com/kellyjonbrazil/jc into dev\n\n# Conflicts:\n# templates/readme_template"},{"commit":"916bcdae3881fc9c9f9a91c8c901a714cff3e1da","merge":"fb14f54 efb1d3e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #136 from kellyjonbrazil/master\n\nmerge changes from master"},{"commit":"efb1d3e6b2db920423511a9dcf4c5e5fd9d6af43","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":4},"message":"add blog title and minor formatting"},{"commit":"4e6ae66bacc014e49c4a9229d10dcc8e95de436c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"formatting"},{"commit":"5ee88e7b679bc163a1916d560be6ff29f51699e8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":7,"deletions":3},"message":"add use cases section"},{"commit":"c3b68903cbd898f80438af342195eec7575aafd3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":7,"deletions":3},"message":"add use cases section"},{"commit":"fe1f1013a74bdf6b4284f11dd59db8ea17e5e5d1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":7,"deletions":3},"message":"add use cases section"},{"commit":"fb14f5439f00d5eaf08651c552189fd4be7358d4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":52,"deletions":3},"message":"fix and tests for unknown or unparsable errors"},{"commit":"5ca0fc364eb22d583bee5633cdd7183c1d70bb6c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add unparsed_line to docs"},{"commit":"a1fe7037e5267ec4aced719eff3715085eb35bca","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":7,"deletions":3},"message":"add unparsed_line field if line cannot be parsed"},{"commit":"c2af7d113ed8e8cf9af985c969cf29858a3c26a9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":1},"message":"add ping updates"},{"commit":"ff034e401d5c33efbc3c4bc2f0e386d81eaae7fc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":59,"deletions":43},"message":"use try/except to make parser more resilient against unknown error types"},{"commit":"5abe095beb4b668e5f55fe8c9588677547e4c2a7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":14,"deletions":3},"message":"update ping docs"},{"commit":"33de5f01e638953c83bb0960dc3550ca4547849b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":3,"deletions":3},"message":"version bump"},{"commit":"8ce155d843806be4ad23491b4401e4eda02e2a1c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":86,"deletions":23},"message":"add support for error replies in v4 ping on osx and bsd"},{"commit":"b921d5ec9583c8f8e992613ae2eaf62165722054","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":105,"deletions":6},"message":"initial support for error replies in bsd/osx"},{"commit":"e21542aaa2aa5f2f287ddc227df41ae47d761332","merge":"d24f9a8 6150aae","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #135 from kellyjonbrazil/dev\n\nDev clarify packaged binaries in readme"},{"commit":"6150aae0aeabafba26d9f119406b0660d9221cb6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"clarify packaged binaries"},{"commit":"f27b35f37104ad2012c3bddde0bd94941af06894","merge":"bd428a9 d24f9a8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #131 from kellyjonbrazil/master\n\nsync branches"},{"commit":"d24f9a885d3954035a98a488671486408f509dca","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":3,"deletions":3},"message":"fix contributing link"},{"commit":"48dd82c8d1b756c4e08d49b8234b8060080dc035","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"trigger page build on github pages"},{"commit":"e57167ad1f240de6ec5fc86c51cfb780535cd783","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","message":"empty commit"},{"commit":"ada91376426ff359c495fb31081404a2cce72b5f","merge":"0c209db bd428a9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #130 from kellyjonbrazil/dev\n\nDev link updates"},{"commit":"bd428a9fd75327710dce96f3c95f74ab9d1beaad","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"fix link"},{"commit":"934941332f91d9e2cc4e691b154bb5427166ed30","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":6},"message":"minor link updates"},{"commit":"0c209dbd108638f89a43801126a332379be9ae8b","merge":"92e2252 56e041a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #129 from kellyjonbrazil/dev\n\nDev update readme"},{"commit":"56e041aa260b2daf2f5662fae98645a93137adb5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":0},"message":"add Practical JSON at the Command Line blog link"},{"commit":"cf9d48582e4e5df6c8498b916a2f9cf036869f3d","merge":"35464bb 92e2252","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #128 from kellyjonbrazil/master\n\nsync branches"},{"commit":"92e2252bee00482bb0eeae3074b107d4c8553e4c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"fix typo"},{"commit":"fd7861db11e5aaa17c4e7bbce942c0c096116e30","merge":"fcc7e52 35464bb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #127 from kellyjonbrazil/dev\n\nDev v1.15.3"},{"commit":"35464bbbfb6b424ef3ee1c855557ada1bf3769fa","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"date update"},{"commit":"db8ddd7f0e0c2a8bd3e545619e81d3d3972a4d7c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":11,"deletions":17},"message":"fix for scenarios where the default port range didn't always display, or overrode existing port ranges."},{"commit":"72207c54ee5734e3d2d3d1a063c8daf1edaa8815","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":102,"deletions":94},"message":"update ufw app info docs to support multiple apps (ufw app info all)"},{"commit":"a683f68003ea64dd5e2c4f06b53a1561ad774f12","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":9,"insertions":285,"deletions":202},"message":"change schema to a list of dictionaries to support `ufw app info all` use case"},{"commit":"8d2d3db3fa969456342181a226bf54a3f1613542","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":4,"deletions":0},"message":"formatting"},{"commit":"eca785450d1c72687817d09259fa7cd33376fafc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":34,"deletions":13},"message":"add caveats to readme and manpage"},{"commit":"5b40a97ce417687b4e37f320b8a3f07dd7fd169c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":13,"deletions":0},"message":"add caveats to man page"},{"commit":"66cb4e9bde81b9290c1addaf851de5d80a1b0702","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":216,"deletions":234},"message":"update ufw parser docs"},{"commit":"d1f33645caccdb3a55576081c4d355f997ac033c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":26,"deletions":10},"message":"update ufw tests"},{"commit":"5eff65c326675a449afd05a2af0a6c9bcf7b5e23","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":85,"deletions":268},"message":"update schema to support port lists and port range lists. Also support other transports than tcp and udp"},{"commit":"929c38715d87bf9dd689507d319c22b90871ae1c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"8c91a7b7601a967cd9d8096433ffd4ad62b65ceb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"formatting"},{"commit":"14289ecd6c022ad204444dff5b5e48f6024a5d0d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":1},"message":"more timezone info"},{"commit":"b833c44783eb32f2fad24ca205b5b7eab854750f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add ufw-appinfo parser"},{"commit":"e23aa818eaa6d1a389ddef7dd2ad8f62b9f6ff25","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":1},"message":"add tests section and timezone info"},{"commit":"473d919c1350a8dc34d233033a5a7d12c928e42d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":32,"deletions":0},"message":"add another ufw test sample"},{"commit":"9f925d6ac989a4f21a8c00c84fcf97dfb141e8c2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":0,"deletions":0},"message":"doc update"},{"commit":"f6ca32b3a31f314fa0b31d9e8b5494491b928f7e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":0},"message":"update ufw docs with a note on lists of ports"},{"commit":"4cbe84c3d6ac8a3b594feb525460f2a68f5d62b2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":9,"insertions":110,"deletions":0},"message":"add ufw-appinfo tests"},{"commit":"ffac5bf9d381305daa86e546f8570be092e5ff34","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":12,"deletions":12},"message":"doc update"},{"commit":"9aa424f9f8c7e4e0dc29e2c58dac481098beba7d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":6},"message":"fix ufw example"},{"commit":"0a8495c68e427e39bbda957dd933fa2a461092e7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":12,"deletions":15},"message":"update docs"},{"commit":"6aea066cf024f92adf4b94eebc7d51430c22332c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":2},"message":"make normalized list appear only when data exists. set magic commands"},{"commit":"ff3c2d809ec3ea6e556c302909a228ee670578c9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":176,"deletions":25},"message":"add ufw-appinfo to docs"},{"commit":"145059fc8946b7026184139baea143c2869bc4e7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":20,"deletions":8},"message":"clean up output if sections are blank"},{"commit":"20e5c19de448c1b979497817c887d8d2d6487839","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"fix key error if tcp or udp don't exist"},{"commit":"4c98fd4b877c54e1cf7d285a29e178321be12f7e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":101,"deletions":1},"message":"doc update"},{"commit":"125e54213e8d4dcfe2e3271456af80b3f79c0544","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":105,"deletions":48},"message":"update schema and add normalized fields"},{"commit":"0152e0665f87833250561d743144af35416992f8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":215,"deletions":0},"message":"initial working ufw-appinfo parser"},{"commit":"0679bcbc560ea3575555d8546afdd4e2474d05d7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":31,"deletions":5},"message":"fix ufw tests"},{"commit":"5500648aa0886ea5089856e5b33d7c8ebd78d5b0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":46,"deletions":46},"message":"fix ufw docs for int conversions and service behavior"},{"commit":"bb50caad4dfaefa309e747fd05b650186c5a80f4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":31,"deletions":4},"message":"fix prefix int conversions. don't reset _transport if service is really a list of ports"},{"commit":"7eef5d94d591a3f70f6638b1b30f952a3bf35f9d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":5,"deletions":0},"message":"ufw doc update"},{"commit":"74f623f8d607c050db8f62ea4996c4e6aae43268","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":43,"deletions":11},"message":"add support for rule comments and LIMIT and REJECT actions"},{"commit":"f638aca092475bbae14fed765e90435c093fcb8b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add deb package name fix"},{"commit":"da35eaf80ad4f11e7482fc4734db4b2265e50548","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"ade0e8e8fc18ff9a0dd406206a85238f1f5a739d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":107,"deletions":0},"message":"add ufw tests"},{"commit":"90076090f05a1f03e2fbff307418ee18d7d046ef","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":7,"deletions":5},"message":"fix int conversions if 'rules' key does not exist"},{"commit":"23635def8b654097178f73ed1b57fc50965142d5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":306,"deletions":4},"message":"add ufw to docs"},{"commit":"4eeec087bde98f90ab8425473d1fbeee6834852e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":115,"deletions":0},"message":"add ufw example"},{"commit":"733196103897a1d84d242324ddcf96e783320329","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":0},"message":"update docs with new examples that have `to_service` always existing."},{"commit":"e4acb3d5b70a7d75741ef3e35cd6750d1362a80f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":1},"message":"always make to/from_service None if ports are assigned"},{"commit":"c60549a9947d5684bbfa58223bfbcfc40a3ed479","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":29,"deletions":29},"message":"change field name from to/from_subnet to to/from_ip_prefix"},{"commit":"d46fc8bbfa15a80a1af6c64f70230f858c215223","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":4},"message":"set to/from_transport to None if to/from_service is set"},{"commit":"b133d1f90d49362594508d8c475663754f0e7675","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":3},"message":"strip interface value"},{"commit":"5be615a97e7c145c8351764234ac591028560c34","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":219,"deletions":9},"message":"add examples for docs"},{"commit":"ea1d820f96321ddf4084b54ee2fdf397295beb21","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":7,"deletions":4},"message":"convert integer fields"},{"commit":"47e262cf7200b02ff0af97a70ffa6bec286c8f39","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":59,"deletions":14},"message":"clean up fields"},{"commit":"eec673be9092e382694aa02682564510ce4e7f90","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":88,"deletions":3},"message":"working raw parser"},{"commit":"9a0fb2a7c87e6fde0cc0d84fa8a1f131e28ea732","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":157,"deletions":0},"message":"parse major sections"},{"commit":"b5145d6c14d7a51e7cfdebe126c9689dc90f7b27","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":8,"deletions":4},"message":"version bump to v1.15.3"},{"commit":"9747ca414dfb8218389c7b2199a080edabc2a184","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":5},"message":"minor optimization to convert_to_int(). No longer runs through convert_to_float(), but uses standard float() function."},{"commit":"312d465b61a15592cc70d3734ad747b9a2be10ae","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"update link"},{"commit":"7dcf87d24ad40eba6ba98de2b4b2bf177a76cd71","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"formatting"},{"commit":"cf3cfd16a9de05f30303b5952fbe609cde842d2e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":3},"message":"rename tests"},{"commit":"fcc7e5294973d1a18943fa2ce2e836b0fe757d95","merge":"6c83846 3ab9d48","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #123 from kellyjonbrazil/dev\n\nDev v1.15.2"},{"commit":"3ab9d480149a692510ab9e0ac8e745b674683e3d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"update changelog"},{"commit":"7eddf41c5f6310264359cd6d78bdfa4b65af7d06","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":11,"insertions":96,"deletions":9},"message":"dont round up int conversions and fix tests"},{"commit":"27a196c93862bd737603cfe402b35529eb412954","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":1,"deletions":1},"message":"doc update"},{"commit":"e4324f05fb6f89c34fa1567e70d8636457623edb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":14,"deletions":14},"message":"fix indentation in doc"},{"commit":"d36b332bd78b5bf5979cdc59b31da08d8e4104d7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":53,"insertions":196,"deletions":274},"message":"use jc.utils for conversions"},{"commit":"1f034826f69c461495f7a302cc8fe35e3052e72f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":42,"insertions":94,"deletions":185},"message":"use jc.utils for conversions"},{"commit":"246c707c98d3128b4e38f5c4b23a1e0ceedc0b0c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":46,"insertions":190,"deletions":196},"message":"use jc.utils conversions"},{"commit":"b5d8968144e76090870f8563dc1bce910fba668c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":19,"deletions":0},"message":"add convert_to_int function"},{"commit":"f7b9fbefdde6973077573fec02342eb9946789c6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add query_size info for dig"},{"commit":"b1fc4533833ca25f59869bfec8ac114bf49c7847","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix _IfconfigParser name"},{"commit":"7581c8d0f4262fc6a05240bb21ffe533b153f6e4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":45,"deletions":32},"message":"add query_size field. handle user-specified dig output better - especially when querying dnssec"},{"commit":"32bf8ad6f4fff83fdfd83d66c1ba8f1af5a65a90","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":52,"deletions":24},"message":"update dig docs"},{"commit":"b083bcc10fa1105fc09ce8d2c3297aa5575c9d51","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":0,"deletions":0},"message":"update man page"},{"commit":"4f6fdd120d23468270c1d7111e4ef71b87759a1c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":134,"deletions":100},"message":"use dig as example"},{"commit":"eb0038be2490053d32803d30e1c3d4d34509d130","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":40,"deletions":19},"message":"update dig examples"},{"commit":"7ecdf819fa37c38ae6159ad8e7bc973ee4f34559","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":84,"deletions":0},"message":"remove dig example from readme,"},{"commit":"c6aa4d083550d25bcb621cad524047cfd6a08217","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":252,"deletions":317},"message":"update docs with new dig parser examples"},{"commit":"7c584b89a6e6b924d53d50103b97f0c2405c33b1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":15,"insertions":352,"deletions":52},"message":"add additional section"},{"commit":"c166c0bfdafa922f57f021fa4d16e467fca02d58","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":14,"insertions":55,"deletions":21},"message":"add opt_pseudosection section to output and fix existing tests"},{"commit":"a8dd3f7802bfe8fd3ffbedf89af45ddc580ee78d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":54,"deletions":281},"message":"working dig axfr fixes"},{"commit":"3b0e2f03f3b11398ff57b1daed542faaf0b80a62","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":24,"deletions":23},"message":"clean up examples"},{"commit":"8390ae48c88ab1c7d5acbf40c0e60606953817bd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":8,"deletions":8},"message":"fix server entry when IPv6 address is in value (maxsplit on colons)"},{"commit":"2db82c0a7e19d596c876ede8a8ff106aaa733ee5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":66,"deletions":0},"message":"add systeminfo example"},{"commit":"61479540756704f10853233300ceae8f954a8a95","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":5,"deletions":0},"message":"update tests"},{"commit":"691df271fcfe057ae4b75ad40869e23deb37b886","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":2,"deletions":1},"message":"add info docstring"},{"commit":"89f52b95f7055da9d7b5fa8dce0923d4c3435bd2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":13,"insertions":467,"deletions":821},"message":"update systeminfo parser with updated timestamps, normalized blank fields, and new doc style"},{"commit":"146acc1bf69c402e38c2f1bc842b84e6cff7e2cb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":23,"deletions":29},"message":"rename functions to make them private"},{"commit":"c4a345f59aa090336b4e80f181493cd5bc2c17c5","merge":"dfd2703 325fab2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #106 from jon-rd/j/systeminfo\n\nAdd windows systeminfo command parser"},{"commit":"dfd2703f75b907ba865fff266d0742d8931bc2d3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":5,"deletions":2},"message":"bump dev to v1.15.2"},{"commit":"325fab2de7b8a4bfc452ab8d3cf333d47fdf4989","author":"Jon Smith","author_email":"jon@rebelliondefense.com","commit_by":"Jon Smith","commit_by_email":"jon@rebelliondefense.com","stats":{"files_changed":1,"insertions":6,"deletions":4},"message":"update documentation for parsed structures"},{"commit":"f3d00cf38ad15aeda7eaa5644ebc30ff33de6a29","author":"Jon Smith","author_email":"jon@rebelliondefense.com","commit_by":"Jon Smith","commit_by_email":"jon@rebelliondefense.com","stats":{"files_changed":5,"insertions":56,"deletions":48},"message":"append mb to memory key names; adjust expected timestamps to utc tz"},{"commit":"14838f7f5d780896f1318cac2c3f34d249a158d4","author":"Jon Smith","author_email":"jon@rebelliondefense.com","commit_by":"Jon Smith","commit_by_email":"jon@rebelliondefense.com","stats":{"files_changed":9,"insertions":956,"deletions":116},"message":"update schema with nic, hyperv, and process changes"},{"commit":"af74047b81776c2ea32d82f9145ab60c346c8203","author":"Jon Smith","author_email":"jon@rebelliondefense.com","commit_by":"Jon Smith","commit_by_email":"jon@rebelliondefense.com","stats":{"files_changed":1,"insertions":4,"deletions":4},"message":"update schema based on processor/hotfix changes"},{"commit":"660c59129cf4ba7889fb3c6fbafd9dd9b479ccd9","author":"Jon Smith","author_email":"jon@rebelliondefense.com","commit_by":"Jon Smith","commit_by_email":"jon@rebelliondefense.com","stats":{"files_changed":3,"insertions":41,"deletions":9},"message":"Add parsing of processors/hotfixs"},{"commit":"89a88e186ed71d84ea802cf08ab756b49cee3225","author":"Jon Smith","author_email":"jon@rebelliondefense.com","commit_by":"Jon Smith","commit_by_email":"jon@rebelliondefense.com","stats":{"files_changed":1,"insertions":152,"deletions":0},"message":"Add systeminfo.md file"},{"commit":"f861cf95b96a224a0a11f2cdc3261b94c02415ef","author":"Jon Smith","author_email":"jon@rebelliondefense.com","commit_by":"Jon Smith","commit_by_email":"jon@rebelliondefense.com","stats":{"files_changed":2,"insertions":2,"deletions":1},"message":"Change to v0.5; add parser to cli.py; add to docgen"},{"commit":"ee8f06cbdb03f8254bb6a3c56fa5b8a64ff9ca77","author":"Jon Smith","author_email":"jon@rebelliondefense.com","commit_by":"Jon Smith","commit_by_email":"jon@rebelliondefense.com","stats":{"files_changed":6,"insertions":688,"deletions":0},"message":"Add windows systeminfo command parser"},{"commit":"a2e8b3c7b681605916b8950d035ee19889a125a5","merge":"e0681ee 6c83846","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #121 from kellyjonbrazil/master\n\nMerge pull request #120 from kellyjonbrazil/dev"},{"commit":"6c838460752c7131f75cdab2da07266fee492060","merge":"10292f7 e0681ee","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #120 from kellyjonbrazil/dev\n\nDev v1.15.1"},{"commit":"e0681eebb9881dc0ffddb478224455f434919104","merge":"e5732d1 10292f7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge branch 'master' into dev"},{"commit":"e5732d1cea1c882f6486cf288e45edb993989ea0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"update changelog"},{"commit":"6e7ae3cd3f003fe9e1e587b7f8ebd16ba0895014","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":2,"deletions":2},"message":"formatting of timedatectl docs"},{"commit":"f95632d1aaee545ae0ce081ca0617be135c09220","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":83,"deletions":62},"message":"add install_date calculated fields"},{"commit":"2f8b7b26e59bcd745fa1fcadb373455c7d404286","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":1,"deletions":2},"message":"update docs for v1.15.1"},{"commit":"10292f7502e4cb1c53b53ed39fed9288044c2ef8","merge":"37a3565 aef5470","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #119 from kellyjonbrazil/dpkg_l-fix\n\nadd _l to module name"},{"commit":"aef54705f5267c633e0778e8dce0065978083139","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"add _l to module name"},{"commit":"bba5980fa53767716bc35d8c904e7a2341346eeb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":0,"deletions":0},"message":"man page update"},{"commit":"977425abfb05a63ee372df36124ac6ba6a5a0aaa","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":4},"message":"add _l to package name in docs"},{"commit":"37a3565a1bbd3d01663602673fed651509e69d8c","merge":"bdcdaee 13deb8b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #118 from kellyjonbrazil/rpm-qi-doc-fix\n\nfix rpm-qi docs"},{"commit":"13deb8bfb6e77aaf86942f0be87b59d06ee2a97c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":3,"deletions":194},"message":"fix rpm-qi docs"},{"commit":"a3ed9d075aff41599452c3094f7d057c25fc8f89","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":191,"deletions":0},"message":"remove old parser doc"},{"commit":"fb0ced549e021916dee7da39859e8f85c8216e16","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":6,"deletions":6},"message":"fix rpm-qi docs (used underscore instead of dash in name)"},{"commit":"7eb31bc7d290fcd09e53524ebbb11e59110df6a0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":39,"deletions":48},"message":"update airport_s docs"},{"commit":"6a06a3914273853742ac57433398968ccf7d9897","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":6},"message":"use herestring instead of echo -e into jq"},{"commit":"bdcdaee6c5299ea0750512e0943c7f58f56f2e35","merge":"5d8f836 605353f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #117 from kellyjonbrazil/doc_update\n\nadd new docs"},{"commit":"605353fdce3b8b5986d20a35d05f7210a6df0730","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":70,"insertions":1710,"deletions":2656},"message":"add new docs"},{"commit":"490c9e17699e8e4f70dcc1612e1a808f86e24b0a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":7,"deletions":1},"message":"add more cli tests for magic command"},{"commit":"6ebebb659dc93daeaa869752ad135f6e1d2cb1ee","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":2},"message":"update changelog"},{"commit":"0e70c5ee12e96f04a89de05153a2da9cd39f98ad","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":2,"deletions":2},"message":"update documentation link"},{"commit":"cd531acf6045660e022c932f62a01d4084433ad4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"clean up comment"},{"commit":"908ac1f61c5cc011d05d550f933940dfed4431f2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":143,"insertions":690,"deletions":0},"message":"update docs - remove compatibility section since it is now automatically generated from info()"},{"commit":"f5c7e7e4046bc57b4fcad99390e31b121a7106ba","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":70,"insertions":350,"deletions":0},"message":"add updated docs with home link and parser info at the bottom"},{"commit":"001c700b5bd280cb1cb9e54169ae5f1b7918c257","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":2,"deletions":1},"message":"add home link to the top of the md file"},{"commit":"9b41e9bef0ff099e70f37fddc8fe2c6bd8457b19","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"Add parser information header"},{"commit":"34bd6e32dc0c0bf7dfeedaadbf04115f43e9d060","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":20,"deletions":4},"message":"pull each parser as a json object into a bash array and iterate on it to add supplementary information like version, author, and compatibility"},{"commit":"c5d058490beaa8f59875a8acfd7a400764768639","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":22,"deletions":13},"message":"move parser doc printing to its own function"},{"commit":"dd1ae6d9a7de5421830232deb42d933b9a652672","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":3,"deletions":1},"message":"add man page inside the pypi package for easier packaging in homebrew"},{"commit":"d8ea9bde823a7f5c146741150c3211737345c7dd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":16,"deletions":16},"message":"doc update"},{"commit":"125edc9c906dc3650b6a683ed13830075acb7ab6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"bail out for -h, -a, and -v in magic()"},{"commit":"15ea43e394a9004f8ccec208b3a066c76e241866","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add man file to package for easier packaging in homebrew"},{"commit":"b55b02687c00d1c50e30f30c9b9a7f36f783eb0f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":19,"insertions":371,"deletions":441},"message":"doc update"},{"commit":"da611f0ac6321f7f52fdbc419f8b155c74393c28","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":63,"deletions":50},"message":"update docs"},{"commit":"b8b8dfead4fdc4285585c44c2ebce3bdd42b2e7c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":61,"insertions":1501,"deletions":1848},"message":"update docs"},{"commit":"4290a3cbd135cacbf63664dc30768017ebbed28d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":3,"deletions":9},"message":"make IfconfigParser class private"},{"commit":"a5e2203cee6a7bc398cf280f57d37638eeb1d2d8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":2,"deletions":1},"message":"update ifconfig doc"},{"commit":"e28c08b1361161cfd123b9ebc11fa1ffa87d658f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":46,"insertions":976,"deletions":1209},"message":"update documentation"},{"commit":"a4b6846f63b43168085275d73940265940badf46","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":467,"deletions":0},"message":"man update"},{"commit":"2bc830786114fd57619f34b936dcf6e0bed7a109","merge":"9b39917 5d8f836","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","message":"Merge branch 'master' into dev\n\n# Conflicts:\n# man/jc.1"},{"commit":"9b39917c798ed0310c9b82d87172cbf6d24ba111","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":17,"insertions":391,"deletions":453},"message":"update docstrings for new help functionality"},{"commit":"57c13cc0a38ad89fda8b0e362bd6487257d0a26a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":23,"deletions":3},"message":"add support for parser help"},{"commit":"b7355fd30d992a1bcc90227f5a1b02be073829e7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":37,"deletions":48},"message":"new docstring format for improved documentation"},{"commit":"93ae309e407b26820b9f05b5b331d05fc77df57f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"bump version to 1.15.1"},{"commit":"5d8f8365e24a7c3a587d4e71ebba4876de08203b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":9,"deletions":461},"message":"gzip man page"},{"commit":"f26909eefb236e9ebf63be53cd86ae13cc3d9ea3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":4},"message":"formatting"},{"commit":"55bfbb2797ede3aefbb14ecab950b108b1895ccc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":5,"deletions":6},"message":"formatting"},{"commit":"8970b8342a855203aef649b60dad3e49a1d7fd2a","merge":"a73fdb7 5285e69","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #115 from kellyjonbrazil/master\n\nSync master and dev"},{"commit":"5285e699c30fdeaf56068f5a03ef1d1d33fa673c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":3,"deletions":3},"message":"fix rpm-qi parser name"},{"commit":"275f3860d5870303235b651d42650256e4db8ada","merge":"577811f a73fdb7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #114 from kellyjonbrazil/dev\n\nDev v1.15.0"},{"commit":"a73fdb7478965f0f2c841ac01b2762db80ad0786","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"update dates"},{"commit":"f2d746403a0ed764f931ae9e14d180bab107dcca","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"typo fix"},{"commit":"b7dbf2c49be4beb793495a0aaee7f05dbea5a3a6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":13,"deletions":13},"message":"doc formatting"},{"commit":"21f3c97788826e79b0c387f877c5adf269318e97","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"rename rpm_qai to rpm_qi"},{"commit":"14b727cc717d04fefba1cc31b6f29b549ced986f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":73,"deletions":0},"message":"add rpm_qi tests"},{"commit":"abee226591ed4ae37351efc995017d28b27827d9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":205,"deletions":14},"message":"rename rpm_qia to rpm_qi"},{"commit":"293ad39f4bcf326186dd917d8bc58d3964e5e4d6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"typo fix"},{"commit":"92443025811019f616f596abb60a2889f604c122","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":7,"deletions":6},"message":"rpm parser doc update"},{"commit":"753cac25fb1e7e6cd2c742afa8d45ced068ea91d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":3},"message":"only add description if it exists"},{"commit":"0548263e898bf14f93d2fa423c0f0a9d9f2ff567","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":8,"insertions":10468,"deletions":0},"message":"add rpm -qai parser"},{"commit":"53776a9bf894988d6ef9221a62ab8b816c89560c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"note -a output is JSON"},{"commit":"cc7def9b76a7fa6de1e11b584676820f3acb0257","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":18,"deletions":0},"message":"add OSX finger tests"},{"commit":"11a4422c25ed905f33475677bcc2f59f49c62a23","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":51,"deletions":0},"message":"add centos 7.7 finger tests"},{"commit":"3a44785260514227b541530baf3e14b6c7ebe86a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":0},"message":"del details key if details are blank"},{"commit":"e0d430c26c38db8de5a32741e05df412cffe45b7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"update -r raw option info"},{"commit":"417b70020accfa4910016e9d3d12690a5488f6f5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":129,"deletions":22},"message":"add idle time fields to finger parser"},{"commit":"7b29c464b72ef9a79bd872dab92cf65016490bcc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"date updated"},{"commit":"26d5529d86e4e459ad94226465c3697a050af0ac","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":10,"deletions":7},"message":"remove aix support, add note for -s support. schema update"},{"commit":"852103c478321b84ffbbc0a876d5ece0c0881e1f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":27,"deletions":14},"message":"tweak regex to support arbitrary 'detail' data"},{"commit":"26a115421b0888e23f4348f1124e2ef7b39df4cc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":5},"message":"add finger parser"},{"commit":"755b941a9aa602d95d9bc599f5c64e05f9e6216d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":35,"deletions":30},"message":"doc update"},{"commit":"fd1ca82d86649adeb84968142665e5e4fae3fa0f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":263,"deletions":0},"message":"add finger parser"},{"commit":"6fe175344fc61d4996a9ea20f6c5d429efb1fac7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"change examples link to github.io"},{"commit":"3590cda13a68616ee7eb8c85c5554ffb3fef036d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"docs formatting"},{"commit":"2f1011dd85ec9b3550138ac4a4e1729fa5b4fe17","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"readme update"},{"commit":"2b155261b3f6e4879b592f5bc052649ded5e3d69","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"use new github.io links for documentation"},{"commit":"02f4d606d0a446c7cc74aedac6035ee79805950d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":69,"deletions":69},"message":"add documentation links to README.md"},{"commit":"577811f00b7fcd0396bb0e26a2985709bd2c65a0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"Set theme jekyll-theme-cayman"},{"commit":"b4098d67a3a4a617d42c1389e0a88833c77b89b4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"latest"},{"commit":"88bd7554aeb511c19e55dc3dde9c9376efb0485b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":8,"deletions":3},"message":"add status messages"},{"commit":"b5ec16c5cafb78db093861cc30d9646207f2227a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":8,"deletions":0},"message":"formatting"},{"commit":"68fcb60a1460a35500180ec05a8cf5ba5706ff17","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":0},"message":"add updatedocs script"},{"commit":"e4781d60ce251f6d47f19bbe042e97f8aa9e2f18","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":65,"insertions":188,"deletions":189},"message":"update parser descriptions with backticks surrounding command names"},{"commit":"6201fb346a66ba762651624cdaf03f08e08579a1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"test backticks in description"},{"commit":"f88c8343f9dec5e0190df94a5109e6c749bda286","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"update iw-scan description for documentation"},{"commit":"25410d33168ee7142bd8f8c739ef22a62a47eb6c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":973,"deletions":70},"message":"create readmegen.py script. move jinja2 templates to templates folder"},{"commit":"4ff9952938d0654376efc94ca7d8a12f6df171af","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":5},"message":"change OSX to macOS"},{"commit":"5e3f63a412c5b23e7515337521ebba6273b5c11f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":6},"message":"add license and copyright info. use variables instead of hard-coded values"},{"commit":"e1f57be69efdfd7facd07df6ef0955a36c4fc18b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"add license info"},{"commit":"2c65d5eeccdc95d2de00ac6575a9e8d8458486bc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":32,"deletions":8},"message":"man page updates"},{"commit":"aa621f2f1ee043611c440683dfb63e6577d8fac4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":74,"deletions":9},"message":"enhance man page"},{"commit":"ac932c6e59ad80115962d0ea91e6aaabc70c211e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":0},"message":"update timestamp docs"},{"commit":"029f79da1647e53f97ca83ba92b1f36a131f3128","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"added info regarding updated dev scripts for automating doc generation"},{"commit":"153b2b4a7a216caae5b03f6d50d43980c13a705f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":11,"deletions":68},"message":"use jc to help automate the generation of its own docs"},{"commit":"709b2fe4eead06090f903718deeb06ec774fc26e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":16,"deletions":0},"message":"add -h and -v options"},{"commit":"09c1fccc584e3d0582e19b520586419085ea8d04","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":4,"deletions":6},"message":"manpage updates"},{"commit":"fd254d99b782888fe7646e42a61f28aa99e7cba7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":193,"deletions":15},"message":"add manpage generator"},{"commit":"88bd2c172217c498431e8904e74313bc27978785","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix typo"},{"commit":"d03e2f0fc1d0310cd94702f4d3c959d71b0eb622","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":40,"deletions":0},"message":"add parser schema guidelines"},{"commit":"3f12a393bd37062cd1412128be495235b0c7351f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"8c21284c5038bdc2e52ff4211fac747f33f52091","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":0},"message":"remove redundant license info"},{"commit":"e7d396c2157a77500017967dfc68ffaf32507c2c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"update issues link"},{"commit":"f238fac0eb0c8e5133c6c9abf9ca709f5df7a925","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":49,"deletions":0},"message":"add contributing guidelines"},{"commit":"017228f80d9a65ad7715f31c539d9fca1615296f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add tested on Windows 10"},{"commit":"286c5fa9434e25434ee8f4825621f68464296469","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"add dir parser"},{"commit":"74cfc13abe4cd09ca5470714caeaedd24c099770","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":9,"insertions":12,"deletions":21},"message":"fixup dir parser tests"},{"commit":"0ee4a6c377321cf6ff67ced38e9a07a8f6313943","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":207,"deletions":460},"message":"update schema and add epoch naive timestamp"},{"commit":"283433578dfc3f132ef35727ce5bafb3e390896c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":46,"deletions":0},"message":"add dir parser"},{"commit":"9559c85057308e8815d4654bbe0062a5858c0b2b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":3,"deletions":0},"message":"add windows dir format"},{"commit":"c5c020f5654038dacba542be3784a35d7333cbcc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add /S option"},{"commit":"95ec79bceb3d0c4245e36b7b16cfda6e16b01197","merge":"8f8be8a 5b60c74","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #107 from rasheed-rd/add-dir-parser\n\nAdd windows dir command parser"},{"commit":"8f8be8aa33f0b708ebd9a35c6b288572443d7181","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":4},"message":"add -1 option info"},{"commit":"5b60c7445a3f8bd2ae1587aa0ffaeaf093966f9a","author":"Rasheed Elsaleh","author_email":"rasheed@rebelliondefense.com","commit_by":"Rasheed Elsaleh","commit_by_email":"rasheed@rebelliondefense.com","stats":{"files_changed":5,"insertions":469,"deletions":400},"message":"Add support for /S and update documentation"},{"commit":"d9dbcc8b526c8de9c6d12ac580880fd606dc68cf","author":"Rasheed Elsaleh","author_email":"rasheed@rebelliondefense.com","commit_by":"Rasheed Elsaleh","commit_by_email":"rasheed@rebelliondefense.com","stats":{"files_changed":15,"insertions":149,"deletions":73},"message":"Add parent dir to structure. Add test cases. Remove support for /Q"},{"commit":"79bc525970b38dea68b4859ac5dd32fc681e5994","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":0},"message":"add codes field to schema"},{"commit":"9dae1091ddc6141694ebfdc5ae649582cb879ccd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":5,"deletions":5},"message":"typo fix"},{"commit":"74d3ac686a69518c1048260e37a0245ff254ff57","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":61,"deletions":0},"message":"add dpkg-l tests"},{"commit":"cf3cc636badcf4ae6db1e5ee5e57ca0331ee5b0f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add dpkg-l parser info"},{"commit":"a720441e1d34771c5a54876cb7dd63fb8c9f408e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":54,"deletions":0},"message":"add dpkg -l example"},{"commit":"0a7ed0959df07e2f36d9ec3ca8c294cfdaf10396","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":5,"deletions":5},"message":"rename err to error"},{"commit":"eb83c9b86dc6d1ff15efed30993071834b65a7d1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":8,"deletions":21},"message":"replace parse_datetime_to_timestamp with timestamp class"},{"commit":"5c0142dd19eee14f4f1c287f0543e29824f9ae70","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":9,"insertions":1797,"deletions":2},"message":"add dpkg-l parser"},{"commit":"c326c8dc8356b55bba13864156adf30607205ece","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":18,"insertions":194,"deletions":1},"message":"add TypeError to except block. add /usr/bin/time tests"},{"commit":"fc4082a03feb5645a1ad687908782a2584a58956","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":131,"deletions":0},"message":"remove old parse_datetime_to_timestamp function"},{"commit":"c8655565ff8718f0f14d41696b81e6539529dde1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":2},"message":"use new timestamp class"},{"commit":"638f879f16c9e87edb60953f4fd0b1c7ad92f277","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":2},"message":"use new timestamp class"},{"commit":"1d221bf7e6128d57bd769c0fe8f37f7a94da8cd2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"use new timestamp class"},{"commit":"60ea71f0ef931dccf09e6eb0cb737ddad0b47f0c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"use new timestamp class"},{"commit":"d8bdd35a3f462efcdc871426309299e8aefb0a79","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":2},"message":"use new timestamp class"},{"commit":"7463891c53f3670710dfa72ed1422431c274fe4a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":2},"message":"use new timestamp class"},{"commit":"7537aec76fa07384c4439f34c50d4e3f001c0dfa","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":8,"deletions":8},"message":"use jc.utils.timestamp instead of jc.utils.parse_datetime_to_timestamp()"},{"commit":"62234e39a8533362a20f106c64326ed69f430006","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":8},"message":"use jc.utils.timestamp instead of jc.utils.parse_datetime_to_timestamp()"},{"commit":"be004b7b3fe9217160c6418907e7d8aad10e5fae","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":172,"deletions":15},"message":"make parse_datetime_to_timestamp function a class called timestamp for easier use"},{"commit":"82539444b24169b2eb762485ed032fc968a81f71","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":23,"deletions":21},"message":"fix indentation for int and float conversions. add real_time field to schema"},{"commit":"a571d3cbafd5048d1d59070e1791398ae410197f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"fix typo"},{"commit":"a038c14c23ea27264df61a38e0301de8d1fa1b9a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":8,"deletions":8},"message":"change microseconds to centiseconds"},{"commit":"25a85d874cd2b57a7700b0c2dca61132127732b1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"update docs"},{"commit":"884c36ff42df4f580c8e2b4705def8e4c1182e39","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":8,"insertions":536,"deletions":1},"message":"add /usr/bin/time parser"},{"commit":"b98e72b8b4eda0ab5ede7725226e61634af572eb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add ls parser info"},{"commit":"05885c0096b5ee142ecff2d17e37c446518998a0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":931,"deletions":18},"message":"add epoch and epoch_utc timestamps"},{"commit":"4c9761231af897658c3a2c0abcc476aa8b43d1b3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":21,"insertions":118,"deletions":81},"message":"add when_epoch and when_epoch_utc fields"},{"commit":"656eaa150861948091ef9d6323805c2698039bc6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"1560dcddcf82f55fffce22d1b46d372b25a9d0fd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":0},"message":"add acpi, upower parsers and -v version option"},{"commit":"08d4cd4870c7acaf3a453d1400b64d77d462437b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":114,"deletions":43},"message":"add time calculations to acpi parser"},{"commit":"9767a50cededb140575e195abf79ce49c4f53789","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":12,"insertions":48,"deletions":46},"message":"update who parser to add epoch naive timestamp"},{"commit":"cd86890ed1493644e391e52e33561e9a77631a51","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":1},"message":"add website to info and use variables for version info"},{"commit":"ba0dd3b9ca98a042c772898302fcfe5fdc84f79a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":1},"message":"add parse_timedate_to_timestamp test for format 7300"},{"commit":"8d7fa07ffd50f38336a448eb506a76d9d4849a6a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":11},"message":"unformat json"},{"commit":"cade1bfe6e56b5926898b7204e911885efebd5a7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":12,"deletions":2},"message":"update timedatectl tests for new epoch_utc field"},{"commit":"daec4ab0a7f572e872b27b043d51f68e5e06300f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":20,"deletions":4},"message":"add epoch_utc field to timedatectl parser"},{"commit":"3c96bc319615c824a06c388e9e3c1d68a9bf4084","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"version bump"},{"commit":"7f7d8d4bd6f37015b11bac60a7bd99e8d3eca108","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":8,"deletions":0},"message":"update stat docs"},{"commit":"47263661a41987f334fd484e866e0aa8859cde5d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":18,"deletions":2},"message":"update stat example"},{"commit":"4c42a086d206919dfe4f1c0801fe4fb1027cb1cd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":6},"message":"clean up debug code"},{"commit":"5d2541a5c4bc93f3943a491c76df7f8d4e2cf44b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":3},"message":"remove auto c locale and use a manual format rule for windows and linux compatibility"},{"commit":"d91d170b49bfc88c0b2fb54475705c038172f1c8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"try manual c locale format for windows"},{"commit":"6d1f4584a9ccd0f0f7ed4fdf408576a9e7f5046b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"try manually setting time format for windows compatibility"},{"commit":"1d76d96bcf4185cffb7066bec637913099399db5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":0},"message":"debug windows issue"},{"commit":"e8847c998c91131acf5ee0f6485e9976c0fce3ae","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":4,"deletions":4},"message":"update stat tests"},{"commit":"da88e49bae2f3fecff623f52c20bf994b653583e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":69,"deletions":29},"message":"add new examples"},{"commit":"65c3a12e5422782df40489c3c431677f5657dbf5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":35,"deletions":24},"message":"simplify None data scenario"},{"commit":"d8d600cc36bde4e6216b935f87a765599e896714","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add reference to -h for help"},{"commit":"507999b117b024fed1ccf067bd5dc411dbeb268c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":34,"deletions":19},"message":"add stat command timestamp detection"},{"commit":"8ad164eb340e135eeeb10b721172916182f37e30","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":3},"message":"fix tests for compact output"},{"commit":"a507df140b245b83b1c46e8462b44e1145c42f2a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add compact json info"},{"commit":"8912a99986a977ee6ca7bbe2368f5033644577b0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":3},"message":"make default json output more compact"},{"commit":"1953f9882890cd0e8c515d43ce28c96f918b0ab4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":1},"message":"add version info. add json now supports unicode output"},{"commit":"7515218ddd2cdcfcebd67850140e842f2f121226","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":10,"deletions":14},"message":"use jc.utils for all warning and error messages. simply error and warning formatting."},{"commit":"36c11201366cefedee4244fb71a4a9cc6507e6ae","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"8fa0fe64d8418093c7f28cdc70a7f409956aeb04","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":5},"message":"add -v to helptext. minor formatting"},{"commit":"c1a8201b140c65579ff9f8427322b67653bf3006","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":1},"message":"add copyright"},{"commit":"398bbac48c8a716b1872843d671aa6ceaeba6a78","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"simplify return value for parse_datetime_to_timestamp()"},{"commit":"ea71a42bbdd9b09a457727cfe763054625f7901a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"formatting"},{"commit":"1c16d25b17a7282a62a5ebd9755df5569c57435f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":30,"deletions":9},"message":"add version option (-v) and copyright information. add 'ensure_ascii=False' to json dumps to properly show UTF-8 copyright character"},{"commit":"9d12ded889f656656267cbf7a91d71267201f736","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"help description change"},{"commit":"5312701515ecb3a10598bb9dcf2f73b7eae71b93","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add - make all external python requirements optional"},{"commit":"808c7bc0a94ecfd160ee2b257e5feec347829a5e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":8,"deletions":2},"message":"make xmltodict library optional"},{"commit":"4d394015f458f284d052ce2c1a0c8492916c5b3e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":8,"deletions":2},"message":"make ruamel.yaml library optional"},{"commit":"3638298af8ebc01d54aa3ab5668d0adedca957e5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":53,"deletions":44},"message":"make pygments library optional"},{"commit":"5f00973e400629bd68c0ab60ed9005410278f855","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"remove parenthesis to normalize text for naive timezone detection"},{"commit":"0f6e2c14fcb69f664c29083ec5207326f842dfdc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":5},"message":"simplify timestamp failure logic"},{"commit":"51813da61994226ba40478825d47f80c23413349","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":9,"deletions":4},"message":"add offset timezones. fix timestamp logic on conversion failure"},{"commit":"e7751322ea195cac7f1921ba8e0364c442065d20","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":4},"message":"formatting"},{"commit":"26ef29843784ade3d55410be13300dd6f4c06890","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":10,"deletions":6},"message":"change return to always include the entire object but all keys may be None if conversion fails"},{"commit":"badaf8ce73d7deb0ec2be244e27b4bf8cddbea19","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":14,"deletions":14},"message":"comment formatting"},{"commit":"b123a622039f3cc32643a3bfc0766154d660f8bc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":4},"message":"move locale change formats to the end of the list"},{"commit":"cfd77e42522aa2ebeada9f45ac99bd1d3414f782","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"reset locale to None on exception"},{"commit":"38f814072eac5370059f1b4203316eee41cf535b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":26,"deletions":8},"message":"better normalization of datetime string. better UTC detection. More formats supported with detected locale."},{"commit":"a0db7754e384a0c95f2099bf894f3a22bd33c002","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add nixos install info"},{"commit":"f07620afc7dc0d0d605eb483ef36c5979b33cdfd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":18,"deletions":7},"message":"move version to jc.__init__.py\nadd -h option for help instead of always showing on error\nuse jc.utils.error_message for the following errors: missing/incorrect arguments, parser not found, missing piped data"},{"commit":"c1b0d27752726989c6051f683a1194941bee598c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":10,"deletions":0},"message":"remove old commented commands"},{"commit":"430a5108aa265d4df0e4584eade54759da864c61","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":19,"deletions":60},"message":"move all tests to github actions"},{"commit":"111ce92fc9c33b82c7d1a1664dda046ea5993f6a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":1,"deletions":0},"message":"attempt all tests in github actions with timezone correction"},{"commit":"c851e8a58d98b2a4907cf1e7cf7c7d8d8dc04dc6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"force github action"},{"commit":"39f4bcd9b41450068903ea2843508586eccdf709","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"Change Windows timezone\n\nuse \"Pacific Standard Time\""},{"commit":"4a610c4c81493788b8351e8c74aabe819c981c02","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"force github action"},{"commit":"89ee11945d4e2db107a33ef0d61e0c6015ac8ad7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"Change timezone provider\n\nuses: szenius/set-timezone@v1.0"},{"commit":"dadb09b74a69d1852f8433e0e32ccdd67bd91181","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"force github action"},{"commit":"1b1f638b97dc5e6f2767183eb363b79ae3c9b3c7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":5,"deletions":3},"message":"Change timezone change provider\n\nchange to actions/set-timezone-action"},{"commit":"794fc4ed44d1565514303090403d68ba5d639cb3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":36,"deletions":8},"message":"add parse_datetime_to_timestamp() tests"},{"commit":"72f735bf9211d7beddcf58819fe465722f5d7c5a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":4,"deletions":0},"message":"Set Timezone to America/Los_Angeles\n\nUsing zcong1993/setup-timezone"},{"commit":"912877f25ad562ed4cafe7b2d7446bd48b477ea2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"additional timezone info"},{"commit":"2772c5ae436ea437d833003372d53a3d3f955ea0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"formatting"},{"commit":"a7ad24d2cb61d84cf2846f8fa43af31f0597043e","author":"Rasheed Elsaleh","author_email":"rasheed@rebelliondefense.com","commit_by":"Rasheed Elsaleh","commit_by_email":"rasheed@rebelliondefense.com","stats":{"files_changed":13,"insertions":772,"deletions":0},"message":"Add dir parser\n\nAdd usage commands\n\nFix example options\n\nupdate dir.md"},{"commit":"a364a6a9faeb6aa290b790f3dec74e92b8670534","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":0},"message":"add note regarding calculated timestamps"},{"commit":"7b2dc86a8d974e7984fe2540f56a66c2b9386acd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":23,"deletions":19},"message":"update last example with new timestamp fields"},{"commit":"ad645636d07d0423253f19068a22b2a28251b05f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":86,"deletions":50},"message":"update uptime docs"},{"commit":"2f2f297b29fbe3172647a81db084b3564a441d40","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":4,"deletions":4},"message":"update uptime fixtures with new fields"},{"commit":"099ae3fde03f8157298f6b412bdddb8bd56da09a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":26,"deletions":22},"message":"fix issue when there is no data"},{"commit":"e9febe98ac5ec0e03791c5b6794446a2c3312fb1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"add localtest partition lines for readability"},{"commit":"5fbd07cccf9fb697b996dcc3949eef5b1c09e655","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":59,"deletions":26},"message":"rewrite of uptime parser including new fields"},{"commit":"5fed4698c2c1f1b7e05c5b4c51639f818e049b53","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":5,"deletions":6},"message":"update docs and version number"},{"commit":"ed7eb0983a4dfcc1d66a2957be3e10b2203d909e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":4},"message":"use parse_datetime_to_timestamp function instead of custom format string"},{"commit":"90c7e18e5fc5ea9fcf6157cc2656f47193d78411","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":16,"deletions":11},"message":"update date example"},{"commit":"953ab5c3bd0c8b6eef29b717edaf1aa2380c2b93","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":1,"deletions":0},"message":"make upower tests local only"},{"commit":"699c97d8a07f7575454746159ac4d19981cd1a5c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add last parser info"},{"commit":"e4ca0de92a689ce93b91d86106a5da590226855a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":8,"insertions":100,"deletions":0},"message":"add upower tests"},{"commit":"04745a36b84cc79e56bde2a0e92a4ee9ab4a1538","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":8,"deletions":5},"message":"doc update"},{"commit":"5936940532b8b753e67c9f5cd9287f34cc84ae9f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":136,"deletions":186},"message":"rewrite of date parser using datetime library"},{"commit":"b3eb064b6753d6e894884e1c16054630c2396fe1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"clarify format definition comments"},{"commit":"e4b41057e302074ac2a81ad8c36b6f95cd6b7db2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":24,"deletions":0},"message":"update upower fixture names"},{"commit":"1d41c46cc762ab0c78b819e56db7df39f1111d5d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":34,"deletions":5},"message":"normalize datetime string to remove all timezones except UTC"},{"commit":"a5c444587b3f0874fcc2833dc4e759c2dc1c7834","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":28,"deletions":0},"message":"add before and after midnight date tests"},{"commit":"a56f471be980be16e73d3a91e2b12aad26c6d38c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"update fixture to use UTC for better testing"},{"commit":"6a6b26ed8d97014c2a5c7d91a4cd9b23f49530fb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":0},"message":"fix 12 to 24 hour conversion for midnight cases"},{"commit":"f62446c152d89f2d37b22ffe9d9de5b5c9fa7049","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":11,"deletions":10},"message":"rename variables. add another european time format"},{"commit":"56011f1f172344cab2a8e869e7a6df6e45c45874","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":73,"deletions":6},"message":"updated upower examples"},{"commit":"6d44091c80318fde6c09cd850e6dc5afde7fe799","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":13,"deletions":53},"message":"refactor parse_datetime_to_timestamp()"},{"commit":"440c458eb42925dffe2d7b026279468fa2fa1bb7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"no need for ternary clause"},{"commit":"798250af6116441385339806c8f26bc9720ad302","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":18,"deletions":24},"message":"use jc.utils.parse_datetime_to_timestamp() function for timestamp creation"},{"commit":"c762de29c6491790908451aa20f6aa12fdfa9722","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":32,"deletions":2},"message":"doc updates"},{"commit":"0701e65e97165efd40ab2ae5087897de3588ea32","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":106,"deletions":0},"message":"add parse_datetime_to_timestamp() function"},{"commit":"209d54e8b5be6476d896cee1a5274bd2b46219e2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":4},"message":"add hour_24 to schema docs"},{"commit":"2b38462de7d2fa61dd5d2a184e853279f1a9c84b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":33,"deletions":27},"message":"update examples"},{"commit":"1e8e5533162cb01053ee25e9dbc709a429e58070","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":31,"deletions":14},"message":"add hour_24 field"},{"commit":"ab42e6bb15026d6c46e15197c62bc3e8ef95c80d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":0},"message":"formatting"},{"commit":"680288454090f3c48c7f0580cdcb919c0b5a883e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":3,"deletions":3},"message":"ensure period is always uppercase in dict value. update period documentation"},{"commit":"7cb8577b9655f258f2910e7e7bcf3266d4cbece0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":70,"deletions":48},"message":"correct epoch_utc calculation. Fix for 12 hour vs. 24 hour representation"},{"commit":"55810ccd1f17ef6a4b1cb72fc21f6cf990ef8bb3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"set epoch_dt conversion again if not C locale"},{"commit":"f9921720cd0b9b0d76d66e6eb5bfe43481f5f52b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":4,"deletions":94},"message":"revert to local testing for naive datetime objects"},{"commit":"cda1ebd271aa8fd1b716054a2149f876d8087230","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":0},"message":"try tzset()"},{"commit":"6901e4a23aad0b58cbbfac86c61917115d115dfe","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":89,"deletions":3},"message":"try setting timezone env variable before tests to ensure it is the same on all test systems"},{"commit":"6bc21d3c735edc7897e49afd2a5ea9e3aa56d7fb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":1,"deletions":1},"message":"fix date parser tests - local tests only since timezones may not match on github actions VMs"},{"commit":"1ef231e26a2898d2a01f341fb92014df92703f72","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"add date parser updates"},{"commit":"3cd43f0f985a3b8a4e74bf5632bd8dac92d751c4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"formatting"},{"commit":"156501996688e62dd61a8456206218582a6cbe1b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":85,"deletions":63},"message":"fix weekday numbering to be ISO 8601 compliant. Add naive calculated epoch timestamp field"},{"commit":"0a4de2d3a1c235d1ac2d6e59346e77761fe51885","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":5,"deletions":2},"message":"add naive datetime calculation info to docs"},{"commit":"a058f6c174e31f5e6040883bb544b83abd88c749","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"added naive epoch calculation info to docs"},{"commit":"d8e5d03b01a87704424f5259cf6bd977274fd6ee","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":20,"deletions":33},"message":"naive updated_epoch timestamp calculation added"},{"commit":"9dc62eff2eaaafec89c5b8797d8ca8e4c77a07d4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":34,"deletions":21},"message":"remove epoch conversions"},{"commit":"d4fea17c57a97d6914624b06208b9439bf2eb05f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":13,"deletions":6},"message":"use UTC when calculating epoch timestamp. reset time locale to default after changing"},{"commit":"3dd7a5b77ea708047bc12be9f2caddd9078723f1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":230,"deletions":0},"message":"add upower docs"},{"commit":"d77c90a3ba2036b216f4a612876ace988eafd217","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":114,"deletions":6},"message":"fix quoted values in detail level. Add examples"},{"commit":"01f0c20df09fd4aa12bd108928b97376b51ef31a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":27,"deletions":0},"message":"add sample using C locale timestamp"},{"commit":"aafbe576b3b754de91591d9ec2dae9e9f827dee4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":137,"deletions":36},"message":"working parser and processor"},{"commit":"bd68ad40345fb1f69be0e0f87dc67134f826cd06","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"don't modify detail_type value since it is no longer a key"},{"commit":"bfee017c138bb30ec6af836685013b7124028974","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":61,"deletions":20},"message":"made the schema more explicit by hardcoding more items. still working on the schema"},{"commit":"61f532cfd0b7fbf14a58a0fd638bcbfb03fbde72","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":11,"deletions":1},"message":"working history list"},{"commit":"58dbbb75b607d0b29be185c3b8c3f0d8af21ecad","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":9,"deletions":21},"message":"simplified logic"},{"commit":"8d88b91fcf5060d7d54f687efec3e3a606bab767","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":8,"deletions":9},"message":"move if statements and generalize the history detail detection"},{"commit":"ad39fc60299089f56f37baac71820e50cbe87ed3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":268,"deletions":0},"message":"working upower parser. history lines are ignored"},{"commit":"89f1fd96e6b7aa0acf6272e4f3469005d4f7c6bf","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":87,"deletions":0},"message":"add acpi tests"},{"commit":"bd425f2493b68949c1fa02cd1d3289ec882d9b0d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":321,"deletions":2},"message":"version bump to v1.15.0. Add acpi docs"},{"commit":"46962ff02a0630766a927babc92e11ec91b1f789","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":11},"message":"remove redundant lines"},{"commit":"e4cb88b05166815e8ad03b646bd3f2b1da7f0d4b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"remove unneeded line-state assignment"},{"commit":"32840703dc1d88412712b08db1c9bdaebbc34450","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":8,"deletions":39},"message":"remove redundant code"},{"commit":"1f7aafd0415a79e0547cc6f1c008c1918f8fb460","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":19,"deletions":9},"message":"fix for full charge batter case. Clean up battery object logic"},{"commit":"7378d5dce43f75440cb57903e8ae0c1c615b0782","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"remove comment"},{"commit":"84f76866cdf76f67b34de999fd987de8a02f0306","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":197,"deletions":3},"message":"working process function"},{"commit":"322da9ea6a1ceea1152d720797adb8f3a7dc1199","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":59,"deletions":12},"message":"working parser"},{"commit":"58645301ec111bfeb2a618f5f169cc734042dc5f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":236,"deletions":1},"message":"add acpi command parser"},{"commit":"1e18dd30a824b0463f0cad86e0da7094c47d34f9","merge":"20f9b7f cc6a19a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #102 from kellyjonbrazil/dev\n\nDev v1.14.4"},{"commit":"cc6a19adccea3e10243a166b87d852b6f95414b5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix typo in comments"},{"commit":"2a5588b177a24d5b78a4b5a515aba515804b7baa","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":13,"deletions":3},"message":"packaging fix for yaml parser and pyoxidizer"},{"commit":"20f9b7f88b97ed68aba46e102b8c7b72443b9c85","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix typo"},{"commit":"d7e32313cd9776b4a6af38cc2819d6e4ef8c0d55","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix typo"},{"commit":"fb5654d3c4549e84940e2518f2d214debdd42d51","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"258f1433b36a7ee117ac43953edb4fe964603e7b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"add locale info to readme"},{"commit":"fb723ae8bd7bb51f9a4bab380ec1bc54cda0445b","merge":"87b506d 283b89e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #101 from kellyjonbrazil/dev\n\nDev v1.14.3"},{"commit":"283b89e37c38a3082203e43e38569c8b0bb11e12","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":5,"deletions":4},"message":"simplify answer data logic"},{"commit":"f450f9eb8b7d382af316e88301e72af01a018be9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":74,"deletions":0},"message":"add hciconfig tests"},{"commit":"b3f8cf99a4874335c6b43e105e0c1562c08256dc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":15,"deletions":15},"message":"work for both tabs and spaces"},{"commit":"4301ea8caea7c14f59bcddf09668d0198e1115a8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"remove debug line"},{"commit":"c672d1c174a42ce44544dfaec0ebcf3c30fd7acf","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":903,"deletions":22},"message":"initial working hciconfig parser"},{"commit":"229e953a38471cdd41af0810577d324329840a4b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":205,"deletions":2},"message":"initial add of hciconfig parser"},{"commit":"87b506dc9b4831d11b4fd04fd6849532db074f90","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":47,"deletions":4},"message":"fix for spaces in dig answer data"},{"commit":"15c9002d9eff0f52d873fb3ab35dfafd03a8e919","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":4},"message":"simplify logic by taking out 'not' in JC_COLORS parsing"},{"commit":"042aaa61b96fc8472a8a460c49bde4cbbc359094","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"minor updates"},{"commit":"ef856c6ba5774cd8ec23acd71496846e794e3872","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"clarify -q option"},{"commit":"9cf5be73e3f975132d1ffbef412638b941a5664f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"typo fix"},{"commit":"63fc149e2a097cbde60c2ce1aeb102d9becabd9b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"typo fix"},{"commit":"3c25839350800c7e7d2c48fc032bb21efa0ac213","merge":"03c0295 58246e3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #98 from kellyjonbrazil/dev\n\nDev v1.14.1"},{"commit":"58246e33b71bae0ca4a42ad5bdf31134948b1014","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":3,"deletions":2},"message":"update compatibility info and changelog date"},{"commit":"8b1407c7068e2105a83992bbb026138ea67bc07c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":59,"deletions":10},"message":"pull env-specific tests from CI/CD and run locally only"},{"commit":"2fde4a4e2299b98a9958e3a55849c6791e4b17dc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":3,"deletions":3},"message":"doc updates"},{"commit":"60b9e9798286121399d0f8b75d63ab0f3312c9bf","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":12,"insertions":80,"deletions":38},"message":"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"},{"commit":"0adac79c0f2a22b31dfef1432a029af06132467b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"Add last parser enhancements"},{"commit":"9f485b5981a2ce49ac699b9dad39993c5605ae18","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":5,"deletions":5},"message":"change mac_address fieldname to bssid. Add credit to Phillip"},{"commit":"db17d21b8f9b2f899760e648f1483d33d0bcf47a","merge":"5885b96 996d394","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #97 from pschmitt/iw_scan_fix_space_detection\n\niw_scan: Improve detection of lines starting with spaces"},{"commit":"996d394e89c732f327323ca340fce405bd5fb2e4","author":"Philipp Schmitt","author_email":"philipp@schmitt.co","commit_by":"Philipp Schmitt","commit_by_email":"philipp@schmitt.co","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"iw_scan: Improve detection of lines starting with spaces"},{"commit":"5885b960f9b33a95ecec9f4a33233c2f8682fbc4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":7,"deletions":2},"message":"doc updates"},{"commit":"79987b35f332e287567e103f25cf91cb50e040c0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"661b3ef311ad26678030c70c11f2f955667311a4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":94,"deletions":2},"message":"doc updates"},{"commit":"fb422726a8366c7133f0712d3b05a26620eea785","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":1},"message":"update test to add 'down' condition"},{"commit":"4fb6f3ea59c52515926a51a006e65a1c18e57720","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"add support for down in addition to crash"},{"commit":"f78fe771e1c2fb4691858fa7f27b1febe5f8c6c0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":48,"deletions":0},"message":"add iw-scan tests"},{"commit":"567b8872538ac9f6b384b98741acd9794229d513","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":252,"deletions":12},"message":"doc updates"},{"commit":"e516e6b9466b29d40ec10070dd61551180eeef90","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":29,"deletions":1},"message":"fix country/environment fields and process int/float conversions"},{"commit":"62748676aae3d5955191ed267215df33a5bd3a4d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":225,"deletions":0},"message":"initial iw-scan parser"},{"commit":"7351c72e45242b9eb08c51dea7b6fccf12366dfd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":402,"deletions":1},"message":"add fixes and tests for entries that contain 'crash'"},{"commit":"2b7405c5e21db2488fc48b58f6c65cff947ca95d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":23,"deletions":16},"message":"doc updates"},{"commit":"e2c77cb935a5bd95dbe930d424e5a02e88e1fa76","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":15,"deletions":1},"message":"add test for last -F output"},{"commit":"7ac621e4c916373a03f379425033cb2d81a03578","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":36,"deletions":6},"message":"add -F support"},{"commit":"d8b5d6c66ced19dc16f2b4975d2293a903732ffe","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"version bump to 1.14.1"},{"commit":"22b461eb4b1ca86ea9e8c1fde8a2c312d1526b5f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":47,"deletions":12},"message":"Add period field for en_US.UTF-8 locale"},{"commit":"b37ee8555a2a108625a834a7990bc3320e79b08d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":0},"message":"changelog update"},{"commit":"1d0ad2f045733c5c690738d49951fdb9bcd3d66d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":123,"insertions":312,"deletions":312},"message":"doc fixes"},{"commit":"ceccfb2c815f57f1b6fd81f891d8b495de23f9f5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":2036,"deletions":0},"message":"add test output for iw-scan and date on ubuntu 20.04"},{"commit":"03c02953cd7e3327b391f799c37a2990eb2cb24c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":96,"deletions":0},"message":"add wc doc"},{"commit":"f254a0eaa16fcda316f7a75424ee359058204b03","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"version bump"},{"commit":"9e3b88727cd439e15f235dddb9dd5796e010797a","merge":"439871e b122174","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #91 from kellyjonbrazil/dev\n\nDev v1.14.0"},{"commit":"b12217466e906829d19be4cfd80dfe7cf4008e57","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"spelling"},{"commit":"8b9c932f9b05295e63b3e7d0073f243458fd4dd9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"update date"},{"commit":"5986ce03db6fcd1aa0f7b064eaa96c2120c06d2d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add printenv info"},{"commit":"a7b0e936e400d2f9e55629e2d722cc002e035e9f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"add vdir and printenv info"},{"commit":"cb0221142455a6bcb904fbe9ade657be45815b63","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":61,"deletions":2},"message":"add wc tests"},{"commit":"bd443bf39227515ae5f8df65d07b30268dcc90a9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"add printenv to env docs"},{"commit":"1f547edd361e66b19ccbcb59f6ba0ae78f6080ce","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add printenv to env docs"},{"commit":"e4bac3a493705b09e301ddc90dd1b0cee7467c3f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":9,"insertions":378,"deletions":0},"message":"add wc parser"},{"commit":"5e6bfa681aff03fbd683f81a9f4daa56b49d1344","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":6,"deletions":6},"message":"add vdir info"},{"commit":"276160125e01553c75eaad68530177bcf4f9004d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":0},"message":"add new commands to README"},{"commit":"d4ae5543f2d5f28a0db5b8e2e19993c21c5d960c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":39,"deletions":0},"message":"add hash tests"},{"commit":"55f360e267fdfcfef0c124ed6b88535cc181a8b0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":260,"deletions":0},"message":"add hash command parser"},{"commit":"fdedab2a0cf5af15df5803d87302397dd6d71741","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"description updates"},{"commit":"a9be42e3031ab0d697cff67a9e384caa2265a3ad","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"specify parser warnings for quiet option"},{"commit":"6da9510e46e84ec1cb93384825184d2996cf0e08","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":9,"insertions":482,"deletions":0},"message":"add cksum tests"},{"commit":"0431798178740b03cdefececc6df958e5adf62fc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":229,"deletions":3},"message":"add cksum parser"},{"commit":"62432f3c484e74acb2b2dfd15d448b3f1b5d53c4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"update hashsum description"},{"commit":"9fbbc30906b597e6afaf2030015a7a694d85f79e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":20,"deletions":0},"message":"add supported commands to docs"},{"commit":"d1567d1f622902053f3df58645b4e39532e0c30a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":104,"deletions":0},"message":"add hashsum documentation"},{"commit":"6ca1f5970b3a518615a54ee7fcbc1bddab2db331","merge":"1c880b9 3b7d54c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","message":"Merge branch 'dev' of https://github.com/kellyjonbrazil/jc into dev"},{"commit":"1c880b9e24ca53cd592cec1dbc52301308290fb4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"force git tests"},{"commit":"3b7d54c720dfc93637328cf06eb10a85447c8793","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add python 3.9"},{"commit":"44a740605705bd0ecfde2a6bcc7a826e1010dcf0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":87,"deletions":0},"message":"add hashsum tests"},{"commit":"8157dcfdb1868548b7c8ca692e6be25f80bb2c2c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":36,"deletions":11},"message":"fix for files with spaces in the name"},{"commit":"28762aea15cabc9cd8293d725e7f1f0550f8e15d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":524,"deletions":0},"message":"add hashsum parser"},{"commit":"439871ea9f6b055a407e1faaf47e4f56d1829501","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add ubuntu"},{"commit":"c9180b005c0547c8cbfe4809e66894f1123b0809","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"b14e0725f86853f0113116b1c06f54aaa563f365","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add ansible plugin blog post link"},{"commit":"70fe3dcb4d5b97aba1d6c6dcd5088fecb27af181","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"8c554604a42a3ea7ca9131b65c64fd3ceb95f906","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"formatting"},{"commit":"a0a35454bd2831c116cb598c686150b883412f94","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add link to the web demo"},{"commit":"e8467e2af5b0c3f14832a9e6d4a96f219c27f3f2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"remove extra space"},{"commit":"7515deb5669ef04623e9cbf58653b30c99a96430","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add ansible install command"},{"commit":"ed9e52af241b609ee7f5d1b835c9f6c5306cd3c5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"spelling"},{"commit":"592a3804104628c790997747a778b3b39d076dfe","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"add Ansible note"},{"commit":"1a458d2d5b4c16c0ad90671727ae9b19939e7f23","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"update link"},{"commit":"0e4cf53b92ff951a6390a4dacf8833c272473583","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":0},"message":"add parser docs link"},{"commit":"e2f06ccb33177173d984bc0cdda1aae1a3f4c681","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":4,"deletions":4},"message":"formatting"},{"commit":"8abff004cd8e09529e5d94be4883308152e11565","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"indentation fix"},{"commit":"c4a0e2e3feb2e51eaaaa202064f352229017bcc3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix indentation"},{"commit":"4f10f79c73f8b3d6edc2c83e6a12d0ddc1a78555","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":8},"message":"standardize doc"},{"commit":"69e7a560fd82337570c4bb4aa4780f513c18bd94","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":8,"deletions":0},"message":"add output info to docs"},{"commit":"59b105580805d78516abe1c1069d52a6f0a8131a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":97,"insertions":564,"deletions":269},"message":"enhance docs"},{"commit":"6ed48c6289214fe5114971c80772efdf9ac1b8c5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":16,"insertions":88,"deletions":37},"message":"enhance docs"},{"commit":"f2fb4d3f415fbc1c09eec6dedcf70fba78406b3f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":4,"deletions":4},"message":"improve docs"},{"commit":"6aeea59ea84e56434e87ddf89cd5d4435b99e140","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":14,"deletions":8},"message":"doc updates"},{"commit":"d016f3bbb307f85bd0f93a508323941a8bb9d872","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":14,"deletions":8},"message":"improve documentation"},{"commit":"7131c297180bfa195d0209d46fc70ab8e67efe2e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":114,"insertions":686,"deletions":116},"message":"add module usage info to docs"},{"commit":"7432442983841b42c8d3d2459b55596c05d1e100","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":1},"message":"add usage"},{"commit":"5344883394a0662ee16bb5edd68df8e4410025f6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":2},"message":"spelling/add ping parser update"},{"commit":"3fcd2f6c2e015b0e65e7261c8e591ccd8a7d0e6c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"version bump"},{"commit":"f3d84bd5bf06349b681e9b72d904676e9f6bca19","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":21,"deletions":3},"message":"tighten crontab and crontab-u parser variable detection"},{"commit":"549780c23220bca3bcab58d7329ba8d44d1be55d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"add debian/apt-get info"},{"commit":"2a6da69b82aa9ade6c01d490a32b57b415c62a9e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"improve linux/bsd check"},{"commit":"5c538816cf76686bac1a86a7c06e24664d25a2dc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":9,"insertions":55,"deletions":4},"message":"ping parser fix for raspberry pi"},{"commit":"7b8b378a7df397c488fc54fbd6e77f5f3f23c10c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add pydoc-markdown version requirement"},{"commit":"e30a75e25c4b43969bf9f874f89e18512a5e3a34","merge":"dda517a 85ad5cf","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #76 from kellyjonbrazil/dev\n\nDev v1.13.2"},{"commit":"85ad5cfd0bfb903ce35e37b343244fed88dbd979","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"date change"},{"commit":"88b9d5068c5bac0691fedb543114300d6afc7131","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":74,"deletions":15},"message":"finish date parser"},{"commit":"f8c4948a090642db595eda2ba2ea0773e560ba67","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"remove comment"},{"commit":"412322447f019aec0b64888631bc965e9f21186d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":48,"deletions":17},"message":"add month_num and weekday_num fields"},{"commit":"d4f289e40fae621b87f0d49451fca4c3dde216b7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":4},"message":"documentation fixup"},{"commit":"e1f3feb8f529172ae26ce4c7a66a4a1c21b722ce","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":13,"deletions":10},"message":"cover empty data case in process"},{"commit":"37d3bc699c7be16955be06840d242980f05f1074","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":224,"deletions":1},"message":"add date parser"},{"commit":"672fd18016b8122510b6ab246b5675b7fd399b63","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"date bump"},{"commit":"bc2c23a2a09b96d34bb80f69fdc7751fb5ac3ed4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"version bump"},{"commit":"865f7e78124e382c6d315702fa6e48f2104cee46","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":1},"message":"add kv parser to man page"},{"commit":"720212b552e1bd2b9196dd5f06e4b3f85d463531","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":9},"message":"fixup traceroute example with new behavior"},{"commit":"d3be61f60837801d5a505dc2520cc80c874a6092","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"version bump"},{"commit":"13418b16b8fd78fdd97ac045ec3fe9aa59d46080","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":8,"deletions":2},"message":"doc update"},{"commit":"42d2017cd6f5ee1d1a92bd4958cd63366c1e715d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":18,"insertions":41,"deletions":24},"message":"traceroute updates: handle missing header row, add annotations, don't print timeouts as probes"},{"commit":"4345e76ead2a49ae0691077e9fbd2b6c5fdfd129","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"change to use --kv for key/value files"},{"commit":"741431322ba2677355c361fcd6095ed8cd0a4349","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":46,"deletions":24},"message":"update tests for kv parser"},{"commit":"980beaaf41a04891f7c2f5daeb1e3a23d3c7ec19","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"fix docgen issue"},{"commit":"2205034e0906b333c259648f7a0e5392945f12ef","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":8,"insertions":105,"deletions":31},"message":"add kv parser"},{"commit":"82b9c87a66fce5d8626c56858a8c6f1f3326e7fb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":58,"insertions":345,"deletions":62},"message":"update docs"},{"commit":"dda517a937323b9888e081aea1032a9d63c4a6bf","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":163},"message":"shorten more examples"},{"commit":"4e6d283b9eddf7759b4dd37bd643394ff73febd4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":65,"deletions":0},"message":"shorten netstat example"},{"commit":"55acab05aa740dfd7534304f2678b60942cad116","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":0,"deletions":0},"message":"change name to CHANGELOG"},{"commit":"ed38a18d236cdb991779f4f148e42359c139e61c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":86},"message":"remove more examples"},{"commit":"95b3c11203d3dd0627c5eeca39fe1d145bf2d733","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":124,"deletions":0},"message":"remove more examples"},{"commit":"dce318f4fd44b9c4013211bf233020e84566ddb7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":1537},"message":"remove examples to reduce file size"},{"commit":"85127f0fb8096192b19fca1f4ffe38ee391351be","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":0,"deletions":0},"message":"move examples to root"},{"commit":"fb45058244ce879f12bbb5b7267b0fd63fef1d63","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2640,"deletions":0},"message":"add examples file"},{"commit":"45bb5ae389a00ed6a132a65c69ce76c7e5976858","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"spelling"},{"commit":"339238ab364d8735892a11cb16a62a651edae169","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":8,"insertions":79,"deletions":2},"message":"version bump and add route -6 tests"},{"commit":"032cda8b3db096b690d2557e3b918c50c716c543","merge":"690ac52 6badd3f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #74 from kellyjonbrazil/dev\n\nDev v1.13.0"},{"commit":"6badd3fb1e1cf6d1ee99614fadc20d54be8039aa","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"add parser count test"},{"commit":"724d825745b6f1692eb3b068c3fb59d14892e690","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":0},"message":"add tracepath parser"},{"commit":"ff1e32ad2ee156f105f5069c6b14a65b22784dfa","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"version bump"},{"commit":"a5f97febd3066b9e95a18d6b73162a7d206c5845","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":10,"insertions":132,"deletions":0},"message":"update traceroute, tracepath, and uname tests"},{"commit":"5baa6cc865634142690e78596c640db35e110b29","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"add route parser update"},{"commit":"7a4f30b843d8f11711abbb8f9bb263f945ff87ea","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":2},"message":"fix for iface issue"},{"commit":"b2c385dc4f63e3e15f47e986deac0524967214a0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"change 'if' to 'iface'"},{"commit":"5d5da8d33fa6ab77c745d338d1a2e2e8f2e4c697","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":3},"message":"more fixes for ipv6 fix"},{"commit":"e60457157839daba385202906997dec48c9c4950","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix next_hop fix"},{"commit":"f9dacc3f95b32e1431914ae0b0dc5c8e8840d5a7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":0},"message":"fixup for ipv6"},{"commit":"6086920332575cd7db1b38262a3b4ba8fbfae7ab","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"update ParseError message"},{"commit":"f52f3163bcaf8d7e784f02505e81456e8240295b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":49,"deletions":0},"message":"add tracepath example"},{"commit":"d18ff73e880c7d34957f2713857cc83094f914cc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"update author info"},{"commit":"1e5d602caecd96c9056ad77f9fc50cf25bf6fdfd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":288,"deletions":32},"message":"working tracepath parser"},{"commit":"12912521ecb376c36dfdd743b3c4195598fb9aac","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":11,"deletions":0},"message":"doc update"},{"commit":"842ea3a94bec3fcab76257fdde5514d1de3d57fa","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":153,"deletions":0},"message":"add tracepath parser skeleton"},{"commit":"a8560dbc1598fa97de87594228b4cc10282d4197","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add tracepath"},{"commit":"a65e27540a8c5c7123d2fdf79fcbefa1e2f8afdc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":1,"deletions":24},"message":"update docs"},{"commit":"c3c5ed11e68938e35920144406d37ea3b21d63dd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"change name from tr to trparse"},{"commit":"ce24149335cd8ed1e8513a2cf040432fe42d86b7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"formatting"},{"commit":"0314ca8c4831d24c169a0e4948421ecd638fd699","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add trparse acknowledgement"},{"commit":"ebd8ee49a9f43063850e30c745c8cae46ee13de1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":26,"deletions":1},"message":"add key/value info to ini example"},{"commit":"38d10c97814ec69586c3b447c182f339772d6e22","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":130,"deletions":1},"message":"add ping and traceroute examples"},{"commit":"360106c24d24e6a9697c00a158a14aaa334a4b1f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"add tracepath"},{"commit":"ca470a5d02fd9fbaf05d8b3b3bb1ffe9f4cf5af3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":39,"deletions":0},"message":"add tracepath fixtures"},{"commit":"57f66e6b1d554ff20b72959f5ebb9e7b2feffed2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":14,"deletions":2},"message":"add exception with hint to use \"uname -a\""},{"commit":"e774f67924c0e6195f79829b2ac75ce95f76fbaa","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":7,"deletions":3},"message":"turn off interpolation and coerce None to ''"},{"commit":"ac10e576c167d20de259e47a6aa5b23fc998b4c3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":4},"message":"spelling"},{"commit":"bcae0a99cd0ccce4ec8a67929f7c83a1095a5b88","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add key/value to ini description"},{"commit":"c73c2ff879b3ed7a3e6f04e53e0a729e4f00ed21","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":7,"deletions":1},"message":"add ping, traceroute, and ini update"},{"commit":"c39b1a3356881a11a8f6fe9432897e6d67162f07","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":1},"message":"add ping, traceroute and update ini description"},{"commit":"125dc2d9e051a82a4a438afe2e520212338353f5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":8,"deletions":3},"message":"add info about key/value files to doc"},{"commit":"b7d4ddc7ced2c3aabf3a857b53a0bf1b62eb6a2c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":50,"deletions":0},"message":"add tests for key/value files"},{"commit":"f5e546c6fa7cba166284a0976887d6b82451d3e8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":33,"deletions":9},"message":"add support for simple key/value pairs"},{"commit":"928e39cd103b96b8c3ccc8d85c930ffb419296c6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":9,"insertions":104,"deletions":0},"message":"add generic traceroute tests"},{"commit":"d0b7ea68a005daff313e44808b256656313a78a3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"check for key in dictionary"},{"commit":"8444690133b6a7522822ab279e97ede6ded17ba9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":0},"message":"add traceroute"},{"commit":"c03c42d76703ff8f423cf3c10ea6254a27a685cb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":9,"insertions":76,"deletions":9},"message":"add traceroute tests"},{"commit":"ab67688a00ac335d2a5603e9cadef8b565957911","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":55,"deletions":0},"message":"add test skeleton"},{"commit":"5dcb7166daef3c53da65bba0d591672e64d3a90b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":169,"deletions":0},"message":"add traceroute doc"},{"commit":"14697b86d7fc1cfebb41e0fd2d9a9b9b60071d3b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":24,"deletions":2},"message":"add MIT license"},{"commit":"4f4b6276d4bf798b17d996f39742bd0428fc2f19","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":38,"deletions":33},"message":"update docstring"},{"commit":"7bc497e1291059ae7858c9d2bd2d9a1b4c030dd1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":117,"deletions":14},"message":"updated process() function to set integers and floats"},{"commit":"68a37a6a5a3f0ad0fa24c84d363050af9fa11f97","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":0},"message":"remove unused function load()"},{"commit":"6f5cd1d7c5f76d7d4da42171fdc30daf9fe3996e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"change to use f-string"},{"commit":"126b1b121ca10183dc7e9dece83b42907becad39","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":10,"deletions":0},"message":"add traceroute6 example"},{"commit":"2341e456a012564f86d533d2748a5887d79995e4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"use ParseError instead of generic Exception"},{"commit":"72d80e95bb50ae2a7432082e65aba15235ba0955","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":8,"insertions":115,"deletions":8},"message":"remove unused regex patterns"},{"commit":"f5ec82440cd1c1b5ac9011d3517298d0cdcd8766","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":5},"message":"simplify regex patterns"},{"commit":"c8e526ead35b868733f57b4c114062a48b78a817","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":12,"deletions":3},"message":"fixes for bsd-style ipv6 output"},{"commit":"066adfb76479df7042bfb12bbb83b5dbd8a6d54c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":83,"deletions":7},"message":"handle warning lines in the traceroute output"},{"commit":"5b444d4717b0b8528647e17e71d699907def3e18","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":307,"deletions":0},"message":"add traceroute parser"},{"commit":"69c95adc8d59927c1c00b7e766ca5003b7b6454c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":81,"deletions":0},"message":"add osx ipv6 ping dup test"},{"commit":"2b0e0d8f5c1a6a5450e362971f9ad5892093b2ce","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":27,"deletions":0},"message":"add ipv6 dup test"},{"commit":"778d1bacbf8df523d434b22f5e1517955e4c15ee","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":28,"deletions":12},"message":"update docs to add \"duplicates\" fields"},{"commit":"7e1b0410166c584775ebcd681a280ec7321560c7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":24,"deletions":0},"message":"add duplicate replies tests"},{"commit":"313b9b329ca6b674069718839f55a4bd7834db80","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":55,"insertions":55,"deletions":53},"message":"update fixtures for added 'duplicate' fields"},{"commit":"6830062256fbc453f87224f7ab8c10e4494b5a83","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":112,"deletions":24},"message":"add support for duplicate replies"},{"commit":"323072c9827c41c5d74433504b5efceb846cfe09","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":0},"message":"add source_ip to schema doc"},{"commit":"8719d96bddec80187e7ba3286ba93bfec8465744","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"change description"},{"commit":"dd5d318ab5bbb1027dd600fd3b0b6ec9b8adfdc3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":1},"message":"version bump and add ping command"},{"commit":"d6dc7f5e65c097895c19000e59e8803a3b350fdc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":13,"insertions":135,"deletions":29},"message":"add osx ping tests"},{"commit":"c203664eb5aafa0afa3101b79e3fd13b3e009ec5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":13,"insertions":171,"deletions":9},"message":"freebsd ping tests"},{"commit":"19ecf1fa19e9fa0873002baf07fa670b71ed7752","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":11,"insertions":118,"deletions":0},"message":"add Fedora32 tests"},{"commit":"b8deb0426cc23333c0e0a9dc3776d9761d99abb0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":11,"insertions":119,"deletions":8},"message":"add ubuntu ping tests"},{"commit":"3b8371f0208a097cb8a1c026348d3842e6702b9c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":10,"insertions":202,"deletions":0},"message":"add centos ping tests"},{"commit":"20bb1cdf396abdb3707b34fa146cbe913f9bbd6f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":4},"message":"add TypeError to except for None values"},{"commit":"301daa48d0bfc28f97c8e46f028f8c6b875bf34e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":114,"deletions":16},"message":"update documentation"},{"commit":"8421ec88033e02f472e4961d87551a0352663a16","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"remove cygwin compatibility"},{"commit":"74211eb0129f6aa655a38ba4d4d8844d81441107","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":82,"deletions":5},"message":"add examples"},{"commit":"60bd42f298f309cbec6d24c9543ea3d51bd73b18","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":59,"deletions":11},"message":"add process() logic"},{"commit":"14bdd74526e400997c5bc247ea35ed40799e83ff","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":12,"insertions":100,"deletions":0},"message":"add ping test fixtures"},{"commit":"fb0f3eda04a4b1dbb81da7d5791cbfe746bfd617","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":16,"deletions":0},"message":"add ping commands"},{"commit":"91ee6e6701307363336a39f9e16641465ddd05c2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":12,"insertions":100,"deletions":0},"message":"add osx ping test fixtures"},{"commit":"51f4e6927c68a7e2a26954f564d10d316b98a984","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":12,"deletions":3},"message":"add support for pattern in osx/bsd"},{"commit":"94988d86674293faddc6f7e7c82575738d2dc791","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":10,"insertions":257,"deletions":0},"message":"add fedora ping fixtures"},{"commit":"fe36f5a98cd3ee7753e250b6553e4453d971f929","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":13,"insertions":318,"deletions":0},"message":"add fixtures for ping"},{"commit":"f9eb18b9271b2428dd82f2dc26d3fa0435dad81d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":8,"deletions":9},"message":"change 'request_timeout' field to 'type', fix compatibility, other formatting fixes"},{"commit":"cc60f3674822c644933f286a0364b09d7e2a60b3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":67,"deletions":1},"message":"add ping parser"},{"commit":"604ade791f7bd33b37f64916befba27a2ea08b5b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":8,"insertions":506,"deletions":0},"message":"add ping parser"},{"commit":"690ac52a917200e46eac2feafc9f504f2734301c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":261,"deletions":0},"message":"add man page"},{"commit":"34ed772775f1f02ed148f24a3bfff532bc811607","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":5,"deletions":2},"message":"version bump"},{"commit":"d5ab95571f64f55d8194e9e5592ac538bb535229","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":26,"deletions":11},"message":"fix tests when using older versions of pygments"},{"commit":"ffb3a0ee5fb30a3f61d6cbedf877ab04acdbf624","merge":"fde0bc8 94b12b5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #73 from kellyjonbrazil/dev\n\nDev v1.12.0"},{"commit":"94b12b57aaa56170d1f31f4910fd1239f88de137","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"spelling"},{"commit":"6d149e84571d5d6dd1d8a1f219ba299de5173779","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":8,"deletions":1},"message":"version bump"},{"commit":"1ad89c90d890039b817f65b2635db1b5e849a9e7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add pacman"},{"commit":"fb71c7b020bc1eda9484595f30b0200a4f59aa45","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"function name spelling"},{"commit":"28ed17ad3bce866e5dc0179ef5de43380ac6ace1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add parser_count test to test_cli_about_jc"},{"commit":"0c2a4e2bf71dca50d4a9bb27ca99944909c022ff","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":37,"deletions":0},"message":"add cli tests"},{"commit":"62bec30de2f1a303f2ec411d89f7f9f9c6d1abaf","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":20,"deletions":0},"message":"add json_out tests"},{"commit":"3fced77e4e258dbf7db94a313e599c830a597b49","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":98,"deletions":1},"message":"add set_env_colors tests"},{"commit":"a09d1d8b7687912610598c88d172733d5e29b1ce","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":7,"deletions":6},"message":"move environment variable assignment to main() to simplify tests"},{"commit":"8f4243fbd8d70ca9fd019e984c564e37c81e07db","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"formatting"},{"commit":"47aaf20549ea238443427e69d5841d6996b7afab","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":17,"deletions":0},"message":"add sysctl command parser"},{"commit":"0c5289ea50e4d3d35e80147b4cad32434c19a2a0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":72,"deletions":2},"message":"add sysctl tests"},{"commit":"3e53323514906fb84abfaeed0c2ee1fd9090ad8d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"don't filter out empty lines"},{"commit":"a5ee9861b9b9b479aee59ea5b1d75f20d7c3c8e7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":3785,"deletions":1},"message":"update fixtures"},{"commit":"feb8ca76545cba4fd0927273ddf90a77df994006","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"spelling"},{"commit":"a7abe4473b90c512466db9ae98cfac585689fe2a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"spelling"},{"commit":"780b9b61dec3e142e46c9a82146d2af4e1144123","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":3},"message":"specify IndexError exception in try/except block"},{"commit":"19ace36ffa659bedf0ba2e43572c9e253592b2e7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":2167,"deletions":0},"message":"add fixtures"},{"commit":"5fff8afc9f47f8cc6db8ed3613b90b5cdc683b43","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":33,"deletions":11},"message":"add fixes for freebsd where values can be on separate lines under the key"},{"commit":"4ad230c9279c5eb6c8ed6baf7254b8e9328e5af0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":929,"deletions":14},"message":"doc update and add test fixtures"},{"commit":"dd98eb1ec8f451eb87a5094e76a7f758dee3fc69","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":7},"message":"append duplicate key values to original key instead of adding unique keys"},{"commit":"c6baf42e72b4f41ed511e7db943297d03a39c0d5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":94,"deletions":7},"message":"doc updates"},{"commit":"e2bac97d563e5ef771ccd8ed1e5c42cbf588b120","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":11,"deletions":1},"message":"fix for multiple identical keys in sysctl output"},{"commit":"d112ee94d0ec534828c8508d0fb833b768975990","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":8,"deletions":4},"message":"use try/except and add support for floats in process()"},{"commit":"27b21b2fafab912f21b88b66c7f817cbce155765","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":8,"deletions":7},"message":"formatting and docstring updates"},{"commit":"8c96d5cd20448a4f7f9736c4d489d6ecc3068ad7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"reduce pygments version requirement"},{"commit":"c29ed3fd695f725005333db5e6e2cd844bb4ca14","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":14,"deletions":13},"message":"formatting of quotation marks and docstrings"},{"commit":"cedf603f121636bdfa95432059c3c275c3ea3e9e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":4},"message":"minor formatting"},{"commit":"279161c36f288c27a9789054ae372fe8ceb58a94","merge":"bc7116c ce0b43d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #72 from duelafn/pygments-2.3\n\nSupport older pygments"},{"commit":"ce0b43d919f07d96d1b94e9d14d03e935e80011d","author":"Dean Serenevy","author_email":"dean@serenevy.net","commit_by":"Dean Serenevy","commit_by_email":"dean@serenevy.net","stats":{"files_changed":1,"insertions":3,"deletions":2},"message":"Remove dependency on 3rd party packaging library"},{"commit":"ddafa5bf06066bab8e9587be902d6752fcf51605","author":"Dean Serenevy","author_email":"dean@serenevy.net","commit_by":"Dean Serenevy","commit_by_email":"dean@serenevy.net","stats":{"files_changed":2,"insertions":47,"deletions":7},"message":"Support older pygments"},{"commit":"bc7116c31bacf3159aef775fd0e615187420b010","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":7,"deletions":8},"message":"fix JC_COLORS env bug and simplify set_env_colors()"},{"commit":"53b709272115e769dac905296fa3b000c1cdd66a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":11,"deletions":11},"message":"remove side-effects from functions and print in main()"},{"commit":"beb9174b1b35937ae1fb99778369ae643a8f1005","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":123,"deletions":0},"message":"add sysctl parser"},{"commit":"aea41ed341c8d53cc07c35e8044e8f816ddd2fed","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":5},"message":"move verbose_debug enable earlier in code to catch more issues. add sysctl and version bump"},{"commit":"d789494cb1f691aa352419aaefc692f654477177","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"change type check to use isinstance"},{"commit":"608e7b4cff081f92177e4151ffa1a91a4a6895ca","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":61,"deletions":0},"message":"add license info"},{"commit":"4ee199c02a78c2707c5d1427d7c8fae56df5671c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":189,"deletions":3},"message":"use tracebackplus instead of cgitb since cgitb is depricated"},{"commit":"fbf47d408501dadda4671fb530f5e11859e85d53","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add arch linux"},{"commit":"5a238e4b4204f0552327534ef798c28d3ad4f578","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"remove updates-testing from fedora command"},{"commit":"f852b8246a8f9e5f7d9144fed3a0daa4eddfe035","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"wrap warning message"},{"commit":"88140d929a500ee78f807862c4912c399df2a460","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"wrap error message in code"},{"commit":"45f726824027af49c437b6e81e4700f7098af320","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add -dd to error message"},{"commit":"3a3c8e4d4a77135eaee5cb30c3107a4531c300ce","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":4},"message":"move verbose_debug under debug check"},{"commit":"c1ac183a0472e93226c9ee1905f56c5183e3721f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":15,"deletions":22},"message":"simplify debug option"},{"commit":"18bb779ee5cd5821764b03173f16e922f753c64d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"formatting: double quotes to single quotes"},{"commit":"8b6612fe7911ab9e0bf8d29be60865d3b8aa3fd8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":2},"message":"move JC_COLORS parsing error message"},{"commit":"fde0bc853415418e01616861ace5048770bd97f8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":9,"deletions":34},"message":"improve package install info"},{"commit":"e661a78939ff067b8a61f08301c178dd10a344ab","merge":"b969751 847e346","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #71 from wigust/guix\n\nadd guix package info"},{"commit":"847e346602789bf58e3515319e9d080dfb897fc9","author":"Oleg Pykhalov","author_email":"go.wigust@gmail.com","commit_by":"Oleg Pykhalov","commit_by_email":"go.wigust@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":1},"message":"add guix package info"},{"commit":"b9697516887c61f08d8d7b1dc9130350e5bdba9c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":1},"message":"add other references"},{"commit":"ad6f2ba03a293a7f55e456fa5f5b55ee3cbcd4ec","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"63c6a5edc0e9001b143595fd8b96f1b4a1377a3a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"formatting"},{"commit":"9f4cf9dd5efe94adfff0961fdb73097ca27c5463","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":197,"deletions":67},"message":"formatting"},{"commit":"51331b6dc01eee00847fa4be549ffde365373a01","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":2},"message":"formatting"},{"commit":"efb6761033319644bf9cdae6288ff5609f6482ea","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"6a4f737a0f1c322bebccf69809d9816fc770c5ef","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":88,"deletions":115},"message":"update json syntax highlighting"},{"commit":"be6864b778ab721bcba5fc3221576153be7b2ed3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":26,"deletions":26},"message":"add syntax highlighting tags"},{"commit":"de3b91a36cfcaf565b26b1da42f1e87835da4dc3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add -dd option"},{"commit":"ef5482c3b5afa0ee8e85851bebab1c104cb59936","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":15,"deletions":7},"message":"add verbose debug option"},{"commit":"d20b795137036f8b889eb231cb4f14b756ec6479","merge":"69018cd 8a13406","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #70 from kellyjonbrazil/dev\n\nDev v1.11.7"},{"commit":"8a134065dff429551449c1ea16a36d745fdab580","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":12,"insertions":12,"deletions":12},"message":"update fixtures for last chain fix"},{"commit":"22aee1bfa40ed1d3c4df28cd934ef0edfc5c458c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":5,"deletions":2},"message":"version bump"},{"commit":"b282820fd67dcc96c058198f97b066e7b402d1f3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":0},"message":"fix to include the final chain in output"},{"commit":"3ee098306daf903687cb0febf92773a81e216111","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"version bump"},{"commit":"09e8f379a64b3b37bb99b4291c10aa4a5cdedea4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":9,"deletions":11},"message":"iptables code optimizations"},{"commit":"69018cdb3a77fcdcb5648e3b89933148c55a6412","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix date"},{"commit":"d0d7254c6acc7be4341618d231a5b166f640b287","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":26,"deletions":0},"message":"add docstring"},{"commit":"cc0f0971d76b6f3dec8d989e83f5676db8f2c6d9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":56,"insertions":476,"deletions":439},"message":"Improve and standardize empty data check for all parsers"},{"commit":"2af61730f0f5b9bc6f1f4c5d9d808ff6ccb0faeb","merge":"07b179c 83f41b8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #68 from kellyjonbrazil/dev\n\nDev v1.11.5"},{"commit":"83f41b83dc01c462c6a2295e9fc56ad42a3b62f4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":3,"deletions":3},"message":"version bump"},{"commit":"1fb84fce88e0306c26a5771fa4c6dc14a21409a1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":16,"insertions":137,"deletions":67},"message":"fix for no data"},{"commit":"a8837e12447c52dbe438b19c07777b9b4a22081c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"remove --upgrade from pip install"},{"commit":"04d2eec5581998d1a80e762b670af76c92111065","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":56,"deletions":30},"message":"fix for no data"},{"commit":"1b57ec92f052ddc8959540511512190a539262b7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":21,"insertions":152,"deletions":68},"message":"fix for no data"},{"commit":"4d8859540417e99e273fda2cea959240f3c37ea3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"enhance empty data check"},{"commit":"52b1272a3aab09b5a8c4a277fbf9975a1b8b6921","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"enhance empty data check"},{"commit":"d2ccad6a83138fbf6eb863634fd354dc6c3fa238","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":33,"deletions":15},"message":"fix for no data"},{"commit":"cad6dde4ac66cf970a7f52d8e7958ea35c083629","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":10,"insertions":60,"deletions":0},"message":"fix for no data"},{"commit":"06811c3539b0d871e13e9b8d3b51f731d06fd2ce","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":0},"message":"add test for no data"},{"commit":"0cb23c2b21f464082609409261de8e95eb1b0d55","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":17,"deletions":7},"message":"add fix for no data"},{"commit":"ac4688dca22334385ec2c87027f2f14f9ca93ce4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":0},"message":"add test for no data"},{"commit":"326c3b4670a0e47cbe2988b38fb1c1b26a4db890","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":0},"message":"add test for no data"},{"commit":"9b29d0c2688eda2e4707aeba693ed14fa433a706","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":0},"message":"add test for no data"},{"commit":"e0013c38710b4ecf3a588a16d1d908effc23b485","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":0},"message":"add test for no data"},{"commit":"a75744075b0628bdb711d8a929a759b4b4067edb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":0},"message":"add no data test"},{"commit":"525aec1a02380f17ab7827434616f981f7457bd0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":16,"deletions":7},"message":"fix for no data"},{"commit":"0bf9a7a072a80e10a29c6bb3943b107352dc1d45","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":0},"message":"add test for no data"},{"commit":"d8f2f4c95bc699386b9fe93d10e13637875a1dcf","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":96,"deletions":80},"message":"fix for no data"},{"commit":"35d733b44f3705bed3dd8ce340379470f199f772","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":70,"deletions":60},"message":"fix for no data"},{"commit":"9179b4175c5063bed14ecb96ba24c517920c0d94","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":16,"deletions":0},"message":"add nodata tests"},{"commit":"bb07d78c78ff5c5b2ee4d2086ffc6dd5ebedf0fb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":10,"deletions":8},"message":"add nodata fix"},{"commit":"07b179cd7f8853ff6aca0b27a703e198c158ca72","merge":"12a80e7 054422d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #67 from kellyjonbrazil/Dev\n\nDev v1.11.4"},{"commit":"054422d8373e7b8def18ddabd447062cb9cc3137","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":0},"message":"add test for empty directory"},{"commit":"3e052d18102e98a09cbba21866855691eaccc216","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":5,"deletions":2},"message":"version bump"},{"commit":"c8e72805cf9def478b56c925f4afcc0ece1daac0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":9,"deletions":10},"message":"fix error on empty directory"},{"commit":"12a80e7db0f6c7d536674ad8d34e26bba9a1f1f9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":10,"deletions":2},"message":"add fedora package info"},{"commit":"ee7ff9a09d3373f60ae1645376ccc0057803147e","merge":"346a14c f6478fb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #66 from kellyjonbrazil/dev\n\nDev v1.11.3"},{"commit":"f6478fb636ead8d1e53e4a88d59e55222df37a8f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":3,"deletions":3},"message":"version bump"},{"commit":"811a0b0495819925199d70db266066197cc6824e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add info regarding the local parser plugin files"},{"commit":"aeb48edf727f23cc4f8fd9b760cfb69f03098278","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"use $LOCALAPPDATA variable for windows"},{"commit":"b1e94f0df7041bcae97455508f423178aef9d61d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"heading formatting"},{"commit":"60050e3c0fe34980f7db5b8bd46430f953f0c3a3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":13,"deletions":13},"message":"fix linux/unix directory and add note about the XDG specification followed"},{"commit":"39ef09aa5b0d43b5128299511afe80336aa38203","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":0},"message":"add local parser plugin feature"},{"commit":"8377d4311611c242e16eaebe66dafac9529150d4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"54e4c447ab34ae54c73c92df40f1b4ca6ffb2277","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":5},"message":"clean up formatting"},{"commit":"937a9fa9cf2ede8e686ba853989f33e4a483a0ad","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":613,"deletions":3},"message":"vendorize appdirs module"},{"commit":"808ff6cf0e784cf0c2d523ff2e01197cb6e88c82","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":6},"message":"more acknowledgments updates"},{"commit":"7f5c649a95a871c3cd8d48731a6d26dcba6f725b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"update acknowledgments"},{"commit":"b72727dec995de1ca5f68ee17a710b086c87d612","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":9,"deletions":2},"message":"update custom parsers info"},{"commit":"3fc88bfb334143b68a9cb78d4034f33e7c0bcf76","merge":"346a14c 9f2279d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #65 from duelafn/local-parsers\n\nLoad custom parsers from /jc/jcparsers"},{"commit":"9f2279d5867eb89d4b4b7b4ffca290166ec97c48","author":"Dean Serenevy","author_email":"dean@serenevy.net","commit_by":"Dean Serenevy","commit_by_email":"dean@serenevy.net","stats":{"files_changed":4,"insertions":29,"deletions":2},"message":"Load custom parsers from /jc/jcparsers"},{"commit":"346a14cb9bb0d762fc3fa366ad97e5ff85f3992a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"change osx_device to unix_device"},{"commit":"dac00d17ff9f3d2bb959697b6e567015bfc2702b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":17,"deletions":0},"message":"add nixos test"},{"commit":"9ca7cd40601b97829e8f88071fdfb928d939f7e5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":17,"deletions":34},"message":"update docs"},{"commit":"aa31628970b12295a41dff20e829fcce9f8a4d07","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":70,"deletions":63},"message":"update docs"},{"commit":"bed694fcf5c8c31bbd4f3e88759fe7ab82382d24","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"version bump"},{"commit":"4b4af69fa184896ec15b5be7dc8416f36f921d5e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix date"},{"commit":"9d96190a5b19e8d71c3ac66eb0303d269dd4ce5d","merge":"96df396 fa44d48","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #64 from kellyjonbrazil/dev\n\nDev v1.11.2"},{"commit":"fa44d48c094a55e499c2c780d109bf277736b42e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":129,"deletions":7},"message":"freebsd fixes, tests, and fixtures"},{"commit":"4ef961c2788c935b1fea1c9777b976e7b89e7367","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":20,"deletions":0},"message":"add freebsd test and fixtures"},{"commit":"292a837d5c47165ccb155f079b0a114b5c17a98e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":22,"deletions":0},"message":"add tests and fixtures for freebsd12"},{"commit":"aa7b915d847dbd29d2c09b2cc40b847e37174ffb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"version bump"},{"commit":"c46fe73236b912d2ee89dfb36ff259fe95fd0479","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add last fixes for freebsd"},{"commit":"039b2c129cbe79d2d23b1194b043d8b730609956","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":10,"deletions":1},"message":"freebsd fixes"},{"commit":"8f2e5e4808b30c658a4cb87125639e4d7d6c15d8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix compatible logic"},{"commit":"c4da8e4f78e6b4aaa4aff76ae042be9aaec832a7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":9,"deletions":3},"message":"add nixos and freebsd to tested. update new arp fields"},{"commit":"bcab9078a4c2bfd6ae4dca9448b577d9ed0fc01c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add w parser fix"},{"commit":"b3c6c1ea925bf7cd76368f5074fb8af52a844522","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":29,"deletions":5},"message":"strip whitespace in string fields and add tests"},{"commit":"a3af8662bd491e344c93d24afabd23e90efd8086","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":205,"deletions":3},"message":"add permanent field"},{"commit":"35940d0bc80bf61b11f40b1e1043835f26eb391c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":59,"deletions":4},"message":"add freebsd permanent and expires fields"},{"commit":"26994cdcb7148d2c9d1701bca9541d247356260b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":8,"insertions":115,"deletions":85},"message":"add freebsd compatibility info"},{"commit":"017159a829691cb6a7174f123d024eb252179b75","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":15,"insertions":221,"deletions":0},"message":"add freebsd nestat tests and fixtures"},{"commit":"b4e9c85e08d199dad67f03c7603194278a022696","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":12,"deletions":0},"message":"fixup -T freebsd output and add whitespace stripping to parse_post"},{"commit":"189146cd84cfad262f2b2601bb0cb4b9dde2587e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":6},"message":"add more ints. remove whitespace strip code and move to freebsd_osx module"},{"commit":"af34153ffab10ca1ad7f44736d379d91ae43c813","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"version bump"},{"commit":"bf2ff3ffbb639446779b1f04f2997707d99c0a1f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":8,"deletions":1},"message":"fix compatibility search for platform names that append the version number (e.g. freebsd12)"},{"commit":"6423c9efd69e938af38934a97ca6b65009e8f07e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":34,"deletions":5},"message":"integer and float updates"},{"commit":"58ab0d4ece7f006ce9431afb9e0fecbe60930be7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":12,"deletions":4},"message":"strip whitespace from string fields"},{"commit":"83a738bf4d756036d6269b9153220d7f1018ac9c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":3,"deletions":3},"message":"update fixtures for osx_flags and osx_inode name change to unix_flags and unix_inode"},{"commit":"3640671fc6a67c9628fd47e19e9fe0a0738439ce","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":5},"message":"rename module"},{"commit":"1da623b30ef6f9b12ac231518d2d4e7dadcf717b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":9,"deletions":0},"message":"add items"},{"commit":"b10ca64646e93d9797182ea046f4956a17b37627","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":71,"deletions":71},"message":"change osx_inode and osx_flags to unix_inode and unix_flags. Also rename netstat_osx module to netstat_freebsd_osx"},{"commit":"2128763ee67a07da6ebf123abeec39794bc1f4e2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":12,"deletions":12},"message":"fix osx version from 16.4 to 14.6"},{"commit":"a27e7ed39c63c04cfa78caceaada42f7a9496a2c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":12,"insertions":12,"deletions":12},"message":"test updates for added route_flags_pretty and flags_pretty fields"},{"commit":"f07b7eaa474eb87dbdbc7fbe41b9386feff7bee2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":38,"deletions":12},"message":"add flags_pretty"},{"commit":"6ce18de84ce16a926f9cd97c3210ef209c3352da","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":130,"deletions":69},"message":"add route_flags_pretty"},{"commit":"8631b756e7ab8cd71c2a3eb288e2d1823cec5782","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":76,"deletions":0},"message":"add freebsd test files"},{"commit":"7414d984125300164a5b6156d7a80128d4d6cb15","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":18,"deletions":18},"message":"add freebsd compatibility"},{"commit":"d7b19892e8fb11e17fcbadcdbb08d49897d7754f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":10,"deletions":7},"message":"add freebsd support for netstat -i"},{"commit":"96df396eaf4e030113005a95e525d644c394dfe1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"2f6f640317da5af894f34f187c4243ef0c599d07","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"spelling"},{"commit":"c4a0a50f3a3ac5833ab5d2f8a0cb3f18da335812","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":1},"message":"add nix-env"},{"commit":"658f8a3842273cea049689b3aea15d89a7294b24","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":10,"deletions":3},"message":"add zypper and ports info"},{"commit":"bfb876a1e394ff63c6773965ba0b65da4e109c1b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"formatting"},{"commit":"90c34b1f4ee2d9ec8125346bb90b227f76ada2ba","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"fix dmidecode example"},{"commit":"3f9164ea77ec41e1b0671d0a642900d8e36faf9b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"bold formatting"},{"commit":"7fd6fecbf5a08b1f13aa7e906e94be9bc126780a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"8029f72363a4d19938df07603f03a0147f6246a8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":10,"deletions":7},"message":"change osx_flags from integer to string"},{"commit":"c7fdce5d3b7566a7d290627767c47d9c196e02ad","merge":"f5627a4 84f48aa","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #62 from kellyjonbrazil/dev\n\nDev v1.11.0"},{"commit":"84f48aa369a458f534523ecc1e3aaaf403d06f1c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":3,"deletions":3},"message":"version bump"},{"commit":"2e9a0a9c1221dd01bd683ecbc4871d03738da671","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":2},"message":"add features"},{"commit":"c1f6f2b9508e558ab88b4a0a61e93a6cf5460bea","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":116,"deletions":4},"message":"osx fixes and tests"},{"commit":"ede21bca13c4b46899721f01d979c8b063f861a3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":110,"deletions":78},"message":"add OSX support for stat"},{"commit":"8dd9a9f9cbc70a19176f909f6ac76b2bcf670736","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":45,"deletions":0},"message":"add netstat -i tests"},{"commit":"04f92cd1330759e4bad1c0304b9e1c28e8d32d59","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":166,"deletions":4},"message":"add linux support for netstat -i"},{"commit":"8be8d2393b276a9249e1c573ce19cf630f0942fd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":99,"deletions":3},"message":"add netstat -i support for OSX"},{"commit":"0a879681be68fe2e6e5c013ab0fe18de99b04f7e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":97,"deletions":282},"message":"add netstat -r to docs"},{"commit":"2ca1587a49511899bf719e0b0c7de32158fc491d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":10,"insertions":102,"deletions":0},"message":"add linux netstat -r tests"},{"commit":"ec2cd2d708a57c0458657416bedcb4340cb40901","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":9,"insertions":70,"deletions":11},"message":"add netstat -r support for linux"},{"commit":"5d0dbece9317e84a47d9f4b2d18a9ffa33fbee6e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":8,"insertions":288,"deletions":5},"message":"add netstat -r functionality for OSX"},{"commit":"df1e4b414b2bda5be3153767cd854b2483ba600b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"remove unused folder"},{"commit":"40760991e7dae43cd15134310f7bbb5ce0f58dae","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"update copyright date"},{"commit":"464f5f86cf2c8fe6a1a857b0ad4d221a3edf3d88","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"update description"},{"commit":"7b09e9fccdd4f09218a500b54c898ada1b9843c7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":8,"deletions":5},"message":"set empty values to Null and update fixtures"},{"commit":"6cba7d429898d331c674c778f8bd85ba75a8dca9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"remove linux from description"},{"commit":"9730f62e4970b5a4490f8dc24b6cfb9cacd0cbf2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":151,"deletions":133},"message":"fixup name field and update test fixtures"},{"commit":"e0c1c87f549eee000b93b5f5a3e8d0b052eb7d32","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":4},"message":"formatting"},{"commit":"931b3d2b836b251590497f4cfa65f106762086c1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"e5d561baeecf1fd83a884b3cd9d322762f750dfb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add multipath condition for osx detection"},{"commit":"2867593e7aa12299686e2c6aa0f2a79a9b550b53","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":0},"message":"changelog update"},{"commit":"dd52fee5635c977d5c77046ab9fe78d2ed10deef","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":2141,"deletions":0},"message":"osx netstat tests and fixtures"},{"commit":"8e1f8858273e671a882a07eae1c35b38f5298c94","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":1},"message":"fix filtered netstat views"},{"commit":"2d39a58f902e6af77f8f96ffcd1d68b7cbadd56c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":81,"deletions":14},"message":"doc update"},{"commit":"9c4fa2ae2601ca4880c0b078fa917f01f1392e0e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":22,"deletions":2},"message":"integer conversions and icmp fix"},{"commit":"de52d84e82df6d8c5e2416c6bc44e59c41c685da","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":8,"deletions":9},"message":"fix udp state and udp46 entries"},{"commit":"ce9b55059a28d363b8b0ae4f3ccbdbdc4bf4b58e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":185,"deletions":167},"message":"organize files"},{"commit":"bcd370a6a01a115d470776f5690f8571d68d3930","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":5,"deletions":15},"message":"code cleanup"},{"commit":"c8216850abd2d0b8cc6761453f853f296e8a28f3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":19,"deletions":55},"message":"code cleanup"},{"commit":"f5feedb90b39e5c3f4564615482d47ccd145844f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":10},"message":"fix comments"},{"commit":"a4371cd187fe5077018edbfeee77eb17c6a90ad3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":3},"message":"support netstat -A"},{"commit":"9d5ba4c83404e4fab5c0f40c30b4735685499a31","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"formatting"},{"commit":"1639dee1bb93f6f89e8bb7b37134dc1f561c479c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":10,"deletions":35},"message":"fix parse_post"},{"commit":"9363f430f20951e6fa739f06c85c5b6b3421b60d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":2},"message":"use list extend method to simplify code"},{"commit":"9192a0907364c772558380be1373b8dcea972a6d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":124,"deletions":34},"message":"parse all sections"},{"commit":"b915eb97556ccc5fc60e8d23f7298ffec2d8e3b7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":237,"deletions":55},"message":"initial osx parser"},{"commit":"1cfcc2b592f682d2b50a0c4188fa3ae832a6c682","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"tighten up line test logic when counting tabs"},{"commit":"7138dd02b73073441a52c9b574bf0d6e02f0d7d9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":11,"deletions":0},"message":"cleanup variables after adding to item"},{"commit":"b4276643b70f7820f8f53df22b32fffb54e30ca2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":56,"deletions":0},"message":"add dmidecode tests and fixtures"},{"commit":"2ef00763bfe7c4348f30026759941efe39861a0c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"fix first item"},{"commit":"54364928fc826ead7774a4cec1bcb73a5cb9ee0f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":74,"deletions":81},"message":"fix oddities like hybrid single/multiline data and items containing multiple records"},{"commit":"09b3b4932b0fa4a2b18c88a8465c15a194b727e6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":35430,"deletions":0},"message":"add dmidecode output fixtures"},{"commit":"29d6670119d8fcd0344e90f01bfb6260aa936e50","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":9,"deletions":1},"message":"convert integers"},{"commit":"2f654b5f1acda01192294f4c18a5a31363e7f387","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":37,"deletions":0},"message":"doc update"},{"commit":"e53b9f5992450b53efc886b4fa9ca16f3dd07530","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":37,"deletions":0},"message":"add caveats to documentation"},{"commit":"addb234e6162c58750cb67947bc4776635bf54fb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":153,"deletions":0},"message":"add dmidecode doc"},{"commit":"76eca3b65911a0a340d3d94322a8145ee89c50da","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add dmidecode"},{"commit":"f90dec4c0ecf88623fb22273b7527ec8884826c4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":94,"deletions":5},"message":"add examples to documentation"},{"commit":"8900a59d4cb424ff58d1eb27f8fda7ea0a668a5c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":19},"message":"simplify logic by removing redundant block"},{"commit":"6685138200d5955115707d04aad0293ea8af5b15","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix for missing multi-line values that come immediately after a previous multi-line value"},{"commit":"4d3e65b980d50164b8220e59560822b9871580ea","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":1},"message":"fix missing values"},{"commit":"e9282bb546f560da6396f44e2ce9e04136348e2c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":175,"deletions":0},"message":"add dmidecode parser"},{"commit":"f5627a45947e5e76e5f3e64d9b30099fe0b962a2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":5,"deletions":2},"message":"version bump"},{"commit":"81ffdb25105c681c8ed12336d220a102b7f4215e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"remove shebang for Fedora packaging"},{"commit":"4c00a99850cb6f69713be7c6ad9ffba11924d9b8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":5,"deletions":2},"message":"version bump"},{"commit":"2bfcb45b28e2174a8bbc27237e619b5c232ccae8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":0,"deletions":0},"message":"make cli.py executable"},{"commit":"ab0c10e791283affb227d0d5306701ba7fd29d13","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":0,"deletions":0},"message":"remove execute permissions"},{"commit":"2c1935115de03a28fe92674b04b2542b0eccb8fe","merge":"99070fa d98e43d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #61 from kellyjonbrazil/dev\n\nDev v1.10.10"},{"commit":"d98e43dc78205d3224bfc1e67de2da3c5fb7ea9a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add netstat item"},{"commit":"9348988d646d9b9c9970c19e84f311554ae38e7b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":12,"deletions":0},"message":"add netstat test for Fedora32"},{"commit":"1285c664679c40b18327c89b85921a80b01f0191","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":140,"deletions":0},"message":"netstat with bluetooth section"},{"commit":"b7191bbc130e0f33d02c0a4819fa91ffff1599d3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":14,"deletions":1},"message":"handle bluetooth section (ignore for now)"},{"commit":"98b97509f7893cb95e9651ce9706db5c961aa997","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":6,"deletions":2},"message":"version bump"},{"commit":"2b2b570490f3834367a598579473001f45738e8a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":21,"deletions":0},"message":"add tests for 'gone - no logout'"},{"commit":"cce2d1ff298f2284c43c4534144329f3533a81ad","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":1},"message":"add condition for 'gone - no logout'"},{"commit":"b79600c57249cbb65805caad2524cc2492342be6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"version bump"},{"commit":"140f1a85437745296b56976bef1b46514e323a4f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":7,"deletions":7},"message":"test fixes for issue #60"},{"commit":"e34657cfde6816ab7a7415d83580df0a1d98a5a6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":2},"message":"fix issue #60 that was skipping the first file in some instances using -R without -l"},{"commit":"99070fa6073c4415a6faf8ca69dd6aa089af4062","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":5,"deletions":2},"message":"version bump"},{"commit":"2b46785b1f1281ee63df9159e36068f4607ad9b8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":25,"deletions":3},"message":"add MIT license to vendorized IfconfigParser class"},{"commit":"c72562524b2b9aaca0be372bb24343158829ba5a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fully remove tests from packaging"},{"commit":"b7dd6441c7e3f54f8a260fceef49aae6816c7151","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":5,"deletions":1},"message":"version bump"},{"commit":"31fcc2f755ad86622cf51a75879b14d44f246300","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"remove manifest.in - no longer needed due to removing tests"},{"commit":"b391aa14bceffedb5a9c13f3f908923790edefc1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"add license_file to metadata"},{"commit":"d3c45debbb6690acd341fbcc9b99d1ae4cf0a43c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":3},"message":"remove tests and add license file"},{"commit":"5b08469b874553744bd5c5b1fa6581f4dcffacd0","merge":"8cf00a2 4a77ec6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #57 from kellyjonbrazil/dev\n\nDev v1.10.7"},{"commit":"4a77ec63a46554c84e646d31564230774ed87431","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":11,"deletions":0},"message":"add IfconfigParser class"},{"commit":"d13606b6dc2c207be6dea89a2c3e713c18a574b8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":7,"deletions":6},"message":"modify dependencies for easier packaging into Fedora"},{"commit":"05291c93bba1aa364ba1ac7f2508e24bb362a814","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":198,"deletions":3},"message":"vendorize ifconfig-parser module for easier packaging in Fedora"},{"commit":"8cf00a208eb8493300331e7361b72e4f9e3f140e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"change text to strings"},{"commit":"06d73c88767a5b4d6003231c897c447ee5e1faa5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"649c646ea25ac7f89900cffa8919df01671bd32d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":1},"message":"add brew install option"},{"commit":"b7756d92501a7b8ba8e77d77d9d3718a58425beb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":5,"deletions":2},"message":"version bump"},{"commit":"1cd2cd954c21e5caec333507bd81819c82d45b49","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":2,"deletions":16},"message":"remove references to homebrew/shim to allow tests to pass in homebrew packaging ci/cd"},{"commit":"72020b8da999ddca6f9ba82da235c9f42e4f4273","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":22},"message":"move packages info to jc-packages github page"},{"commit":"cf9720b749e7fc8caed0d2f1f2b1727a22a156b6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"update install info"},{"commit":"967b9db7f90a3c3a0352edde7f4455c5f5d45b18","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":3},"message":"spelling"},{"commit":"bb3acb1182f4d509f9ddc7dfcffa4578e0a2bd5e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"560c7f7e6d1f8a69ab026ddbff753d232ca1d00b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"79b28417644e00b933f531374d2f7fe8051e61be","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":26,"deletions":0},"message":"add new binary package install info"},{"commit":"a06a89cbd11026aa3910fadd1eff7fe388d02507","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":5,"deletions":2},"message":"version bump"},{"commit":"431bd969eb4809424fe99a02a7decb98bce9ea51","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"use sys.exit(0) instead of exit()"},{"commit":"c87b722aec6e6964c516bbb8e80667ad7d9c6bc7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"spelling"},{"commit":"3688b8b014a1cf753b2207fbf3ebf0292c3fd672","merge":"99f7842 07b8d9e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #56 from kellyjonbrazil/dev\n\nDev v1.10.4"},{"commit":"07b8d9e0c0d723d93e6c652f5b6156c467c451c7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":5,"deletions":2},"message":"version bump"},{"commit":"7454b53e395e9122c00d4cf06b1c2af109913d7a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":3},"message":"formatting"},{"commit":"3d6a76024de0f9dcf91a4ab49cabe461074114fb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":18,"deletions":0},"message":"update with JC_COLORS info"},{"commit":"421b9809575a8de00229af4b851739889638ac74","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":18,"deletions":37},"message":"JC_COLORS working"},{"commit":"4a22e27d6a80a988f4de17bce421110d6abb8867","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":64,"deletions":0},"message":"add set_env_colors function"},{"commit":"99f7842dee0f79cf933fae185cf8b0ed7c8b210f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":11,"deletions":2},"message":"fix brek on pipe error"},{"commit":"7f869b4b187d70752207a7e74c13b858446f898f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":9,"deletions":11},"message":"change colors to ansi and match jello style"},{"commit":"9665f4ee84680f3a8154b8a43ea668af2907782c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add pypi badge"},{"commit":"606904d48b1c7e0c19a940b5be0b564d1b5be6c8","merge":"302f05c 3f5279b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #53 from kellyjonbrazil/dev\n\nDev v1.10.1"},{"commit":"3f5279b97c386c736e0e2faa5c39d68ef89c46aa","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":5,"deletions":2},"message":"version bump to 1.10.1"},{"commit":"f5ec21e6ac612566af93158fc3968b901322d04a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"use in instead of find()"},{"commit":"578a284465f014fe71ad6ac00bd41dc24ab2ced9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"use in instead of find()"},{"commit":"422e392d9d98a7864312fc7fbd7f45537b71acbe","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"use in instead of find()"},{"commit":"54dfffd34a17d1194690142ac403391fc65bb85f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"use in instead of find()"},{"commit":"cffba64d2b9165b44a8856665807111a2ad3a190","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":7,"deletions":7},"message":"use in and startswith() instead of find()"},{"commit":"56a0c12a59bb252d3b7d0929f9fb19b4d96a8437","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":3},"message":"use in instead of find()"},{"commit":"c174d3de18923b2b03befb5a7dfcbd977a8e147e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":7,"deletions":7},"message":"use in and startswith() instead of find()"},{"commit":"a9c59ef9fc1bb68c9d0d7beffbeb670baf5b1e3f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix logic to not for ' type ' in cleandata[0]"},{"commit":"abdb9b26732a6a71f5938d665b2ca43a381e1b33","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"use in instead of find()"},{"commit":"548aaab6262878d21f8b9539950cfad48638e35c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":42},"message":"remove old commented code"},{"commit":"20571c87ae9e1ca8a1f3120511910751420a35ac","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":3},"message":"us in instead of find()"},{"commit":"19e49200de5c731f76b42e80388c5223e8097e39","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"version bump"},{"commit":"d32f5c67a91ede572c88e431b2ad0ce4d6c87dec","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"use startswith() instead of find()"},{"commit":"b83b626435c55d2aa63e56dd8f22603da59e7626","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"use startswith() instead of find()"},{"commit":"ab2c1b25ec5da5f2ba238868c4dfca95a44da30e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":3},"message":"use startswith() and in instead of find()"},{"commit":"f2d46313a4508f13656cdb360f83fdf4116cc7d7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"use startswith() instead of find()"},{"commit":"87e4796a6c936793e2784346819c7033d59b91e4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"use in instead of .find()"},{"commit":"0014a5c2f4c056c2683d6614a65d778b1f527932","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":3},"message":"us startswith() and in instead of .find()"},{"commit":"7af56e0dadab7d8b9538f3b7a550ad6dd1ac217d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":3},"message":"use startswith() and in instead of find()"},{"commit":"a5ae6e3c017b041f9079ff12455b7551ad204cb3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":3},"message":"use startswith() instead of find()"},{"commit":"fe1a0d1faf46f55ed2888ed0065f3f3144691ed8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":10,"deletions":9},"message":"use in instead of .find()"},{"commit":"302f05cdda305e46e69b74d5b0096f64c17da637","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":4},"message":"prettify style block"},{"commit":"c0044be7b0b6dadcffb64cb88ad92bf653dd2b6b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"rename color grey to gray"},{"commit":"01100788070b82b4b827ef356972fa9b8f737eeb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"update badge"},{"commit":"42eacb45f8fdf8085c6231bf5297629c2ec97c22","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"rename to Tests"},{"commit":"a43e2e19916662d509883457c160d7f95f97ae12","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add -m option info"},{"commit":"c8b721d4f6e46a2db77e1140b9caeb3b403fef72","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":9,"deletions":3},"message":"version bump to 1.10.0"},{"commit":"d0bfddc3d9989444757d6668726c916e5363620b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":41,"deletions":6},"message":"add color and -m monochrome option"},{"commit":"6b925a16c87cf75bb30edfda38511e8f84a4f6d6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"add tests badge"},{"commit":"89ebd9fc2271d2c76353d5707bfd4afb7dedc278","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":20,"deletions":0},"message":"add axfr info to schema"},{"commit":"6b4ba662317629839aa62fbcfefb8ed3337c37ef","merge":"8ec8cd6 5b697dc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #52 from kellyjonbrazil/dev\n\nDev v1.9.3"},{"commit":"5b697dc38141cdd47fcdd63bf295a80a7da86697","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":72,"deletions":0},"message":"add more dig tests"},{"commit":"9ba73c95d1a528a9a92be4068805bb5aa027901e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":215,"deletions":0},"message":"add tests"},{"commit":"93aa39044749c4c0ed749f62fb00fc1c76dc5af0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":5,"deletions":2},"message":"version bump to v1.9.3"},{"commit":"3cfb8945ddd83c00a720c44e2c1d97da0d8bad25","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":9,"deletions":9},"message":"use startswith() instead of find"},{"commit":"cd8d38f2a136c4f35efc020b3476d09e965b71f1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":50,"deletions":1},"message":"add axfr support"},{"commit":"8ec8cd62944c59c462ab9f520c1dcfd14218b1ed","merge":"e5bea9a c028113","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #50 from kellyjonbrazil/dev\n\nDev v1.9.2"},{"commit":"c02811356153c2b4f8b2d7efb7f48bf8f7748068","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":6,"deletions":3},"message":"version bump to v1.9.2"},{"commit":"5f22e1c8031b808ef02ffe078408bd58cc76e570","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":33,"deletions":0},"message":"fix and test for osx arp entries without ifscope"},{"commit":"d3351787e5cabd064c19e6617e9535e501686404","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":10,"deletions":9},"message":"change osx detection"},{"commit":"e5bea9ae3b0a70b38f7da7dd9184343dbbd18887","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"version bump"},{"commit":"93c710abe9171568f61f65c4f84c040ffc24870c","merge":"400f5a4 c29e7cf","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #49 from kellyjonbrazil/dev\n\nDev v1.9.1"},{"commit":"c29e7cfe5cc4b2151912c6f618137d1b6c39c7be","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":9,"deletions":6},"message":"version bump to 1.9.1"},{"commit":"cb5c1ba00dc0e02bf6ad6c40096d99e319fa6171","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":101,"deletions":0},"message":"add tests for fix to make the file parser splitting more robust"},{"commit":"9a012b94e1942a14bc6dae3fb967ef618819c77b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"make splitting more robust"},{"commit":"400f5a44ece280cb0097d806b78a9490d2905600","merge":"c7cd2b6 a2ab5ba","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #48 from kellyjonbrazil/dev\n\nDev v1.9.0"},{"commit":"a2ab5bab91ea980399df1afb9d8071fa3282d04e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":3,"deletions":3},"message":"version bump to v1.9.0"},{"commit":"fc8ab27361df3359b706125531b2643612d6996a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":93,"deletions":51},"message":"bugfix for misaligned columns and additional test for ntpq #31"},{"commit":"59f19d33a5c6677ea756a9424fdb032b430511a2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":153,"deletions":0},"message":"add file command tests for #41"},{"commit":"dfc96181159748d019419a2cba7aa9cb3b7a2a2c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":260,"deletions":1},"message":"add file parser for issue #41"},{"commit":"8e02e5c75a11cf205299ee6f87b67f9b787cf55e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":5},"message":"fix issue with getting options with some commands #47"},{"commit":"970493ab9346a344b21be7614903ad81bc65a6e9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":0},"message":"add magic commands"},{"commit":"64d78956eb33ca0a2564fded3d12729ee036a915","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"update acknowledgment"},{"commit":"40c05346f4098f8eea14c42da07df3faa143587a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":12,"deletions":25},"message":"re-adding optimizations from https://github.com/philippeitis"},{"commit":"e9b0bc1409a824a82dabd2479892b7d18bad8c3f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"doc update"},{"commit":"798e6bb7d939176bb36771a6d41bd55403d583be","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":29,"deletions":0},"message":"tests passing for airport -s. issue #46"},{"commit":"12a370deed03ba42d7b7ebb410195ce5f32bb9c2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":8,"insertions":372,"deletions":9},"message":"add airport -s parser for issue #46"},{"commit":"553bfbe1a0dd866851ba7eca66e9295c2097ad86","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":40,"deletions":6},"message":"tests passing for airport -I. Issue #46"},{"commit":"52494321fcfe0dc7ee71d8d78210b3c10372a237","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":120,"deletions":15},"message":"fixes and docs for airport parser issue #46"},{"commit":"c6c9e06496683d2dd3586d17085801c7e698d960","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":196,"deletions":1},"message":"added airport command parser"},{"commit":"e3a6c05a58a2451e70975d8fabf644c56603c73d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":64,"deletions":17},"message":"timedatectl fixes, tests, and fixtures for issue #42"},{"commit":"391d06f68d1f45d33590d5407d3a5e4f723af717","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":35,"deletions":35},"message":"change selection_state to state"},{"commit":"99804ea06e0c70e3a82ddc7f9c7a42343374d700","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":222,"deletions":0},"message":"added timedatectl status parser"},{"commit":"51935deb2ad18e4ea3ca16954ce810354f6095a9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":21,"deletions":0},"message":"timedatectl test fixtures"},{"commit":"b24d0c3a475b88d9ccf1a8fe29715ee60972fcad","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":34,"deletions":2},"message":"ntpq docs"},{"commit":"762a886d6fdf5c2ad21d81868d138fb32621ed1c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":8,"insertions":133,"deletions":0},"message":"add ntpq tests"},{"commit":"2c3e9ddfe47f56cd7edc2fdf6317f7ecec0b7918","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":543,"deletions":0},"message":"add ntpq parser for issue #31"},{"commit":"c7cd2b63c8f24e9d17c458880fe401d8032395ab","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":91,"deletions":0},"message":"delete unused test file"},{"commit":"f0528ea83112e71ff51c89be27fc9bbdfbbf1951","merge":"b5eaff2 5bc5596","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #45 from kellyjonbrazil/dev\n\nDev v1.8.1"},{"commit":"5bc5596f604fb87dffbfdf44ce2395b16bf01297","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":17,"deletions":4},"message":"version bump to 1.8.1"},{"commit":"2c27ac46be803b583caf82c1765bd0c35cee8bc1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2454,"deletions":0},"message":"add ls test fixtures"},{"commit":"caad840153e40dc660a2d5e06a96f3451fef25f9","merge":"aff86ae 65bd7e2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #44 from philippeitis/patch-5\n\nMove core magic() logic into seperate function for testability, minor tweaks"},{"commit":"65bd7e2904016141c1ed53cdd437865c66d7628e","merge":"17b6efe c3d7d7d","author":"philippeitis","author_email":"33013301+philippeitis@users.noreply.github.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #1 from kellyjonbrazil/pr/44\n\nMerge changes"},{"commit":"c3d7d7db12d4870fc4499e0e3445d85ae89f2aea","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"removed whitespace"},{"commit":"56053103625af6fb7fa749fc5bc3dbdc62fc223c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":11,"deletions":4},"message":"added tests, removed os import, changed to 'assertEqual'"},{"commit":"17b6efe82e6a558353b011c543489eaaf3a6d3ac","author":"philippeitis","author_email":"33013301+philippeitis@users.noreply.github.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":14,"deletions":0},"message":"Create basic tests for generate_magic_commands()"},{"commit":"a032ae56ae7d247e00415267b65b2a8b80a3302e","author":"philippeitis","author_email":"33013301+philippeitis@users.noreply.github.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":4,"deletions":4},"message":"Pass args to generate_magic_command() to allow testing."},{"commit":"eab2f4b0566b4c76db661cbfa99a56a6bf8d6541","author":"philippeitis","author_email":"33013301+philippeitis@users.noreply.github.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":33,"deletions":19},"message":"Move core magic() logic into seperate function for testability, minor tweaks.\n\nWe only care about the command when testing magic() - by moving that out, we can easily test the command. I modified the code to return a boolean signalling that the command is valid, and the command itself to maintain the original functionality.\n\nI also made some small tweaks (removed a list() call, fixed a possible bug with no arguments., moved magic_dict instantiation past the fast path checks to avoid making a dict if not needed.)"},{"commit":"aff86ae6c71abfe1cbdba5c574a5f3707292ec19","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":29,"deletions":39},"message":"reimpliment magic() based on the dictionary approach suggested by philippeitis"},{"commit":"7ece9ddc1a37551cdaaac50f37a48e6d98b18bf4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"version bump ls"},{"commit":"7cd048e839a7cc8404fd5abc153a3d315c207819","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"changelog update"},{"commit":"1e22f610a33903e8525d35a18b1dcf760a93791e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":0},"message":"fix for osx - doesn't print 'total xx' line if empty directory (issue #40)"},{"commit":"5249c972ae25e9b289a2667bf471aad5e58c70a9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":0},"message":"add to changelog"},{"commit":"fd45f856a050f6c56a7a6b50b97b3d8c4de28af0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"import jc.utils instead of jc"},{"commit":"c8ab40cd33b14a3a1937ecf64bb23e282f5bb921","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"ignore .github folder"},{"commit":"b2c872925b37254dac74578c1803b4127f8411c4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":20,"insertions":208,"deletions":220},"message":"add utf-8 encoding for testing on Windows"},{"commit":"f48e229202f8ab1ebfa502ca57bb31cf673c7a62","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":21,"insertions":192,"deletions":192},"message":"utf-8 open for windows tests"},{"commit":"799fec92c39b1ff0696c6ebb182c4bef66b86e56","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":12,"deletions":12},"message":"utf-8 for windows support"},{"commit":"87a41c2fcaa395f108b5a5126ed77f7cc7fe5d6d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":12,"deletions":12},"message":"add utf-8 to open function"},{"commit":"7f85de0c46cda95d57b9677ba0ca3ea59690e502","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add windows-latest"},{"commit":"13661b19934a74417713e98e3e1e4df6bb0f29ad","merge":"5f798d6 51d5c38","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #37 from philippeitis/continuous_integration\n\nEnable Continuous Integration with GitHub Actions."},{"commit":"51d5c3892d6ff1e2e6ac7c4f3e496e7d9ed4b6a7","author":"philippeitis","author_email":"33013301+philippeitis@users.noreply.github.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"Remove Windows tests, due to lack of support."},{"commit":"e4eab4641ac15220f2787c5d27b443ab8c718b86","author":"philippeitis","author_email":"33013301+philippeitis@users.noreply.github.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":1,"deletions":2},"message":"Change line in blkid.py to trigger CI"},{"commit":"9b148e0ba37e18749d95608e1bac6c090ab83ee2","author":"philippeitis","author_email":"33013301+philippeitis@users.noreply.github.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":3,"deletions":0},"message":"Add requirements.txt"},{"commit":"de28932650d5027e2781011f1243b89f053b241d","author":"philippeitis","author_email":"33013301+philippeitis@users.noreply.github.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":7,"deletions":6},"message":"Consolidate dictionary into creation, trigger CI"},{"commit":"5f798d603e461d2de5adf74662ba4d4b121f28f2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"version bump and ack to philippeitis"},{"commit":"a0757b2dd3fc0f3e26622941d93bd909dae0a1f7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":5},"message":"optimize line parsing"},{"commit":"498d51b4e802cb40cac58aae1eff1f723bbbd896","author":"philippeitis","author_email":"33013301+philippeitis@users.noreply.github.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":31,"deletions":0},"message":"Enable Continuous Integration with GitHub Actions.\n\nThis automatically runs unit tests on various operating systems and Python versions when Python files are modified to ensure that functionality remains correct."},{"commit":"b06b6bae3f64f591c9075812dc1b632ef6d2da37","merge":"6aa2d5a 0652768","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #36 from philippeitis/patch-3\n\nSimplify process() in history.py, avoid list allocation in parse()"},{"commit":"b5eaff21372a58aefb66e5afc5e863db8355fee1","merge":"d75c406 c01bcd3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #35 from kellyjonbrazil/revert-34-patch-3\n\nRevert \"Simplify process() in history.py, avoid list allocation in parse()\""},{"commit":"c01bcd3734382a0c388d9f4041fc888171ca7675","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":25,"deletions":12},"message":"Revert \"Simplify process() in history.py, avoid list allocation in parse()\""},{"commit":"d75c4068caaf4adbe9a39fa452ae867421053673","merge":"d96b3a6 0652768","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #34 from philippeitis/patch-3\n\nSimplify process() in history.py, avoid list allocation in parse()"},{"commit":"6aa2d5a3d26f9f00c3334928f6f0e501860433da","merge":"69576f6 a63408c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #33 from philippeitis/patch-2\n\nHandle case where only options are passed."},{"commit":"065276805f0f2dd23a6382f0120ca07e9eae116f","author":"philippeitis","author_email":"33013301+philippeitis@users.noreply.github.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":12,"deletions":25},"message":"Simplify process() in history.py, avoid list allocation in parse()"},{"commit":"a63408c8cf3f99646be2b375f651d6cf417f7ae0","author":"philippeitis","author_email":"33013301+philippeitis@users.noreply.github.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":4,"deletions":0},"message":"Handle case where only options are passed."},{"commit":"69576f6bfae073196627a0a39b5ececb8666d25c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":3},"message":"minor sytax fixes"},{"commit":"19845624e2996da4653efc2f312aceb514feaf5c","merge":"d96b3a6 22ff296","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #32 from philippeitis/patch-1\n\nSimplify main(), magic() methods."},{"commit":"22ff2964e9889587711e779ac24f8f8034212f5e","author":"philippeitis","author_email":"33013301+philippeitis@users.noreply.github.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":62,"deletions":75},"message":"Simplify main(), magic() methods."},{"commit":"d96b3a65a98bc135d21d4feafc0a43317b5a11fa","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"4989445ef4bb8919d9b3b95e2fcee77ca7692aec","merge":"53ee2c3 6770892","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #30 from kellyjonbrazil/dev\n\nDev v1.8.0"},{"commit":"6770892acd49aced225dbccf39290f33522c9001","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"add release notes link"},{"commit":"d4eba8740fc325756f3db96ab37a5383540cbeff","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"release date 3/3"},{"commit":"9f607605605e47990f97ccfd48fde19a14e036e7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":92,"deletions":0},"message":"add group and gshadow tests"},{"commit":"0a8f8ac934f040141e6a4eec8cf7170e1ca73294","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"add group and gshadow parsers"},{"commit":"6ae24c82447bcff606e7027dd01b916293b49584","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":10,"insertions":274,"deletions":0},"message":"add group and gshadow test fixtures"},{"commit":"d3679082a8c5cff76eb7de67c33fe716a1402182","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":64,"deletions":0},"message":"add group and gshadow parsers"},{"commit":"fb08b42dca135705a3759435335d95c898d47f60","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":21,"deletions":21},"message":"change 'group_list' to 'members'"},{"commit":"4aeaa9f42a88bf4e05c8780a35cc8c4d83c9b842","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":316,"deletions":0},"message":"add /etc/gshadow parser"},{"commit":"5f5693da048cb4739dc56500c672dc8fbccaaf32","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"spelling fix"},{"commit":"5eb0f61727f92a84fb3620e13db072167ef552ef","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":333,"deletions":0},"message":"add /etc/group file parser"},{"commit":"958e998991b1cc61dc1dc341b90cd53f4691cd43","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"formatting"},{"commit":"b78c1509f67fb76d17ac97193a2851d8d9e17f62","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":8,"deletions":2},"message":"try/except dialect detection"},{"commit":"ce184d4d57faa3f1bca5bcaa02da7a5a5d995eb3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":20,"insertions":24054,"deletions":0},"message":"add csv parser tests"},{"commit":"b4c3714ced9ee5cc6a7ef0c59a43cf85e1cb9824","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":0},"message":"removed [OPTIONS] PARSER syntax. still works but prefer the PARSER [OPTIONS] syntax for better performance"},{"commit":"5b7dfa043864f1a3f34aa4ef5c6554a2dfe185f9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"391a3884765780497dc34e0e9938ff5032c81291","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":49,"deletions":0},"message":"doc update"},{"commit":"d9c4e2ed4c0f908f4b63c2376b53ddfd32a0fae1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":241,"deletions":0},"message":"add csv file parser"},{"commit":"0c42db38b102987629e40cee2716b826161e6e94","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":0},"message":"doc update"},{"commit":"2f9be8bf33f8be5651d06da9d316f7894606df19","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":0},"message":"simplify usage"},{"commit":"e8c00155e861b9eedfdf37a22912271bec581d62","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add -b to warning message"},{"commit":"cc88fdd9ee3951d7ef2aa881cc12f0b7f96aef86","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"update example"},{"commit":"d9de11ef1d846a9625dad0adb962b864404c90c1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":16,"deletions":0},"message":"add another who example"},{"commit":"0ceda97d0968b67b70cdbb68f7a62657e79c9935","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":88,"deletions":0},"message":"who parser tests"},{"commit":"d0dec92ba84640ddc40da7c6faa6568b76757e04","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":12,"insertions":36,"deletions":0},"message":"add who test fixtures"},{"commit":"d420c008d8aaa0879fa5a3f236d81acb506376c3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":9,"deletions":0},"message":"fix for pts lines with no user info"},{"commit":"f0b32db4333477e22cc40de62cf026a6a7aa2eb6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":6},"message":"who doc update"},{"commit":"bc838eda591473d32b11a885e60ef653925739d0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":4},"message":"fix output for non-extended"},{"commit":"afe55b6af07b74816d33d9555ffaa1c1921dd27a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":46,"deletions":0},"message":"add who parser"},{"commit":"dd3a3ac302d7b35beef1181e74aed0faf96fd3e4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":255,"deletions":9},"message":"doc update and process pid integers"},{"commit":"f9982a79474c1838f37fc0ff88437980b228d7a1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":11,"deletions":2},"message":"fixes for from and comment fields"},{"commit":"07c1be9e9ad9f62cf76c23788152de8f3530ee16","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":170,"deletions":0},"message":"add who command parser"},{"commit":"f832b88755bfbd3878ec402e603180e6825279be","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":92,"deletions":0},"message":"add passwd and shadow tests"},{"commit":"0fac757efca41db062b2f65acc727963c5fb353c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"add passwd and shadow parsers"},{"commit":"fc15742065531152f3d5895042eeb806e33a192a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":10,"insertions":215,"deletions":0},"message":"passwd and shadow test fixtures"},{"commit":"6f2466a1319eaa4256ae7a2a0f23b3ff37882d37","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":73,"deletions":0},"message":"update readme with /etc/passwd and /etc/shadow file parsers"},{"commit":"4b90e22f0a9c6790bca62c8314945a7ffc6e267b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":137,"deletions":9},"message":"doc update"},{"commit":"c4935687853fb3b079ae42614793cdafe68e124e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"doc fix"},{"commit":"1cdf004b7728901dc137e57b0c8994edfdd6d417","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":190,"deletions":0},"message":"add /etc/shadow parser"},{"commit":"a4ea50426184d30cbe849a8f80bfd5c975075c9e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":303,"deletions":0},"message":"add /etc/passwd parser"},{"commit":"4c2c234c3bf68d1aac66bd4d1f22b9f97e99128d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":16,"insertions":673,"deletions":0},"message":"add last and lastb tests"},{"commit":"3d4c0f3e89dab6496ff74df350e3238d6625933c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":22,"insertions":285,"deletions":0},"message":"add blkid tests"},{"commit":"52fad02903468c05d2422a340ad8dbcdf18ed475","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":12,"deletions":12},"message":"doc update"},{"commit":"9dcabc057c40e345971a08474b5b886e6b60a8de","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":9,"deletions":1},"message":"support multi device udev output"},{"commit":"db8c1079ddc25922ab6a20d0f71fb19af38f8092","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":4},"message":"use maxsplit=1 in case there are multiple '=' delimiters"},{"commit":"8f954673abdbbd4d9b9da3eacc61b335b4909f89","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":2},"message":"use shlex split for values within quotations that have spaces"},{"commit":"79522d1c7dd4dec15b75b06dda002752f7d97e36","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":4},"message":"doc fixes"},{"commit":"a18bf030794efef125c70a32fe82855e47649b32","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":7,"deletions":7},"message":"use raw strings for regular expressions"},{"commit":"c02b6b5d827d26b43db0a3457124714aa2dbbc98","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":81,"deletions":1},"message":"doc updates"},{"commit":"f99b4232848b0d868804acc4125836bfcf475bba","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":134,"deletions":29},"message":"doc update"},{"commit":"d7d9d45d4fba89e74f7490c463eb26bf20a5d127","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add missing comma"},{"commit":"90065ec0cdc8c5abc13bc0027f63658dacf3cfb2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":31,"deletions":26},"message":"add more integers"},{"commit":"51157ebb867a48332c768bf3086614944aebdb62","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"another devname fix"},{"commit":"96d95c79ca0938e326f55f858f8153df9cb49e44","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":3},"message":"devname fix"},{"commit":"e5da34c23306463e8707b15676db0ca53bf66757","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"check if devname key exists before renaming"},{"commit":"f09d657f7728242947db3dc63ff6779d08c37866","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":2},"message":"rename devname to device"},{"commit":"0f4b0189f54dc0b3622cd407c5565e53ea111379","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":35,"deletions":3},"message":"process integer values"},{"commit":"4666042abb3142e2cfb518db9ffe22d9e608e090","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":216,"deletions":0},"message":"add blkid parser"},{"commit":"027d544c2bb778adc0ee9463832f19b10e099a0a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":0},"message":"add last and lastb parser"},{"commit":"f1967d0138d27bde864c2400aa75baa8a39bbfde","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":0},"message":"system_boot fix"},{"commit":"c1d896027dd1ce021e048b3e77eab24ff59d08bd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":0},"message":"fix system_boot tty"},{"commit":"5c2d2a66187d32d62b31b7c7f13e502fdb7f9635","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":190,"deletions":6},"message":"process function and docs"},{"commit":"997b269b0b7e53a456e2a0bd997ead6c2ae843bc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":2},"message":"btmp fix"},{"commit":"61257e7525c25827cb8057ed5c612e54ea9b9637","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":119,"deletions":1},"message":"add last and lastb parser"},{"commit":"53ee2c36310cb84390ef96644aee6871769151c9","merge":"2ad3167 8bfa0bd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #29 from kellyjonbrazil/dev\n\nDev v1.7.5"},{"commit":"8bfa0bddec9ff1c21972019467dcf5738ab3afd2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":5,"deletions":2},"message":"version bump to 1.7.5"},{"commit":"ad61e6bc81177a2add7d052bf1ddec5f1b3f2976","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":26,"insertions":598,"deletions":133},"message":"add ls tests for filenames with newline characters"},{"commit":"873b5ba8acf599d083d6031b818d5fca83cbca9e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":27,"deletions":31},"message":"move examples to bottom"},{"commit":"6ae50054e2e8c7ca730013b43062eedc230c0ad4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"readme update"},{"commit":"22a35f41bf9c404d3532611f5929143d04b10010","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":6},"message":"move variables to top"},{"commit":"961696c963215a9dab56113ff89f21a6e9739df6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":0},"message":"add a warning if newlines are detected in naked ls"},{"commit":"c7b7f1a5dcf77a1f4c23ef6bbf5683fd1a055f72","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix for files with newlines in naked ls"},{"commit":"b5a0d650b128d8af81bb14dd5d007349529cb66f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":151,"deletions":0},"message":"ls output with newlines"},{"commit":"573b27946474276592ee7494689ce9a88f5a05f7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":1},"message":"fixup for filenames that start with a newline character"},{"commit":"116e07f1614b4a45eb58ffcfe20b5efa71c473a8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":7},"message":"fixes for multiple consecutive newlines and trailing newlines in filenames"},{"commit":"964868c8aff99edf37b0db41c7d16f8b84ac4704","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":21,"deletions":4},"message":"add support for newlines in filenames (only with ls -l)"},{"commit":"c8dac32df8102c2b782e87d55bb95ca2d9490185","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"readme update"},{"commit":"72a0016bd833699c3819baa899f335f75b8c1943","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"use link to anchor for Parsers"},{"commit":"2ad316743460bb6620e7ede251e1dc2739b073fa","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"update doc url"},{"commit":"ddabfaa05c63f886b17e5b4d37cd83fcfdb9b221","merge":"873771d f857523","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #25 from kellyjonbrazil/dev\n\nDev v1.7.4"},{"commit":"f857523ca756864211b6b18af5a8886e5db200bb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":5,"deletions":2},"message":"bump to version 1.7.4"},{"commit":"00d53858e820f00ba015bc25629100c8e5495221","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add note about aliases not being supported"},{"commit":"c008167e660929a91606bb96498cdc113e815f7e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":0},"message":"add time-style=full-iso option to doc"},{"commit":"102344a041e9e0aff8b6d9db1873ba1064f7e895","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"formatting"},{"commit":"c865298ef3613fe6ce17f41c15209a69940af1ce","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"remove unnecessary enumerate in for loop"},{"commit":"6ac03faf939bcda8930a48a5e832b557813e2129","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"Revert \"add ubuntu and centos default ls aliases to magic_commands\"\n\nThis reverts commit 49c2701743706b6cbf0e52b2c7f275e301315189."},{"commit":"49c2701743706b6cbf0e52b2c7f275e301315189","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add ubuntu and centos default ls aliases to magic_commands"},{"commit":"d1a271b08e64b42be8cec11377b0e18435a0caec","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":21,"insertions":35333,"deletions":1374},"message":"add new ls tests for recursive and multiple directories with glob"},{"commit":"7388ad19b9d252d3e66659e4bc37171cef2a9748","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":6,"deletions":4},"message":"bump to v1.8.0"},{"commit":"2e63cb5fadd032c7cb54a618e8b374ee853abcca","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"version bump ls to 1.1"},{"commit":"e7f14d02b12c7dcba309f2d28a0f171769d1ba37","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":1438,"deletions":8},"message":"update ls to allow multi directory (glob and -R). Adds 'parent' key if found"},{"commit":"873771d05ab0b77163c95d2c37e11edf38451832","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"d7de122e36e0698e00f321fbac8dc0b543cf9e8a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"prettify link"},{"commit":"4ef0434f536c6658ddc2b48a3db113df2fd26000","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":4},"message":"formatting update"},{"commit":"1aa2c9925996f2358b6272547db755ec3098a8a7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":1,"deletions":2},"message":"removed history from magic syntax"},{"commit":"c2450b27b079b02ed3f4ece9e36547f01cd4b139","merge":"028e136 14d6d8b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #22 from kellyjonbrazil/dev\n\nDev 1.7.3"},{"commit":"14d6d8b84f0ddeff984aff486e2e697a91ac6fb6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"version bump to 1.7.3"},{"commit":"f0e3846c038ec5507cd4a19980d83ee0fb969ef5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":4},"message":"formatting"},{"commit":"6ba64f1128373843b068226424a3af545ac9d22c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":2},"message":"usage update"},{"commit":"13bcdbc6c9a81bc5d52fe7a84e6a0a34908db8bc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"doc update"},{"commit":"cfba62db20674d788601354211a10e2b1675a0c9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":13,"deletions":6},"message":"correct parser search in magic()"},{"commit":"18fb69e36e303a3f9530dcb80354b25bfdbb931d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"docs/parsers link"},{"commit":"474eb0f3fdeaa612e189d745b12a5ed9c6e0a31b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"doc updates"},{"commit":"7f47b533701e60449351d5da03cd5960e0dec9ad","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":90,"deletions":68},"message":"add alternate magic syntax"},{"commit":"dc2907d3ce101043b30bcce71abb4bb02897f43a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":3},"message":"doc update"},{"commit":"1af85811e06c489051c456918284a746ce12c692","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":2},"message":"remove magic_command info"},{"commit":"1c1b19a478fe5c356a93cd165518429e77fcbdf0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":3},"message":"doc update"},{"commit":"66942d64babf932faeb887eb4ec0cab32829321a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":3},"message":"changelog update"},{"commit":"2fb6ae08d76e7a5727b2fcdd5def3e3822e0cf72","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":2},"message":"fix shlex usage"},{"commit":"bf8811e03e2a5b736f4c084f42400fcde400ff3f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":3},"message":"add comments"},{"commit":"c8b502c571d3081ca3086e349a426ca252a3bb84","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":2},"message":"remove unnecessary join and add comments"},{"commit":"81c11a975c6ee66a1f83350df8b065a6b07dcc9c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":0},"message":"added docstrings"},{"commit":"0d370eb403ab4d9ed11e36776efc08bdd3505c1a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"doc update"},{"commit":"7492c3f1e312cdb0c58c2077db0d60d2cab1e58f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"changelog update"},{"commit":"515a8a84b79c9bf6f3001d3c52faa82a6709b8d1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":33,"insertions":33,"deletions":33},"message":"add \"command\" to description"},{"commit":"dd6680efb2b15bb8ed676016aae1c65193dfe147","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":29,"deletions":14},"message":"allow condensed options (-prdq is equivalent to -p -r -d -q)"},{"commit":"a7158373cd225685f5c398fa36b8d5208e20521c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"comment update"},{"commit":"6d50ec71997cac9c898737de93b8a945f0351e53","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":9,"deletions":6},"message":"add try/except to fix bare jc command condition"},{"commit":"95dbf98e8e03486f74d986683f52699f4f9c9577","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":26,"deletions":6},"message":"allow options in magic syntax"},{"commit":"d49323e4ebf2a8aebd1d8ea65ef0854ee8bcb29f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":33,"insertions":33,"deletions":0},"message":"add magic_commands list to info"},{"commit":"08c1e2aec9d6bb68653dc12ba2272535fb7cef09","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":0},"message":"add magic syntax"},{"commit":"a2c137df2e6d3b133df5df0bb3f9b1ca69990557","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":66,"deletions":299},"message":"better magic command syntax logic using introspection information from parser modules"},{"commit":"fe27dcdb8f72b5a288f978b87be2eb930099543e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":319,"deletions":45},"message":"proof of concept for magic syntax (e.g. jc ls -al)"},{"commit":"028e136161ac15f588845f87907b4565a6ee7be2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":7,"deletions":2},"message":"bump to 1.7.2: add test fixtures to package"},{"commit":"9a85a0a4d504447b32fb622bb17cebc5e47f687f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"fix doc"},{"commit":"3a1cbc4d5063344c3e3a4bf510d651a36beedfb3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":14,"deletions":14},"message":"move info class to top"},{"commit":"77d334f7f386f79ec0571325500054fdab207f31","merge":"4de8f42 53cdf86","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #19 from kellyjonbrazil/dev-1.7.1\n\nDev v1.7.1"},{"commit":"53cdf863acc72dbdb671773e30277f42e9eadc0e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"changelog update"},{"commit":"7b7e7fe0fe92edef1e559bd7ae8272530d7ed5c8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"changelog update"},{"commit":"0c03132847a3d2bcbdb0b743e1472865916cced4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":4},"message":"fix error codes using sys.exit()"},{"commit":"3b81f7e2a1381958b33962d4531f3fa223c6a83e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"exit code on ctrl-c exit"},{"commit":"3d76437b435660e92633c604c4ad32ee0500a28b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":4,"deletions":4},"message":"doc fix"},{"commit":"4bc54c78cea48682ed0432ea56460a26a0e52f83","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":7,"deletions":7},"message":"fix compatibility list"},{"commit":"3d303a96b9f6d582b1e99a632da539c3bee4df7f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":16,"deletions":2},"message":"crontab bug fix and tests"},{"commit":"33c99d031d18e52a8ca85dfc1a8cba0acebfc3bb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix line clobbering bug"},{"commit":"caf7e9f69a22f3c9b3d4624fd2238d6e54d932ac","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":2},"message":"fix line clobbering bug and add user field to shortcuts"},{"commit":"9449f1f5d5e7bc075549549758af5cc3a6c4524f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":9,"deletions":3},"message":"crontab bugfix: inserting header row was clobbering the first data row"},{"commit":"6bad164b5e2a5b7c7ce82c69b6c091fc079ab2fa","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":7,"deletions":9},"message":"simplify by removing unnecessary getattr calls"},{"commit":"bb5ba7ddb146821db2efe095b6de5ae5b72bb335","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":3},"message":"add indent variable to helptext"},{"commit":"8b2e01d5404649e8f94c81ca3b5fa05fe8962220","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":4},"message":"doc update"},{"commit":"ff1159b1deb9b870382a6066166961902679b569","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"exit codes on error"},{"commit":"a2fd3202a0a3df336792f167c546ea3e53ea2332","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"description formatting change"},{"commit":"7b53715b91787a8885d61ddc0079c7ee8f9348a8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"change description"},{"commit":"e05fc0a5107b348af14ff4bea39d274939fab7dd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":8,"deletions":8},"message":"change padding of helptext"},{"commit":"43604c33f654b8c19e8cce387ebbf31bd598b73b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"doc update"},{"commit":"eb67c484ff2a9530b434cd6a90c160f6936e1de7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"add crontab-u to parsers list"},{"commit":"a7b7bdd46781d07e6e70d74a41a3944855fde5fc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":94,"deletions":92},"message":"load parser modules 'just in time' so we don't need to load all modules at startup"},{"commit":"ab06989a18faf5378f1e73c7016ea02e1218ff9c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":5},"message":"description updates"},{"commit":"657b722f947b6a0aa7e52a786e4c84f177e9a5c7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":8,"deletions":8},"message":"ini to INI"},{"commit":"dd2aecad2787186b3962723086bb7e13eff4874f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"description update"},{"commit":"c82c5c5c648384eb5a54205ba8590624a3ab4375","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":4},"message":"changelog update"},{"commit":"a1761cd68f91e2668d8d7e2fa7774f6496408be6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":42,"deletions":0},"message":"id tests"},{"commit":"d618a7f583629bb7a7fc0854e7349cab07e3e003","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":143,"deletions":9},"message":"doc update"},{"commit":"831a42f66096f5efbbf0f6882970c328120f9c9a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":24,"deletions":24},"message":"id formatting"},{"commit":"3b36022e5a1056a28a83494b1ab8fab209399c2d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":250,"deletions":1},"message":"add id parser"},{"commit":"d01dfa25f10f82cd201ae7b4c9cc18313773f8d3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":1},"message":"changelog updates"},{"commit":"395a99037b4816eb800b289f90372a9b8d7d36cc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":89,"deletions":13},"message":"crontab-u and history doc updates"},{"commit":"025986c51d2d4869b17de63a7dd96efa2988e3c5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":13,"deletions":3},"message":"change history 'line' to integer"},{"commit":"c56b83093ff05f55ef4643c1731cff61d4b9e8ce","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":202,"deletions":2},"message":"doc update"},{"commit":"7c712a4133abd843d4da926e4c8d548abd1d6fa3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":52,"deletions":50},"message":"doc update"},{"commit":"9a0cfe6dfa4888f435d35bd2d35126d031a556d0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"minor formatting"},{"commit":"a116cdbcec1b27192dd0f9f4707629353edb3caf","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":29,"deletions":13},"message":"tests for crontab-u"},{"commit":"f2d616c98e049cdac5d667e63723f92110419a1b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":272,"deletions":0},"message":"add crontab with user parser"},{"commit":"42cbd1777dbacc614d75f67f3f9156f72be46532","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":80,"deletions":0},"message":"add xml and yaml tests"},{"commit":"ebf375aac0473249cfd212068f6e6e33cc42449a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":40,"deletions":0},"message":"add ini tests"},{"commit":"1f9050267eeb870c4c0f50000fc32985c4d8535b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":12,"insertions":586,"deletions":0},"message":"add ini, xml, and yaml test files"},{"commit":"d7f9707a1521719ce051140b1a0b4ced7c5114c9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"minor formatting"},{"commit":"ab589ee3ed09b9d5e09d8c046f3a64cd2bd14c98","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":0},"message":"add __version__ variable"},{"commit":"c84ec0361fc4c877c698378b28ff9e8b502793b0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":105,"deletions":3},"message":"xml example update"},{"commit":"47d2f8968a8a9b68fc9fff45985f5e69f1a5cc40","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":0},"message":"doc update"},{"commit":"019c480bcce7fe3821b75906fc673ce7bb1ffadc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"update acknowledgments"},{"commit":"547c6d3d5956984d3c4fb5c2a1b76a595752b467","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":172,"deletions":2},"message":"add xml parser"},{"commit":"b5ebf8b76afcd0e0190994048fe1f5b53f654451","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add ruamel.yaml ack"},{"commit":"c690e328f23a69f592dfaaa949b74ba2190ad376","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":102,"deletions":14},"message":"add examples"},{"commit":"cbb92c1a9517234806f1c54398a69645b6f43669","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":94,"deletions":0},"message":"add ini and yaml"},{"commit":"beb41997c9b3797e73a678ec1bcddcfb83b5ef0d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":91,"deletions":2},"message":"doc update"},{"commit":"755a6faf1110f150fe2261b81439b7d17a9b424e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":8},"message":"clean up multi-document support"},{"commit":"021f8350a31a49ecc539f02576303600b222b49d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":1},"message":"update doc"},{"commit":"76583dcd2f5ef32e58ca87149154563b07e061cb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":113,"deletions":0},"message":"add ini file parser"},{"commit":"bf033239a706c42be3d7508c58a51c542f8a69b0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":82,"deletions":7},"message":"doc update"},{"commit":"eb37fccd37fd625f701a14b6cfcf30e9f0bbff4d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":5},"message":"doc update"},{"commit":"d04ad453319fe45e302da87f970d2ac0806fae1a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":7,"deletions":2},"message":"setup for 1.7.1"},{"commit":"db157b8ca7f7fa935676bafeaafdfd9818a89e6a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":94,"deletions":2},"message":"add yaml file parser"},{"commit":"68f277bb2081eb2cba14ffe7f0ee1ee0a982335b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":33,"insertions":99,"deletions":0},"message":"add __version__"},{"commit":"4de8f42664379570392552796e34324abb39fdc2","merge":"6633d92 4f11855","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #17 from kellyjonbrazil/dev\n\nDev v1.6.1"},{"commit":"4f118559356edc1da866e1bec80830e7a75a0b26","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":1},"message":"update version info"},{"commit":"2b9a5fcc32f85295faa55410efcaf142c42bd167","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"update version"},{"commit":"224948d1f23e01b7cd968820529579792f862f0a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":21,"insertions":428,"deletions":0},"message":"pip list and pip show tests"},{"commit":"36f2812d5a7a94c412e098233c026d99d5205b60","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":15,"deletions":7},"message":"add support for legacy output"},{"commit":"be06aa2b31c057c56229e75c7fa70052b83053ee","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":65,"insertions":70,"deletions":66},"message":"update parse() Return info"},{"commit":"41f8e3aba268ca0cd09931a04368615425c1aec8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":65,"insertions":67,"deletions":65},"message":"update Return info"},{"commit":"093c0df8978ace842af5258f9aff72c63c6f843d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":3},"message":"schema info"},{"commit":"37afc7dc8ae30342d01f3f72e73646fa60bb5294","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":3},"message":"updte todo and compatibility"},{"commit":"efbf3549606fc77f8c16587ff04a0c316dfe5c00","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":126,"deletions":12},"message":"doc update for pip show"},{"commit":"5e39fe0d8044787389d8f206f3c863d4bdf1e2ed","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":64,"deletions":5},"message":"pip show parser working"},{"commit":"47328dc65969f149c8f027286774ff0847c18add","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"add pip-show parser"},{"commit":"addeef50ba54f536855544937a6c98135ae5cd51","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":84,"deletions":0},"message":"initial pip show parser add"},{"commit":"ad338cc5b50a178091c47cbea9a1db135a7fb678","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":56,"deletions":42},"message":"schema doc update"},{"commit":"202bc8201e31fd453c682265347b4e2ac2d41718","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":5,"deletions":5},"message":"doc update"},{"commit":"5ff99de405fbd8f79f9c2e301ac27184e0aba6fc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add argument to parser info"},{"commit":"86ebe2cf9c6b336eacf217393c3c3c324ee29ec0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":205,"deletions":1},"message":"initial add of pip list parser"},{"commit":"facf0b399c608d33f6a454ee24fd49fc62471742","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"add osx to campatible"},{"commit":"33db7b0bcb0f24979cad6e173737d75c8ed301af","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":57,"deletions":0},"message":"add crontab tests"},{"commit":"663d07bca1181024d9d08b940237c52197c91729","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":191,"deletions":0},"message":"add crontab"},{"commit":"ba04e4997fcb28adbee446f633c121f1585b9f2c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":113,"deletions":4},"message":"update docs"},{"commit":"c4fee1b658c91afa2abdd746af6c1b4697c44b35","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":72,"deletions":1},"message":"add crontab parser"},{"commit":"99b92a15bbebc5568f4455f388f945613c4a2759","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":37,"deletions":14},"message":"support shortcut schedules"},{"commit":"b076ab5b57a6a59db096485e5ff4eb9f91bae8be","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":177,"deletions":0},"message":"initial crontab parser"},{"commit":"687759f75d0e80e81746a84f051e55cfdc870447","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":31,"deletions":31},"message":"alphabetize du entry"},{"commit":"9eaac7f3af0e0851c2d091d94c9920faa8a0fdfc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":32,"deletions":0},"message":"add du"},{"commit":"4c24e00cfc0748d98e220d08820b88fc156148db","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":21738,"deletions":9},"message":"add osx-11 and ubuntu tests"},{"commit":"beb17011b03e720078b0752e79a6a0f6123d1d3c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":131,"deletions":2},"message":"du tests and docs"},{"commit":"e882bf55bcd1d3526423ed1ccc61fb4819395cce","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":8755,"deletions":0},"message":"initial add du parser"},{"commit":"3a3016adb6d5b9e35f8a39908bfcdc65997cc5c6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add parser_count to about"},{"commit":"1e8b68153ade8a1e3d2b4db36e0c402bbc887079","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":27,"deletions":1},"message":"add osx uname tests"},{"commit":"9335cf65fbb87e3a0a7da0c4e9bcd251cb829de2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add uname osx support"},{"commit":"83f35256aee71f2619ddf880e2b8f2d6c63280bc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":30,"deletions":19},"message":"add OSX support"},{"commit":"428333394817e4461a4eb095f4d6d128305a5f98","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"version bump"},{"commit":"b8f902796b7fb23a41355b23f7ce235bd18edc58","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":4},"message":"shorten changelog"},{"commit":"8f99ab295cd15718b98781707def97539ad41920","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"info update"},{"commit":"882310e268e2022f0cd6da75f80f5356529cd05c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add name to about parser info"},{"commit":"56bce9521409d1850f75a3ae2be1363e765dd9dc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":10},"message":"about code cleanup"},{"commit":"c13ecbec2952c5d6765397f645e90653a4fd9d05","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":28,"insertions":2,"deletions":28},"message":"clean up parser info"},{"commit":"0ffaaa6e73649d1f657af569ac0b912f166e8493","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":7,"deletions":9},"message":"clean up about code"},{"commit":"75eff3adea097157c005b2201e353a741241ce8b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":4},"message":"remove whitespace"},{"commit":"bf5f80476cff642ae672187ea59d40bdb602101e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":4},"message":"use real parser name in error message"},{"commit":"9aaf0fbb2f838c0af1e7f18fdb19104f9f5d3d39","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":29,"insertions":146,"deletions":1},"message":"doc updates"},{"commit":"8f01ef79532743573632d716ceea41d5ea752c88","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add -a option info"},{"commit":"da1d087452da02631296b1b3dc9ee10d4b7f764b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add parser version info"},{"commit":"e16bc7e882a27a1d5a4bd7cf9972208e6997f96f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":29,"insertions":82,"deletions":17},"message":"add about information to parsers"},{"commit":"fe9bdd4811216257c05b16d6d61897929669d434","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":31,"insertions":384,"deletions":219},"message":"add info class"},{"commit":"17b6f3f6d6c398a52166849088a793d0e3b328b7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":26,"deletions":0},"message":"add osx tests"},{"commit":"90a6baf0ee3b8b27476badada4e590e22144f810","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":52,"deletions":0},"message":"add osx tests"},{"commit":"f0e73d0e72d540292f41fff51652932c4e8b0315","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":8,"insertions":444,"deletions":0},"message":"add osx tests"},{"commit":"a762882f1ccea6789ce7813b313f3242175b5bd6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":2,"deletions":88},"message":"fixture updates"},{"commit":"4c1bc5923658bf463805ea33ec8d170a817909ce","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":4,"deletions":3},"message":"doc updates"},{"commit":"f2962083f80503f82c3eddf470674c776e616b32","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":93,"deletions":17},"message":"add osx support for mount parser"},{"commit":"a0b22a5bcfa0777895243088b2c0f3bb5b758775","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":4},"message":"help text formatting"},{"commit":"dcf393354cd57683aaeecbed7b884d19b0fe94d4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"doc fix"},{"commit":"5f771656e3fdd703d449b2817faa4faeff1cd879","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":6},"message":"use universal parser"},{"commit":"f376aab79328a211a127f4f818e7007232f1fae3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":0},"message":"doc update"},{"commit":"3c96464217a740571e16c74ad41c1d92f7585547","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":886,"deletions":13},"message":"osx fixes and tests"},{"commit":"c9892833a16bb63f78537717be65670eb65a87b7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting change"},{"commit":"127c98affc7b122f0ced13852850214b9e07677e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"changelog update"},{"commit":"8687a772f53ecaf1a20464429060b94bbf660fe7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":7,"deletions":1},"message":"use universal parser"},{"commit":"b1162b14d42643fd53dbbe3f89ba042f030d9254","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":6},"message":"use universal parser"},{"commit":"8a8ee3570733c0c06b8cf53eb005e53ac2f9170f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":8,"deletions":60},"message":"use universal parser"},{"commit":"5e109a3665cf0c286ac9dcbe2a452348a14b90ab","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"add du"},{"commit":"11db478430515ef3e1020482792f23d1c40ca32b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"update changelog"},{"commit":"a85377014d9f93fcb9840715129b0e09d48d8584","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":11},"message":"use universal parser"},{"commit":"3aea86234d33160f5b3139cbfc2f4f032f655f3a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":70,"deletions":61},"message":"fix osx-10.11.6 tests"},{"commit":"916ec6ed6b858a8a496e4026b9bab5505abca2ff","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":13,"insertions":193,"deletions":61},"message":"fix osx ls tests"},{"commit":"9dca6ba5393d8840ad7fc9509273715a71955bd1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":55,"insertions":120,"deletions":6},"message":"doc formatting change"},{"commit":"0ebb89f561e1ced2e7f61ae19290e176c8a98bf2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"doc update"},{"commit":"e237867e242211ba37206911ebf1b35c97b417fd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"doc formatting"},{"commit":"78fa44fd9ac9790313de6f461eb46d9b8d6159d4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":24,"insertions":75,"deletions":3},"message":"add compatibility to docs"},{"commit":"d615fa3b933ccd284bd8ee92baf5dfa6264507c6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":30,"insertions":91,"deletions":1},"message":"add compatibility to docs"},{"commit":"ce134dc332dd9175e0d1823a4959bed427a3ddce","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":115,"deletions":0},"message":"Add OSX tests for ls"},{"commit":"a56e4dc752a01635fbd9fc31e21d390bbd629084","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":28,"deletions":3},"message":"use universal simple table parser"},{"commit":"d221b4aa29e80dda2b591059f4d64c416bff0a17","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"changelog update"},{"commit":"d2cba6ad2f1f1cd35aa174239584a0291abb8e37","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":9,"deletions":0},"message":"add compatibility info"},{"commit":"84b3c30b525ddf1f74eb7fd833050a0ec69621dd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":21,"insertions":254,"deletions":2},"message":"add osx tests"},{"commit":"68eeec19a812b735627763bb7d7e2a58b72f7504","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":30,"deletions":25},"message":"doc update"},{"commit":"c6d1528a2ed302ea82828b733a98db415be83708","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":19,"deletions":8},"message":"use _ instead of -"},{"commit":"50a6b256b8a0936299f562c208ede6187feeb9a7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":83,"deletions":0},"message":"new universal parsers to limit code duplication"},{"commit":"bbba1fe477014d0b7f370ce46ed821121be81a8e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":38,"deletions":19},"message":"update df to use universal sparse table parser for osx compatibility"},{"commit":"46b827da6b438be73fab168c3f05298483b141e4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":75,"deletions":4},"message":"add osx compatibility"},{"commit":"5e8c28a30a283b6ef525e9e78d3ef2a0e1526927","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"comment fix"},{"commit":"e5d39031645ac897e0c0297f514ee62efe02f5f9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":38,"deletions":17},"message":"update ifconfig doc"},{"commit":"23975c9c9e1dd9d3e9fd7c05d231a86d646be048","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":10,"insertions":132,"deletions":45},"message":"fixup osx subnet mask and convert state to an array"},{"commit":"1e0dab8355e6fcb0ecde85270d4daac6ad93875b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":10,"insertions":272,"deletions":2},"message":"ifconfig fixture updates"},{"commit":"5f4c10ffd5a9cbe4e5e3d2b9adc34f36492eaf46","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":0},"message":"doc update"},{"commit":"6f3d2b4b566b963fbf38572c587e8bd4e18881dc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"require ifconfig-parser v0.0.5 for mac and bytes support"},{"commit":"fea8ace8446b64abe9e61a028951bc4e6df9f9c9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":20,"deletions":6},"message":"add OSX compatibility"},{"commit":"6633d9262c936217d8e90e64505c66b006cdab56","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"Set theme jekyll-theme-cayman"},{"commit":"7d54137140e6d0515bc23c131a097af5c70c3379","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"link update"},{"commit":"2fcda6f2480ae6bd5428a0147c19f9af527391b8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add motivation to readme"},{"commit":"9c1b8bacf9a59a86feb2a91eb44919e800491d1e","merge":"d192745 4867655","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #16 from kellyjonbrazil/dev\n\nDev v1.5.1"},{"commit":"4867655eb297b1da7a55e0d3a24c7ed7c8af55c7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":172,"deletions":0},"message":"add line-numbers tests"},{"commit":"47410d1a95406b0960aac705e7cfe925fea3172c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"version bump"},{"commit":"5fa49f5e672fc6f8dc18fb4b1761c98b81362649","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"changelog update"},{"commit":"36c53827fab6ac38c0010250ec387db40fdeecfc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":19,"insertions":1316,"deletions":308},"message":"add systemctl tests"},{"commit":"51631aef5b1b6fdeff4ab543510a9f9e15a0c2c4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":358,"deletions":0},"message":"add systemctl tests"},{"commit":"a0298ac8a39093620b6859c909a78d11ab4a8e56","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":55,"deletions":0},"message":"add fstab tests"},{"commit":"98c0188821ebaa71c5661f2e095cf464bec695f2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"formatting fix"},{"commit":"ab1dabe3e42997825707006b63cc0c03d28470d4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":4,"deletions":4},"message":"doc update"},{"commit":"94bdb11fdf0e16d89769046d317643334ef1acdd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"remove systemctl from TODO"},{"commit":"b6727d68bab66164a3834b240ae868062aad9371","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":68,"deletions":0},"message":"add systemctl parsers"},{"commit":"89bad7fc2b4023b10b6eeb7ff1f8f18b71731cb6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":1,"deletions":191},"message":"remove systemctl list-machines parser"},{"commit":"c0b8b810a2616e77973c1223f9c39329112337ac","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":306,"deletions":0},"message":"add systemctl list parsers"},{"commit":"31eb65acd18b6d9163de900dbe48807a41a23785","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"doc fix"},{"commit":"513bbeb4649c011476930e1d1bf739ff06c2d66f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add break on footer condition"},{"commit":"3a52fb725a0e56b52a0ea430266400b268360737","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":55,"deletions":29},"message":"add systemctl list-jobs parser"},{"commit":"5affd444999de88b9bff7b49d790913540f97cd2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":342,"deletions":24},"message":"add systemctl_lj, lm, ls, and luf"},{"commit":"5dbc6e806c5d05bfa1f7e2156ed2573341eb23c9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":142,"deletions":29},"message":"add systemctl_luf parser"},{"commit":"59ae31f3f342c9337037aac4630310c9b9eb8287","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":219,"deletions":0},"message":"add systemctl parser"},{"commit":"230e921c2e8d931ea8a6abdf81215dbfc968b41c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"remove fstab from TODO"},{"commit":"a7c3d88b08ab90b719035cb15d78afe708235742","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":136,"deletions":0},"message":"update example and docs"},{"commit":"9b453bcb84dd9f2f566955eda1ab35c863b3e8a1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":13},"message":"remove commented code block"},{"commit":"ce43c782f601fc12267fa22279e8e0142ecc3a7f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fstab update"},{"commit":"cb16faaf4d1700379d53053fe06824fd03404f87","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"helptext update"},{"commit":"3f1d3ff6d85422536e0adfb6433fd3ec0399ebe1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":73,"deletions":6},"message":"add examples"},{"commit":"6f67eecd5ed46f8a692ff5dd607a2395a5c838ff","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":108,"deletions":0},"message":"add fstab parser"},{"commit":"e75c819190634f0a9048942b39eda691831829ee","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"changelog update"},{"commit":"601e68d104dd43940acadaa574dfd9b5117b0476","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"doc update"},{"commit":"8285ecfd1e7810102cdbc399398a16f999c841ee","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":2},"message":"enhance test file with comments"},{"commit":"8726de902e527b95a12afd79a53d533cc176703d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"add hosts parser"},{"commit":"4133585274b0e7faa0255a911468248eb390d673","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":53,"deletions":0},"message":"add hosts tests"},{"commit":"ad913b141721655a72a7b2a6ad60037e5acd5f9a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":148,"deletions":2},"message":"add hosts docs"},{"commit":"7113e5a844fc0304f62f4afe65b5cbc816f75372","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":10,"deletions":0},"message":"filter out comments at the end of the line"},{"commit":"a3a8369dc0e7227072f595cef1e57d471eff4d2f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":51,"deletions":9},"message":"add docs"},{"commit":"64016b8ef049d5d4f02b4371f5cc9632c19bcaa2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":92,"deletions":0},"message":"add hosts parser"},{"commit":"1cb49d60c84054b0446f299f6b4bab7d102101c1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"remove sar and sadf"},{"commit":"c858adfd12144569d0b990a217c5bcd75bd23828","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"remove stat from todo"},{"commit":"08d68327c777dd740d93a1b5fff8cf62f58904c6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":8080,"deletions":0},"message":"add stat tests"},{"commit":"0d7c6c5664911af7a41149d51dd6ae05b39d7648","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":8,"deletions":4},"message":"doc fix and add continue lines"},{"commit":"8bfa41dbf485cb06c928bc00a68727d2ceac21fa","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":22,"deletions":14},"message":"change values to null if -"},{"commit":"7e2fa48ed4f3fd452082ce06e7306efd38b2d508","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"update changelog"},{"commit":"340635cad5224f2c715bf961956f4b9b6119d80b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":408,"deletions":111},"message":"fix stats doc"},{"commit":"8f77d1de098f035767d73a6965a695b95b75e161","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":111,"deletions":253},"message":"add stat docs"},{"commit":"7dcf1b25ffb801375f0bf4263f34713ded904de9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":13,"deletions":0},"message":"add link_to field"},{"commit":"9b735381063a1167a6a74864a43b81aefd98009f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"set compatibility to linux only"},{"commit":"3bf8c8c6dbdf7e03e26b4581e35c3274084c07ef","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":27,"deletions":27},"message":"pep8 fixes"},{"commit":"04a1ff2ca7873d55cdbc831e521f3d4892074d98","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":8,"insertions":28,"deletions":28},"message":"pep8 fixes"},{"commit":"64647d230ac936cb43864481ae0f45d13707d7b4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":21,"deletions":21},"message":"pep8 cleanup"},{"commit":"c2a67e1b70f33044aecabd8b46018117cb38cb9c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":213,"deletions":16},"message":"add stat parser"},{"commit":"edb9a7c76e1fedaf37b6a226ad4e1cfc08a9a5ec","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":94,"deletions":0},"message":"add stat parser"},{"commit":"a407f5b67833cc5f8dda9fe8265cd34e62f28d14","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"minor update"},{"commit":"e5b4987acb70e854d9996350235c5535b4a46b69","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"doc update"},{"commit":"ba8cc18eebe779742cff0ba4c8bebe376e787c8c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":405,"deletions":0},"message":"add ss tests"},{"commit":"d2c7316e00b9aaf19231c05351821041458baf98","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"update command options info"},{"commit":"609aa14d243206e81ed31f8438c3f42e8263e140","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"spelling fix"},{"commit":"ef1ad4c700fcb740b5fbe1e12205b9a30ae427ab","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":0},"message":"doc update"},{"commit":"a0e2732152dc3005914b9a3e4f03e937a113c67f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":64,"deletions":12},"message":"add ss example"},{"commit":"9b5d3e3be1ac07813e716f8426fe89cced478221","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":135,"deletions":25},"message":"update doc"},{"commit":"2663ef31fbc1b69b89b8032640a25065cc953866","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":159,"deletions":30},"message":"fix field names per ss documentation"},{"commit":"a4cdd3378e6a031f16dd371ed5cd60ff018feb32","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":0},"message":"add compatibility info"},{"commit":"2f805da24d0e833e3d2a1f3a5ec34031fa911c05","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":45,"insertions":51,"deletions":51},"message":"add colon to parameter in docs"},{"commit":"79152a946d93e4facf9711bfa0f421e1978e0f1f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"initialize network_list and socket_list variables"},{"commit":"de37bb37d01b397df2b5992b4acd64817380401d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":187,"deletions":1},"message":"add ss docs"},{"commit":"f783e44e5c0cd05733da5d24573f06d05760f993","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":1,"deletions":1},"message":"doc fix"},{"commit":"af82f2c991ac0668485e75ae78a26b9553ec8b13","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"update raw format note"},{"commit":"46774daf9d3e0612df8f79d4b6b724e612ceb725","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":194,"deletions":4},"message":"doc update"},{"commit":"648306b7856fe2e296ce463ff4c9c2a8632c92d4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":44,"deletions":22},"message":"process ss data"},{"commit":"b7a4f205b80c0a6a41aaabf59703525ac526c295","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":17,"deletions":14},"message":"parser fixes"},{"commit":"fdb168b43a69358a97bf43b71a0adbc7b1ef56f5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":120,"deletions":0},"message":"add ss parser"},{"commit":"b6f65c93c462856f26201df0cbfe804b29a65169","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":43,"deletions":69},"message":"ps doc update"},{"commit":"3f4838f17a81969718d9e5b6bafa21e0b92e1d95","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":0},"message":"remove cli.md"},{"commit":"eef0dee2aa206716d9cf011bec58a06c46bbee15","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":8,"deletions":0},"message":"doc update"},{"commit":"e17388d3b2d1521d963bf9dd9e7a4ba5ba9bb09d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":44,"deletions":4},"message":"doc update"},{"commit":"7e6a1bc719b7160ba70cd326ff6aa182993a7380","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":41,"deletions":63},"message":"doc update"},{"commit":"37738a2ea2f15af847e4b8383aba911e2020a3e8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"update contributions"},{"commit":"c5834a57db8957723a1425b9db46c433e28a3af1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":14,"deletions":0},"message":"add todo section"},{"commit":"91b9373f380e06f91888811edbfb21747ff08810","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":417,"deletions":673},"message":"new examples"},{"commit":"ce0bb5b816eed0c75542ead474c3dcb8401be2d7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting fix"},{"commit":"f330ff0eff00586f46d18497f2441e94b6430e91","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":11,"deletions":1},"message":"wrap example text"},{"commit":"4b02700414660b90518311485761870402368625","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":9,"deletions":20},"message":"update simple examples"},{"commit":"ee30180376b7acec46314bbc483866bff41c362a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix note"},{"commit":"338e0ff15c7fac84475c1ed107e6a23e7a009b1f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"add schema note"},{"commit":"3ac75305dfa33429646bb5d415567034cccfeee3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":39,"insertions":351,"deletions":39},"message":"update process() doc"},{"commit":"3bdcf44afb708cf6a716a0847b119f895602c23e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":18,"deletions":2},"message":"doc update"},{"commit":"e3f4ffede56fe48c0a282a021ac5cdfd7a8abee9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":20,"insertions":172,"deletions":77},"message":"doc update"},{"commit":"f0c8725d4355113f7690f20bb99078e488084ad7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":21,"insertions":181,"deletions":81},"message":"doc update"},{"commit":"5473bc4eb697d00bd26a038287e1137e438cacb5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":16,"deletions":6},"message":"doc update"},{"commit":"b9bd9422bfa46144416fa65add2e041d4124357b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":380,"deletions":46},"message":"doc update"},{"commit":"cb5729a070925a7fa29f762bd4b074532f5cba55","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":62,"deletions":44},"message":"add options to docs"},{"commit":"f0b1ab42337746afd37365abdf44729d530d5410","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":0},"message":"doc update"},{"commit":"b15386e849b9fea347e7b17307eedf779d8022fc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":11,"deletions":5},"message":"doc update"},{"commit":"d2a2c8da35ee44e9a7572885609548eb809bcdda","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":1,"deletions":5},"message":"doc updates"},{"commit":"7251548cbb09beae6971385a56036e9649bd9b2c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":3,"deletions":5},"message":"documentation updates"},{"commit":"146e29f7cbc0f396be67dbd7ae971a4ef4dafb7b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":47,"insertions":5386,"deletions":2249},"message":"update docs"},{"commit":"363fd3eab409351121dab8a11c6b565829ccd84a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"move parser_name to except block"},{"commit":"4083dd4260ff3a8bb6649e1661cf3e058fdbad59","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":24,"deletions":5},"message":"add -d option"},{"commit":"b2b74547baaf33058d74fc08cb665777b19bd05a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":317,"deletions":0},"message":"add netstat-sudo-aeep tests"},{"commit":"dddb0baabf8a78261ac80380b97e7c92c7ce4d89","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":4},"message":"use \\u2063 instead of \\u2026"},{"commit":"84b4f67ef9d4bb0db201a095d74400a56394589d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":2},"message":"new json output"},{"commit":"3a089138b8c269ba3c5f7aec87ae3f8ec368c3ab","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":129,"deletions":9},"message":"add int and float changes"},{"commit":"3ff0305c8e62ce3b5a8f3f9174c5a9da3bc22766","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":8,"insertions":54,"deletions":2},"message":"add lsblk tests"},{"commit":"761edc3c6cfc215fe45c65ee2bb5462cb460b6a6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":6},"message":"remove unused parse_pairs function"},{"commit":"3351c81f647ac97a5038cc0c14adb31e55832a77","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":200,"deletions":2},"message":"add documentation"},{"commit":"3dfc6f67d770c59804bdeb371d5c78e3f3668f9e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":1},"message":"change empty values to Null"},{"commit":"1546ec3bd139ef687282f60786388b5207541c98","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":17,"deletions":13},"message":"fixes for right justified columns"},{"commit":"2a953011f72e922c89b9af6dfebd1983da7c338d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":50,"deletions":155},"message":"rewrite of lsblk parser to use a custom delimiter"},{"commit":"d2f755de9d2be7b0af5f010042e1f4ca589c5464","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":14,"insertions":250,"deletions":566},"message":"updates tests"},{"commit":"f363334639c5fa3a43889794ea52409056a2d886","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":87,"deletions":219},"message":"update tests"},{"commit":"750197e48596ad96804477053d3ff3c8063ea68a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":27,"deletions":70},"message":"new tests"},{"commit":"36b349e4ed39fe611c7d87a47c378cc4d4627ad2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":76,"insertions":76,"deletions":0},"message":"json output files"},{"commit":"b5f1e94fe2859c4fbcf126f8f8fb20d71a9b6433","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"fix for space before '-' in program_name"},{"commit":"6a504fb0e10b1ef551ed9fe780926fe5ca02d267","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add exception type"},{"commit":"e02bad2240bacbc31097d931a902a34217d559db","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":123,"deletions":175},"message":"update documentation"},{"commit":"1d4043a3b64c38a20a0db065c3bdc3c6a2d068bd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":52,"deletions":0},"message":"add template parser"},{"commit":"039e034829789ca314a00abd4f1d9ad06f1a6eef","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":19,"deletions":6},"message":"fix parsing issues in program_name when spaces are in the name"},{"commit":"d828de4f4f2f4c3d582fddee79830d12511c3299","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":53,"deletions":9},"message":"update documentation"},{"commit":"098000bb10a3f5ed33d285c6ba4f0dfb9a013fdc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":24,"deletions":9},"message":"fix blank 'from' column issue"},{"commit":"b41165eff5cd7371e852cd33e084a919524ead9b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":31,"deletions":1},"message":"process w data"},{"commit":"6ad7891b2b34fae1a366568e4eba86e886a6dd84","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":59,"deletions":14},"message":"process uptime data"},{"commit":"72138315598cd405bc0508b554108bf3f730dcb0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":31,"deletions":10},"message":"add process boilerplate"},{"commit":"10eedd82e4c4678fbf989fe599d7ca75deced5a8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":2},"message":"changelog update"},{"commit":"a55493da0f1457a46f29511e0835adfa9d748f7b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":93,"deletions":6},"message":"process route data"},{"commit":"89973f4162317693b0d094a64115ee87d8479d51","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":45,"deletions":27},"message":"doc updates and tty fix"},{"commit":"4802222ad50d55372f2b883d83a61181086b0619","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":11,"deletions":0},"message":"process ps data"},{"commit":"bcd28f06f87a4260d1787399d723817afd6aee90","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":23,"deletions":1},"message":"prep ps for process"},{"commit":"e17a47a7fa7f4c1bb4c4b55fb004963fc1b61434","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix typo"},{"commit":"cad2e16c7aa54a70f476bf4268ff8e5985cff468","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":353,"deletions":1},"message":"document examples"},{"commit":"5da5d278dac77bd4aa21819194e7f9e178bd1887","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":23,"deletions":0},"message":"process netstat data"},{"commit":"81b6776e57c113cbfb8346d1cfd83532a440c257","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":177,"deletions":0},"message":"remove old netstat parser"},{"commit":"5ecb6bd58b4ed91f63e4a0b5939378bd9925b7b7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":3},"message":"doc updates"},{"commit":"21b56096c57cfcf5c55fdf5f9bab88b6d5c7dd73","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":37,"deletions":0},"message":"finalize parse_post"},{"commit":"8c78f959731a25a05ee6361a14853c92f8fce69b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":7,"deletions":1},"message":"clean up trailing spaces on entries"},{"commit":"94a88bb5669d9a9a5dff085a4c4111bdd39df8f6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":35,"deletions":17},"message":"post_parse flags and program_name"},{"commit":"579124475b0b517b36ddbe5bdb13be14807dea1f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"simplify parser_map code"},{"commit":"5da83e020015eb5559d216bc3f39b3854e76adf3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"fix found variable error"},{"commit":"a90a76d004b923edece07a52a3aa400a9ef4b005","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":177,"deletions":140},"message":"move out old netstat parser"},{"commit":"bdfa95912398b2630fcb13e866f4013747fd0975","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":20,"insertions":209,"deletions":212},"message":"fix compatibility code"},{"commit":"4380594275bc863e81839a6a7b032a6ff0cbb9b6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":8,"deletions":46},"message":"remove cli functions from utils"},{"commit":"88bf252c0df3c583640286880d7992e4399e23f4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":139,"deletions":128},"message":"rename jc.py to cli.py"},{"commit":"a5efd8adce77fca7e3343f8f518c7bad578fdb4f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"rename jc.py to cli.py"},{"commit":"2ee392eefffde77ebdf83f5e4e0c43cf8c1a7d6e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":4},"message":"add quiet mode"},{"commit":"9c1d893e16ea17b16bec5fd0ec8839c4fe6f0590","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":102,"deletions":90},"message":"move utils to own module and add quiet mode"},{"commit":"88dcb90c83b757285661c72429c5b60bb1ead94a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":5,"deletions":1},"message":"changelog update"},{"commit":"a3bcabc89c1f74d067da0046492dbc56e50b1005","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":9,"deletions":62},"message":"mvp of netstat raw_data parser"},{"commit":"dafbf9fdcf53a8abbd006baef0be6697f860d2a1","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":247,"deletions":53},"message":"process lsmod data"},{"commit":"680cb2b2caa82e1e2c3225b3c44cae2ba03ba02c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":76,"deletions":7},"message":"doc update"},{"commit":"54818a06e0e0b981810f6aec45c308da81a9e2ea","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":4},"message":"change bool variable names"},{"commit":"88f4c5b5a93da3938b84f97abfc54539ee19ac48","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":10,"deletions":10},"message":"remove TypeError from exception check"},{"commit":"2bb7409887e8b7659613189daf58d02cb26bd6ba","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":36,"deletions":11},"message":"process lsblk data"},{"commit":"c780aac3aba02cc042c6a3c984af198069956370","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":22,"insertions":91,"deletions":5},"message":"add compatibility function"},{"commit":"5010aaec285e26ae9dbfdb3fcdc38a3bd36cd236","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"put exit() back"},{"commit":"066e93cb075021ac94a0e2e6a36a34bc173ee6c0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"move exit() to errormessage()"},{"commit":"0bd2faa7f71a128babc68afea053159ccb91b702","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"beautify compatibility list"},{"commit":"e2f926453ba386736204e358f8306dfc731b5005","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"add install script"},{"commit":"b953b79f9c46d8c5398a6c1c2769167b5aed2805","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":11,"deletions":0},"message":"add compatibility"},{"commit":"7f9967780692bec2fcbe992eee0c392ab92efb7f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":19,"deletions":1},"message":"compatibility function call"},{"commit":"721b54665924ad1657ee83cd5fca601e03700962","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":4},"message":"finish schema"},{"commit":"2de5e41269421c73e07d4abd6ca99b38be736261","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":95,"deletions":12},"message":"fix for more columns and build schema"},{"commit":"dfe0f6e99b6174734661fc43d9ad4b1d0dfd96e5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":75,"deletions":9},"message":"process ls data"},{"commit":"8873b1bc697c8f9409fa676c88b5ebe109dc8717","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":24,"deletions":46},"message":"clean up process code"},{"commit":"9ff94707004fefed475603436fc0a7ffb19e6fee","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":9,"deletions":4},"message":"refactor helptext() function"},{"commit":"2c58fca53044892e15ceb5e8bcae1afb09fa3269","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":62,"deletions":4},"message":"process jobs data"},{"commit":"9e5cd90da7d92bbadbc0d25071d087a3dbd90a5b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":131,"deletions":261},"message":"process iptables data"},{"commit":"7ee0d49424bba5274975d6c33e0721977660692f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":107,"deletions":28},"message":"process ifconfig data"},{"commit":"a9058ee21e87454aa423112239c4f4df7daca8c4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":4,"deletions":1},"message":"doc formatting"},{"commit":"fcf0aac87dccac2ce28e6f55e66e2f0b8f6fbd36","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":54,"deletions":10},"message":"add history processing"},{"commit":"daec5f068103aae547509ddacc2be56c84f39f17","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":55,"deletions":6},"message":"process free data"},{"commit":"5b2491d5ae72705758944e247fbca83367c0365f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":54,"deletions":5},"message":"process env data"},{"commit":"d9b41ac73b234f5bf7ff3abfee198092424a1bbd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":1},"message":"doc formatting"},{"commit":"7168ffddf8a8dfcdd5bcabd8bf943d6417de407d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":87,"deletions":5},"message":"process dig output"},{"commit":"a855344bec9f60d852de326953436ec76f25cffb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":13,"deletions":0},"message":"document schema"},{"commit":"d8b3b59fae924494fbcdfbdf6ad790f5234b0c69","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":16,"deletions":0},"message":"add schema and rename 'avail' to 'available'"},{"commit":"4b7d7840d37be47c1c98c38a6d712e7090e5b68c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":4},"message":"add -r option"},{"commit":"58a094a9b4cab0fcb99581f37a21a450fc3a1aed","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"changelog update"},{"commit":"65adbb4189ac66de3283adb2af93a1251103f057","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":29,"deletions":7},"message":"doc update"},{"commit":"f7350959c9706486a3aed19a999e5ee756a1240c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":47,"deletions":24},"message":"df fix for changing header names when -h used"},{"commit":"8934a7d832b8e1375f0bbdd71031f37ae42f3929","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":4},"message":"fix dictionary iteration"},{"commit":"669a424fd6508db91bf5cfa2607033fac85f442c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"fix process function"},{"commit":"591a65c2bda26efcdd570a5f147f98a5be0473d4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":46,"deletions":2},"message":"process df data"},{"commit":"a78fb890782a64b20c0c1b60afbd915ebdd88535","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":21,"deletions":5},"message":"add raw and processed output"},{"commit":"8979dab2a5371fce3a773004c2309e7483e4cd31","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":25,"deletions":20},"message":"add raw mode"},{"commit":"0a891f0adda7f2f3233222a0cb5c1f737913ad6f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":1},"message":"bump python required version"},{"commit":"c220e35b14237c2cfc38aa661413af83ea13e393","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":34,"deletions":33},"message":"cleanup helptext"},{"commit":"f26c5818bd958c18f4ecc22611b9c058f6213a2c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":36,"deletions":33},"message":"refactor helptext"},{"commit":"e712cd3fc4cec1b3137c73e199b2d89fd42fb3bb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":138,"deletions":0},"message":"netstat2 skeleton"},{"commit":"0309c9ac67c5f65e0a584fd01e8104ef1990fa7c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"setup cleanup"},{"commit":"9a9eb4120af7696cd3727ac0f0a014663e62b993","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"setup updates"},{"commit":"d1927456b02e6c2a6e6395cd6ce873b6565ec37d","merge":"0691cfc a3d9213","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #6 from kellyjonbrazil/dev\n\nDev v1.1.1"},{"commit":"a3d9213a1e2fd52ba2cbc863d4d01d3ffeebe230","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":2},"message":"add date"},{"commit":"3365c03a1e709835b4bd6bca023afbcb46912982","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":361,"deletions":0},"message":"add tests"},{"commit":"4f6c87389b313b368d9e833feef55fe6daf7aac9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":7,"insertions":164,"deletions":1},"message":"add dig test files"},{"commit":"41a2a9adac7d3c29dfa11292f08b0877c69b1a5d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":147,"deletions":3},"message":"remove unnecessary if statement"},{"commit":"74dae2905b2b0916f0be9fee2a4a343962760ff6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":143,"deletions":30},"message":"dig parser mvp"},{"commit":"d1f64214de00090c3faae0bf544c6c2602ab8c31","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":19,"deletions":3},"message":"add authority parsing"},{"commit":"d3e1aa20a815d1d1d6ae82776ae18e3416f0966f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix when line"},{"commit":"72cae9577756c4355211a19f4dd77aaeb6f8e905","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":47,"deletions":9},"message":"dig fixes"},{"commit":"219bc8130f55f23e3be3abbe56104aefc2f84e86","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":155,"deletions":0},"message":"dig parser skeleton"},{"commit":"e8c1a554c040ad8f9c6b518db5fd58e8345d2181","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":7,"deletions":0},"message":"testfile updates"},{"commit":"087a60bc2adf64bfcedc1f264fef328f993b530c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":87,"deletions":5},"message":"documentation updates"},{"commit":"9c9823c3b8737b5de08af6278ca74414138e9263","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":16,"deletions":0},"message":"add arp testfiles"},{"commit":"cf8d13030bf67261a986c0f80fa20ec0e37a743a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":21,"deletions":0},"message":"add arp"},{"commit":"1eff69c187ca410ffaec7909bc2532553be1d80c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":17,"deletions":1},"message":"add documentation"},{"commit":"b10fb77d714b73a10a9bf28b45269b3530e01cee","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":9,"deletions":1},"message":"fixup arp parser"},{"commit":"87cee8b230a06fa270b2e36afb56f337da814c80","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":28,"deletions":1},"message":"add arp parser"},{"commit":"83ab10d6282e26391bbf6bae5d0d29e040b209f0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":44,"deletions":34},"message":"documentation update"},{"commit":"d58a6e1d1dc93155255922b65b0af1325439b033","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":13,"deletions":15},"message":"readme update"},{"commit":"cb46ca5c2776a13c673a44d3e0fbd0661b32af9f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":1},"message":"readme update"},{"commit":"5528d979f0b45787d68ab79b962371df9acc527b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":7,"deletions":1},"message":"version bump"},{"commit":"ee94a038a61d60db72046d5bcceec58009decb39","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":131,"deletions":0},"message":"add tests"},{"commit":"1d658f7a9fc50873f76985b2fb9de92ada9d5547","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":265,"deletions":0},"message":"add tests"},{"commit":"392cb44f9b19829a5ceba055e24c7af4d8ac5b3b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":80,"insertions":12667,"deletions":0},"message":"initial add of tests and fixtures"},{"commit":"579bef079cdd7cfa298bc20e052b8eb75b586f5e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":2},"message":"move global output variable inside function"},{"commit":"0691cfcab3f5f91908e06ec906d57e548d4e7a1f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"changelog fix"},{"commit":"db29c7c186601fd4596d3eb121b37100601af907","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":4},"message":"documentation fixes"},{"commit":"fb1e03637514b5ab02fd4c5df1db8b3cbacdd531","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":14,"deletions":10},"message":"formatting"},{"commit":"c3eaf59836538f4ab4c745e87b70115b4a4c5421","merge":"ea0cf0a c9849ce","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #5 from kellyjonbrazil/dev\n\nDev v1.0.1"},{"commit":"c9849ce0db1f864d33739f8f6f942bf5672bc3b7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"changelog update"},{"commit":"d3c89a3092973a7a8765463fff41c2469ed675cd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":11,"deletions":9},"message":"check for enough info to parse"},{"commit":"a3d43f27f7bb0835b3593b7c303fe0ee8d896a58","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":12,"deletions":10},"message":"fix odd uptime text parsing"},{"commit":"f4d9c1b699fa30bd297a40ccf3d5f6e7ba3d4253","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":8,"deletions":4},"message":"fix uptime for minutes and hours long uptime"},{"commit":"de647bba4aff84f7b513cf7f6fec8d3933b0d9da","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"documentation update"},{"commit":"d7913070315e5e0c89006942250aaf37e9e3e18e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"documentation update"},{"commit":"1a4fc204e21f1555ae67c3147322c8d73fab630b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":10,"deletions":1},"message":"Documentation update"},{"commit":"0328e14c7c65a330093faa52fe48dae6cb173e42","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":7,"deletions":0},"message":"handle ctrl-c gracefully"},{"commit":"1acc4d6c29d136e286f82d607c4a3a59e2680b68","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":0},"message":"fix uptime parsing for short uptimes"},{"commit":"27245590ce28be933f1a55db4ee6b24783f4b63d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":12,"deletions":20},"message":"remove integers"},{"commit":"7ca2a4bdb939293e8d7364f8901ad1fd6d3ee808","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":182,"deletions":201},"message":"remove integer values"},{"commit":"5f1ec6734874651bee595961edf1fafaf5acf001","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":10,"insertions":473,"deletions":456},"message":"lower() headers"},{"commit":"7e44c4278a75c7223d99200023160e8d77fde54d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"formatting"},{"commit":"eda726c4a3864008e2f700374b679ae68a965ef8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":80,"deletions":1},"message":"documentation update"},{"commit":"5f8e70d73054f1a106c0e75eee621bc0cefd1c6b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":9,"insertions":20,"deletions":22},"message":"convert headers to lowercase"},{"commit":"25b90546c652cafa9409f02bae1654cb523add88","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":14,"deletions":9},"message":"change 'Use%' to 'Use_percent'"},{"commit":"75c084153845757e22c149ea4ae7909d42ec7118","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"changelog update"},{"commit":"5b532b9b71fdb9de575da0af9b7989ac537877c4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":3},"message":"minor cleanup"},{"commit":"8c7b3193d131411f8766508fc27b2a6589bba1f2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"documentation change"},{"commit":"0897c96ef3c180a1707e8f56c545f59b3a4e0672","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"formatting"},{"commit":"57d0ab2ed7f444862546da17cbbe8f8ce67bca8c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":9,"deletions":4},"message":"change LOGIN@ to LOGIN_AT"},{"commit":"a07d9a0e4bb76d369b4a9bf0d77c7590dc3c2861","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":22,"deletions":13},"message":"change SIZE/OFF key to SIZE_OFF"},{"commit":"b3996cb4dfed908d71b292dc0b0136c6675351e6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":14,"deletions":10},"message":"change MAJ:MIN key to MAJ_MIN"},{"commit":"4fa88c1ba38b34f9750625458c465d66f6531bc3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"clear out non-ascii chars from data"},{"commit":"c8c5564b29588094721949b96bff1e623437835d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":3},"message":"change buff/cache key to buff_cache"},{"commit":"6d047486d9f577bc04d79af839f5eef9657a9d43","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"doc fix"},{"commit":"42bdc058141c4a3ac6f2c8211f9c990590b1b5cf","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"changelog fix"},{"commit":"85bfb688862e78d5879df6973b88ba8023fa6086","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":15,"deletions":10},"message":"history parser fixes"},{"commit":"08ec21556b553cd7e64932d68e01ba8ff3b0f210","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"formatting"},{"commit":"320929bf2595026d32b80b80c3e4878db9cf083f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"documentation update"},{"commit":"41cd489c34502c42602bf64086670ba3b2b8e14b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":5,"insertions":126,"deletions":0},"message":"add history and uptime parsers"},{"commit":"f101d881a16e662e883818749d48e96858fba853","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":78,"deletions":3},"message":"add w parser"},{"commit":"fa7466022bb8947c1bbf9f7b01aa4d92300a8992","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":28,"deletions":56},"message":"fix env parser"},{"commit":"ea0cf0acf22585fbf8828841cf50155636eae82f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":0},"message":"documentation update"},{"commit":"e7921b65f5a250c10b08f78939f74968047af430","merge":"393e8bc 2cc1b1b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #4 from kellyjonbrazil/dev\n\nDev v0.9.1"},{"commit":"2cc1b1bd5451f31d71b0e2236bdee0ce2b25b5d7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"version bump"},{"commit":"58ae976db0165730a75dd7450c698d2727a354ca","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":113,"deletions":4},"message":"documentation update"},{"commit":"66772392ae78ef394e22070b127416b1d5b01332","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":32,"deletions":0},"message":"add lsmod parser"},{"commit":"29c47c03a64f9c6b0f44d34be5449396654849b5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":134,"deletions":2},"message":"documentation update"},{"commit":"91eb9a4d13e9254bd5bbde931196904c1947a28e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"use None instead of --"},{"commit":"a1a3de32ec14d6ef433e334b9694856698c26d41","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":59,"deletions":0},"message":"add lsof parser"},{"commit":"9c47fd05bf716c2e18ebf4da41b1a46b972b2518","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"doco fix"},{"commit":"649c0aa7c157f87691cc8eeac64c747e81f63594","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":76,"deletions":1},"message":"add documentation"},{"commit":"3db758764e50666e5ae40de8d89180de2ef5bc28","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":83,"deletions":0},"message":"add jobs parser"},{"commit":"802f1510eb6d621f9c760f28b83f16a4781b8d93","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"tighten if statements"},{"commit":"56901788dee154890e70269ad48d4b22bb8c5437","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":30,"deletions":19},"message":"stop blocking when no pipe and enhance help text"},{"commit":"679ae6d5dc7af26240dc00d8bc6499950f81d457","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"version bump"},{"commit":"b15c8c352a87a9b3b1dece28af0287ef71ca02d0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":14,"deletions":16},"message":"simplify state variables"},{"commit":"393e8bc56041a4be01b6c0b2f98895aa330afd04","merge":"e3750b4 976fd7d","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #3 from kellyjonbrazil/dev\n\nDev v0.8.1"},{"commit":"976fd7d9bd49190a8b28ea5acf5af8979cdec537","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":27,"deletions":28},"message":"readme update"},{"commit":"d8337870cad042cdcc6a4ff3c61f756c3430fa96","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":27,"deletions":28},"message":"update documentation"},{"commit":"39a8aec77f5134b5b958e3f679910a1c3512e13a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":3,"deletions":3},"message":"v0.8.1 build"},{"commit":"306d539b6bbfb272c7b955e4847adc3a6b4afa5f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"readme update"},{"commit":"f3087b8a8ede88834285bb5d0655fc96341c174c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":635,"deletions":1},"message":"update readme and formatting"},{"commit":"414c2ecef88af2d2c098e6acfb507a5fd7bb8eda","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":10},"message":"fix iptables parser"},{"commit":"776ef2d1be81180b8b295fbc587446a326f2f7a6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":61,"deletions":0},"message":"add iptables parser"},{"commit":"9ac57469967443b195be09d580beaa76ce0e1095","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":64,"deletions":1},"message":"add uname parser"},{"commit":"a3e55d97c0fd4397b42e9146afb0ba9558274fdb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":127,"deletions":1},"message":"add mount parser"},{"commit":"b15227e7ba5377e5fb6799d1b9e4ed5a11c6d92f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":125,"deletions":0},"message":"add lsblk parser"},{"commit":"ec3d1f84ceccb492b4c968938714fafa2e6a6321","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":24,"deletions":2},"message":"fix free parser"},{"commit":"753d5fd9fe5a8e4b67b1a0ec018a9f811e27f8bf","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"readme update"},{"commit":"73a0d70c9294ad392792e690a7bfbcc4f51b0a5b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"readme update"},{"commit":"c2c189f3e6e900e5f3d35df9a9b9d033448baff6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":4,"deletions":1},"message":"readme update"},{"commit":"36bc55a3109278d663b675a09829200f5474c3d8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":0},"message":"fix df"},{"commit":"a023001cd350e320ce30f47af214ed7a9bb43185","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":6,"insertions":226,"deletions":1},"message":"add df, env, and free parsers"},{"commit":"e3750b49628794fd4d563013b1f3a7471c27ce68","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":83,"deletions":51},"message":"documentation enhancements"},{"commit":"b5ea08e55bfd22c9da5ba73c124791012df119a0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":20,"deletions":20},"message":"fix transport protocol"},{"commit":"8e71b8e3522b9b1af4d869a0854223eb5c300b63","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix jq example"},{"commit":"4c8610c54ff4b643237d8f0e4c5781c277fc39f5","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":3,"deletions":2},"message":"fixed build"},{"commit":"c8f886dc8fcdc58f8471d68c3d583200d0ea2f90","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix example"},{"commit":"4cfc2d22b3f9fd6f0cde8ad206edd7fe260b3071","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"update changelog"},{"commit":"59238c85408117748e78c5e87157381a828f3782","merge":"d54d906 30080c0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #2 from kellyjonbrazil/dev\n\nDev v0.6.2"},{"commit":"30080c01659cf611666876b7b063b7b329822352","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":35,"deletions":35},"message":"reorder parsers"},{"commit":"fab80bb3b4a1897da29d818e98e9b80ce45443dd","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":2,"deletions":1},"message":"readme update"},{"commit":"a9f2df805421754afb8e8adbcac7f2d3bd06c9ef","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":1},"message":"move parsed_line var lower"},{"commit":"1d110be6cb25d169ae0dde6532cbcdf05d93d42f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":13,"deletions":1},"message":"update doco"},{"commit":"be81b5e1ed93eb65e5dbed4f52905439cde86f62","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":112,"deletions":121},"message":"readme update"},{"commit":"5f88f7d8a071306be92cbfb65d6d62c5a68159f3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":110,"deletions":137},"message":"netstat cleanup"},{"commit":"e57c7cc8ef3102cc41dee4ea5fd33d40ba666491","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"change output from dict to list"},{"commit":"b216627c1073ea645029e341b4d3376601e5468e","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":19,"deletions":116},"message":"flatten netstat output"},{"commit":"6e925eab131024b5746d870cbd47e2791acf18bf","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":27,"deletions":18},"message":"clean up arg parsing"},{"commit":"d54d906c571b4683f01cab2eca63ae5f0725a87b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"update readme"},{"commit":"0040febbf099ed8ab35f6ee343750fcf89f2e739","merge":"8073d15 e416c77","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","message":"Merge pull request #1 from kellyjonbrazil/dev\n\nDev v0.5.5"},{"commit":"e416c77bed1267254da972b0f95b7ff1d43fccef","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"version bump"},{"commit":"9181d242aaed5219bb35fde01d672be88949cceb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"bump version"},{"commit":"d6f94c53a4df84fb75554605477e49536a809dc2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":2},"message":"fix blank output case in ls"},{"commit":"a9294f32a00709737d0b82ff434a311e75ad0bed","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":39,"deletions":42},"message":"ls fixes"},{"commit":"4d93b38fe47329e3175025878e87f7c963061f98","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":90,"deletions":1},"message":"add route documentation"},{"commit":"77b74c550795f96b808e48a9b0bfd1a8af9866f9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"add route parser"},{"commit":"51a1d3e6f48cf7084267be4092f0dd3f778dcef3","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"version bump"},{"commit":"2eba30422b44f648c7356a44cbff7416c6648f19","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"skip first line"},{"commit":"43ed09ce5ba53261dfd7ef50a2e187cb524c416c","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":25,"deletions":1},"message":"add route parser"},{"commit":"367ab54f94bf7f456377ec9d20f8daf99dbdc1ed","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":99,"deletions":2},"message":"formatting"},{"commit":"4f552e370e656cc1882a7dae231475a016f8aa14","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":3,"deletions":1},"message":"acknowledgment"},{"commit":"7571139f7980f6e74c29d46971881e82ab0f04bc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"bump version"},{"commit":"8ec1bec31711d2ef487da3e4a29a842d98d77626","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":29,"deletions":7},"message":"add ps parser"},{"commit":"c04895407f203aa0a3a080d5242faf8f6889ae41","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":6,"deletions":4},"message":"ubuntu fixes"},{"commit":"cec73d61310591e4890605f61dc5c1bef5808ec4","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":4,"insertions":24,"deletions":16},"message":"linting"},{"commit":"756c2bc9acd60111281b76085a40778e51ca06cc","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":20,"deletions":3},"message":"add acknowledgments"},{"commit":"084048987c7afc6516f69e68d37d73b2402dc7f2","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"changelog update"},{"commit":"02d97394dd76a8782e6e7d3f8a85e1aed05e796b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":0},"message":"changelog update"},{"commit":"177f948f9740e3e33449b04b9136a346c9a2c265","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"version update"},{"commit":"c2b013150ec1f1b1ab7d416f1aa8a62165a5bb95","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":9,"deletions":0},"message":"add changelog"},{"commit":"0bec67c29ce5d965271440da41a0c4b4c2a1f0fb","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"double quotes to single quotes"},{"commit":"8073d15fe11546a17cacd81409e255bb8aecd602","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":12,"deletions":4},"message":"readme update"},{"commit":"3b74afc39e58f801e75b7105e521c1469d30f991","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":0},"message":"upload script"},{"commit":"ed320cf0f4bb11cee1e69e9dc9176ba109df1b86","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":22,"deletions":22},"message":"change netstat pid field to integer"},{"commit":"021b6924e24e1cf0f971246244b174cd3181c0a6","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":254,"deletions":5},"message":"documentation updates"},{"commit":"5fb21b077662f1cb172741945ba5036e5a280638","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":8,"deletions":0},"message":"remove debug print statements"},{"commit":"7b8540ae2a60f2400fe672a022ee00d1415a3500","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":19,"deletions":7},"message":"netstat fixes"},{"commit":"a5e039d4c2e07d52a0797833685c562ab285b49b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":17,"deletions":7},"message":"netstat debugging"},{"commit":"7071f60a302b7aefb8fb312699b0abec25548986","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":66,"deletions":18},"message":"netstat mvp"},{"commit":"0de1dff0253eb46b7336103f62f888940406ccc0","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":24,"deletions":24},"message":"fix ands"},{"commit":"b3c52eb1ccf82e899dda62c332c0b217d80eb4c7","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":112,"deletions":40},"message":"add netstat parser"},{"commit":"366c5dbc010869bdb1d3b9d852e10510bd5c266f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":2,"deletions":2},"message":"fix help message"},{"commit":"a3ee02514b5fbd43a38ddf515a4aad49bb4e161a","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":6},"message":"fix imports and module names"},{"commit":"46ad1269cb58dc6f064d17eb0b04da62d8fd5fce","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":4,"deletions":3},"message":"packaging fixes"},{"commit":"7234afe568818678585ac423649a0ccce0f45d68","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"entrypoint fix"},{"commit":"caf480c63aacb518805d48fba0fd454959d11023","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"module fix"},{"commit":"62851b48d5e5cd673e630a28996e1c24cc45aa58","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":7,"deletions":7},"message":"fix modules"},{"commit":"46d6da92f0e196e150ab9dd44b1ba290c950905b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":1,"deletions":1},"message":"fix entry_points"},{"commit":"e572b2edfa993c5049ef3caeda7a8e4797f0c751","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":37,"deletions":29},"message":"use entry_points instead of scripts"},{"commit":"72c69e7de59029d623c9819dda6aa8cae91bc419","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":6,"deletions":6},"message":"fix package paths"},{"commit":"4d1565071e5cf7c38e026e08db8f4d2e79969691","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":1,"deletions":1},"message":"rename jc.py to jc"},{"commit":"3652e51693d7ba829f4699fd80de20856941d82f","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":1},"message":"fix requirements"},{"commit":"49ce9f13e817266659400a8c19f5b078a48589df","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":3,"insertions":17,"deletions":20},"message":"setup updates"},{"commit":"e83170b7ec7ed2123bfde69be263b6034c7afa53","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":1,"insertions":1,"deletions":2},"message":"readme update"},{"commit":"ffb6eb754a87baad5fb0558e30a5bca1a9b9e0a8","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":2,"insertions":7,"deletions":7},"message":"setup fixes"},{"commit":"2597a18d95d01109d2250487b7550a501edaf77b","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"GitHub","commit_by_email":"noreply@github.com","stats":{"files_changed":1,"insertions":82,"deletions":0},"message":"readme update"},{"commit":"3e576250b1bfe1c62c556f2fa0425103b0ede1f9","author":"Kelly Brazil","author_email":"kellyjonbrazil@gmail.com","commit_by":"Kelly Brazil","commit_by_email":"kellyjonbrazil@gmail.com","stats":{"files_changed":11,"insertions":429,"deletions":0},"message":"First commit"}]
diff --git a/tests/fixtures/generic/git-log-full-shortstat.out b/tests/fixtures/generic/git-log-full-shortstat.out
new file mode 100644
index 00000000..d538f058
--- /dev/null
+++ b/tests/fixtures/generic/git-log-full-shortstat.out
@@ -0,0 +1,19602 @@
+commit 096fffdb79807d34b99985b38df0a3df7f6a86c7
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ use stat examples
+
+ 2 files changed, 120 insertions(+), 36 deletions(-)
+
+commit 728d882ed007b3c8b785018874a0eb06e1143b66
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add timestamp docs and examples
+
+ 2 files changed, 90 insertions(+), 12 deletions(-)
+
+commit b53e42aca623181aa9bc72194e6eeef1e9a3a237
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add calculated timestamp
+
+ 5 files changed, 29 insertions(+), 6 deletions(-)
+
+commit 477329ce5b8f5c2a8e4384ba3f59289fc18c957d
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add linefeed to version text
+
+ 1 file changed, 1 insertion(+)
+
+commit 283dc4efd55030188f17c7e1dfbc5315103494b7
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add python interpreter version and path to -v and -a output
+
+ 2 files changed, 7 insertions(+), 1 deletion(-)
+
+commit d490bbcaa0291a691b95fa5b61807eebb0b088eb
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ normalize add/update
+
+ 1 file changed, 26 insertions(+), 26 deletions(-)
+
+commit f49ddf8e5c5009702155fc62d83c63e3c08c594d
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ doc update
+
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+commit e1e341652b51b823844e76ef7e68f9373a323435
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ doc update
+
+ 1 file changed, 2 insertions(+)
+
+commit ecda667549137bed5622cca69f2022e7a75ea833
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ process integers
+
+ 2 files changed, 12 insertions(+), 8 deletions(-)
+
+commit a0d96a188a9f875b2d59625aa97d4f80bba290f2
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ doc update
+
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+commit 6c0f0cddfe4dd2d5169f7c55416c6725912557f6
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ fix for datetime objects in yaml files
+
+ 2 files changed, 14 insertions(+), 1 deletion(-)
+
+commit c7173ecd89742c8cf8a7bc4a8021baac5c3cd483
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ fix mypy issues
+
+ 1 file changed, 8 insertions(+), 6 deletions(-)
+
+commit e98240c905394e3ebd6a45fa31b6d432c150afc4
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ extend instead of append list
+
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 6cb7e25974b11afe57d7d0e8550b3b1a56b14c67
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add docs
+
+ 3 files changed, 93 insertions(+), 1 deletion(-)
+
+commit c37980c05c7fbd4f811ce5fcfcfddaf5f3ab5414
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add stat support
+
+ 1 file changed, 41 insertions(+), 7 deletions(-)
+
+commit b5943bd39d776fc4c3b3dea03c0f3d4b6f4bb260
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ initial docstring
+
+ 1 file changed, 23 insertions(+), 10 deletions(-)
+
+commit 49a3a7db3b2b0b292489a41691c9dcbce816cfed
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ initial git-log parser
+
+ 2 files changed, 175 insertions(+)
+
+commit 0c55240e9da30ac4293cc324f1094de2abd3da91
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ move test templates to fix test failures on some systems
+
+ 3 files changed, 1 insertion(+)
+
+commit f91988aed5499d25acf7a7e87b2b0d0cd37b62af
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ iterator -> iterable
+
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 3c3ad9fc6adf865b3814a1f03814d0bc17d1c6bd
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ iterator -> iterable in doc
+
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 291ab79e22a59cb31814e7a5af9dbc9f2ec863e2
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ fix arch linux command
+
+ 3 files changed, 24 insertions(+), 24 deletions(-)
+
+commit e6d5892c146762cd41a966adadb77db333d98ace
+Merge: c0414e7 dcca7a5
+Author: Kelly Brazil
+Commit: GitHub
+
+ Merge pull request #226 from kellyjonbrazil/master
+
+ sync to dev
+
+commit dcca7a57d558721a61fbba44f07b1d53116827e1
+Merge: 7138eef 4ee8a69
+Author: Kelly Brazil
+Commit: GitHub
+
+ Merge pull request #225 from adrianteri/patch-1
+
+ Update README
+
+commit 4ee8a69337b24e199983fe657643abcb0a56a8e6
+Author: 003
+Commit: GitHub
+
+ Update README
+
+ Specify the Arch package is in the AUR and NOT in the standard Archlinux repositories.
+
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit c0414e7db7f5d785b72ad616517f2ec63af151a2
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ clean up background tasks
+
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit a419175fe6dffe9c5fd20cfbd82ee552bc82a993
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ enhance parallelization
+
+ 2 files changed, 34 insertions(+), 17 deletions(-)
+
+commit cd6dead034f3c72aebd22afeb2aea6591ae6d94d
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ man page update
+
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 45342ea9fea29947d8d90260c7665ffbca612cce
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ parallelize doc gneration
+
+ 2 files changed, 16 insertions(+), 9 deletions(-)
+
+commit 585bf0e159c7839869cf3e458938dcc5fa2ceb81
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ xrandr update
+
+ 1 file changed, 1 insertion(+)
+
+commit 3a860b9babe93d455f68ef21436edf7470d375af
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add rotation field
+
+ 2 files changed, 7 insertions(+), 5 deletions(-)
+
+commit 269180df77f9ff953b07222e8ae790c7e7a8298e
+Merge: e85f11c a1afed8
+Author: Kelly Brazil
+Commit: GitHub
+
+ Merge pull request #223 from anekos/fix/support-rotated-devices
+
+ Fix/support rotated devices
+
+commit a1afed8d95e33fbbc618c7b5778a9faeea2f628f
+Author: anekos
+Commit: anekos
+
+ doc update
+
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit e39f150a216e4e184444dfc88a63e0f303e51631
+Author: anekos
+Commit: anekos
+
+ Support rotated devices
+
+ 3 files changed, 9 insertions(+), 4 deletions(-)
+
+commit e85f11c6fcad5461bae612dd5a945c20d300e59a
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ doc formatting
+
+ 4 files changed, 12 insertions(+), 12 deletions(-)
+
+commit 49a9d7b07e89696f2e022655d7256b7d6ad4bf7b
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ doc update
+
+ 3 files changed, 12 insertions(+), 8 deletions(-)
+
+commit a2ef9c429e4bb9f70d033511dce77ccdb9013971
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ allow duplicate keys
+
+ 4 files changed, 38 insertions(+), 8 deletions(-)
+
+commit d5e9074f1c8facb3f15b8c41a008917178626978
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ version bump
+
+ 3 files changed, 5 insertions(+), 2 deletions(-)
+
+commit 774699f085d97f22ae2dab0cf64d72aa1e1709f7
+Merge: 789f073 7138eef
+Author: Kelly Brazil
+Commit: GitHub
+
+ Merge pull request #220 from kellyjonbrazil/master
+
+ sync to dev
+
+commit 7138eef3d137bc64286d4af453d8d4e7b3f4408d
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ fix newline chars in doc
+
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+commit fad5e544aa9e57d31473190e196f59c616901207
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ formatting
+
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 64757e2cf55448bccfbbd60d31930ab3f59af21b
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ doc formatting
+
+ 2 files changed, 12 insertions(+), 12 deletions(-)
+
+commit e05be3f08beae1b600fc55a3a7b4e28163e15bc0
+Merge: ac61e9a 789f073
+Author: Kelly Brazil
+Commit: GitHub
+
+ Merge pull request #213 from kellyjonbrazil/dev
+
+ Dev v1.18.6
+
+commit 789f0735dfd63e728b8716d97cf0c6045ede5011
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ doc update
+
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 34bc7753174be28d6c1a00dadc662bc374e554c1
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ doc update
+
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 38de059a1bc285c8681086d9fb43d0d23ac01d49
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ doc update
+
+ 3 files changed, 9 insertions(+), 3 deletions(-)
+
+commit 304ae6268f4dff6e6f901628e7ff89db1d6e0767
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ minor optimization by changing the expression order
+
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit 978caf45221188a29c0e67147804f20f317c066d
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ minor optimization by reordering expressions
+
+ 1 file changed, 13 insertions(+), 13 deletions(-)
+
+commit 17df5bfcfc25f226a2976aa7ab8a80e4aaa915c3
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ cache _is_separator function
+
+ 2 files changed, 12 insertions(+), 2 deletions(-)
+
+commit 5e6a5068cff71b3b30525d0a12868bdf6551456c
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ allow iterables for simple table parser
+
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+commit 619de68a61be0117e635032347dde417d77c748c
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ formatting
+
+ 2 files changed, 8 insertions(+), 9 deletions(-)
+
+commit 6748c3cc91f90bddea3d07b8b30a049ee55eaf35
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ remove lines from corner detection and add rounded corners
+
+ 2 files changed, 65 insertions(+), 61 deletions(-)
+
+commit 0a462978b731770d1290187a502706c2322f5f91
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ fix for special characters in headers
+
+ 4 files changed, 101 insertions(+), 3 deletions(-)
+
+commit e66a82ff49b40a674f9ef373a12d59fc71bfa730
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ doc update
+
+ 3 files changed, 6 insertions(+), 5 deletions(-)
+
+commit f3aa797d96c8e2cef2124dbb2f49d1fadaee3fa2
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add more pretty table separators
+
+ 2 files changed, 69 insertions(+), 9 deletions(-)
+
+commit e5b478218c4ba3781afd085056dba888c3f6ae02
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add quiet=True to parse tests
+
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 35e0e9c32afbc5450c661bcb3a23904d135358ad
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ remove print statement
+
+ 1 file changed, 1 deletion(-)
+
+commit 17c3c2f029a0a47eb02d681567619d471b99949c
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add bold bar seperator and ANSI code tests
+
+ 4 files changed, 58 insertions(+), 2 deletions(-)
+
+commit cf83e6398b3314b233581eb313510872177de20a
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add fancy separators
+
+ 2 files changed, 7 insertions(+)
+
+commit 94e061b881e2ed28d2b462ad038e5ba77182b6c4
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add asciitable parser tests
+
+ 1 file changed, 275 insertions(+)
+
+commit 720480e39ce3cc2079d7f4f5bcff2725081fec34
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ doc update
+
+ 4 files changed, 10 insertions(+), 2 deletions(-)
+
+commit 82a63fe15922456853aa4597aa10a5a02b20bdef
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ doc update
+
+ 2 files changed, 6 insertions(+), 8 deletions(-)
+
+commit 9c1ec9940e68ce9848da20e81b8c0b7e35a215df
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ doc update
+
+ 4 files changed, 82 insertions(+), 14 deletions(-)
+
+commit f23f19da453a0f7bcf70e417a10f87e27571aa43
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ doc update
+
+ 5 files changed, 122 insertions(+), 9 deletions(-)
+
+commit aea2e1b0a9c6bb2a02a6e73889bb04e8f4f22588
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ fix tests so blank strings are now None
+
+ 1 file changed, 24 insertions(+), 24 deletions(-)
+
+commit 7d95d679bf4093ea77f30a1be55384b6dbf08341
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add asciitable parser
+
+ 2 files changed, 212 insertions(+), 1 deletion(-)
+
+commit b3b140066b74ee31dd1c460502caf2f26df321b6
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ doc update
+
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+commit b204c423c1b947c17cb251a5dd3c444cd71dd2c0
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ doc update
+
+ 4 files changed, 193 insertions(+), 15 deletions(-)
+
+commit d451c309bb0d8889dc09a698212bf01c2154a582
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ change multiple or statements to any()
+
+ 1 file changed, 11 insertions(+), 8 deletions(-)
+
+commit 01d53da68ed04b736934851137c59216ad02d8c8
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ remove debug print
+
+ 1 file changed, 1 deletion(-)
+
+commit 53dd05e52c329a15c30a756a36a165ac59ef8a14
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ fix rstrip and add tests
+
+ 2 files changed, 29 insertions(+), 1 deletion(-)
+
+commit ab564f5be8282f1c7ee2d602bcef398fdfd4570f
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add tests
+
+ 2 files changed, 237 insertions(+), 1 deletion(-)
+
+commit 00c39450f9878527b60545ad61c04cfb98f418dc
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ enhance type annotation
+
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f611d08b50219f4e573c1d1f0beae27583e76432
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ formatting
+
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 90e79b7df3a4d5b37835fdf1c2debc1bad0a40b9
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ formatting
+
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4eb2d725d5fe6f2cc7935c7dc891912cf7b8e940
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ formatting
+
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 51ae5ebcac7263ef2571c11975b275eff352bbc5
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ new streamlined parser
+
+ 1 file changed, 148 insertions(+), 175 deletions(-)
+
+commit 9ecbdb09162da4d563799aa93d422db85b2c324b
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ use generator instead of iterable in function return annotation
+
+ 8 files changed, 35 insertions(+), 30 deletions(-)
+
+commit b3a2886fd0af0cd06890f37f1edfc6890bb83e6c
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ formatting
+
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit ceacec0f462bd7c2d9e92ddb9029ccd71aef481c
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ remove errant os sep import
+
+ 1 file changed, 1 deletion(-)
+
+commit ff0f794b01395ed9b65fac75a6b07f0772d45a2d
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ working
+
+ 1 file changed, 32 insertions(+), 10 deletions(-)
+
+commit 70fafbf3f80f35c5db2c306978b2a488adad40bb
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ remove asciitable so tests pass for now
+
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 5a248a8fc58952a5eab3d4aac025d7422ba82d08
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add multiline asciitable parser
+
+ 1 file changed, 344 insertions(+)
+
+commit 4a3a4e10df8a552a4db3510640695f02b166dc40
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add asciitable and asciitable-m parsers
+
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+commit c27bd5ff39f21c6377e661d4d7de1200d2fdd72f
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ pad lines in sparse_table_parse and use str.isspace()
+
+ 1 file changed, 23 insertions(+), 16 deletions(-)
+
+commit f804c9627fb71341429ca80aec2887e23e0277db
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ copy input list so we don't mutate the caller's data
+
+ 1 file changed, 1 insertion(+)
+
+commit 3ab25d02f9dc248706aa1105e1766b2a84bc55a3
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ use _parser_is_streaming from lib
+
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 9e80fd2b97b9bfe38fdaa6acdf2e8ed26d34b49d
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ fallback if info and doc items don't exist
+
+ 2 files changed, 15 insertions(+), 11 deletions(-)
+
+commit ff9527a098a94c996641fb3fe2f905c8ae5e3063
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ import cleanup and use all_parser_info in parsers_text
+
+ 1 file changed, 9 insertions(+), 13 deletions(-)
+
+commit 7dac2f8dc3baf619105e3c6ca4d3e45300b86287
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ doc update
+
+ 3 files changed, 23 insertions(+), 9 deletions(-)
+
+commit 32e4d55e86c3e7d94488ec69f13a4f6400c4cef3
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ use parser_info for help_doc
+
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit f9a9062147256d0949457cc7fde838f87202524d
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add documentation argument to parser_info and all_parser_info
+
+ 3 files changed, 27 insertions(+), 10 deletions(-)
+
+commit 89e5919796f7da585285901dca461aae21336415
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add -A to second example
+
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit e5f5b2591d8ac3abeb9571688c7fb8de34d647f4
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ changelog update
+
+ 1 file changed, 2 insertions(+)
+
+commit 77c667eec045daff5cbd062fe9d6e83f237727e5
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ ubuntu fixes
+
+ 9 files changed, 67 insertions(+), 6 deletions(-)
+
+commit b257ce8c2fe6825fe435b4d04b4184091030db10
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add mpstat_s tests
+
+ 4 files changed, 65 insertions(+)
+
+commit c693c868cacbcd81f44fd383719723dd7a137c87
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add mpstat streaming parser
+
+ 7 files changed, 352 insertions(+)
+
+commit 6f98b27a05d6e1f7571a97316b193f096521b959
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add mpstat tests
+
+ 7 files changed, 168 insertions(+)
+
+commit d7efd25d88a8f489564ce48223845a16e4ab1cc7
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add mpstat to docs
+
+ 4 files changed, 207 insertions(+), 1 deletion(-)
+
+commit 2cddb1f0bb497be0be071cdcb56bf49d2dafc920
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ working mpstat
+
+ 1 file changed, 94 insertions(+), 15 deletions(-)
+
+commit ae1c331595dd857d8ae7f8cf93daee1b26be2c3e
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ initial working version
+
+ 1 file changed, 30 insertions(+), 5 deletions(-)
+
+commit bc97052ed4ee3bf3f25127968139f2e89a659fe3
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ initial add mpstat parser
+
+ 3 files changed, 109 insertions(+)
+
+commit 6c3e0e2aa0e8cc375d9f7473930b18957d33f1aa
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ formatting
+
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit dd052e01469e9e3328f7326d3591365a8e7322eb
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add underscores to column examples
+
+ 2 files changed, 26 insertions(+), 24 deletions(-)
+
+commit 54e8f58145f6c4332fbd375d112259ea7abb2d72
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add table result examples
+
+ 2 files changed, 28 insertions(+), 2 deletions(-)
+
+commit def7aa5764e69cd0cf2c5b70aa62c62023f76c9c
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ formatting
+
+ 2 files changed, 16 insertions(+), 16 deletions(-)
+
+commit 6986c74f6dceca907ea2e469a332deeb093a122c
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ remove direct parser module example from doc
+
+ 169 files changed, 34 insertions(+), 837 deletions(-)
+
+commit b784db404d0569a4c630eb124b37b0b1d0846453
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ streaming doc formatting update
+
+ 17 files changed, 87 insertions(+), 166 deletions(-)
+
+commit 8aee4517bb4c2eebdd9873f7eb0827cd33b85519
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ doc formatting
+
+ 2 files changed, 12 insertions(+), 26 deletions(-)
+
+commit a5fb8fbf94b3b80bef82f078ad6582260b13e374
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ streaming doc update
+
+ 17 files changed, 164 insertions(+), 148 deletions(-)
+
+commit b9365e2ac28c3eacf53bc101857f7f1d7286ec20
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add pidstat-s tests
+
+ 4 files changed, 74 insertions(+)
+
+commit 696338c1a3d462afbe677a6f2ebe08d06ef4046a
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add streaming test template
+
+ 1 file changed, 38 insertions(+)
+
+commit 4f0616190bb842411353d65650b78a65d8cbdc28
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ doc update
+
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 3278cb0de301ee542b1fe8245a6c359193373b6b
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add type hints
+
+ 2 files changed, 15 insertions(+), 10 deletions(-)
+
+commit 4fc04256a567c502a88ac8a1bd189746387c93f1
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ rollback noReturn to tuple
+
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+commit e4ae0fea63c0386c1b3239607fd6a58738d23633
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ fix type annotation
+
+ 5 files changed, 8 insertions(+), 8 deletions(-)
+
+commit d3727ea0906d6167aa48c340519242b010469d98
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ doc update
+
+ 4 files changed, 99 insertions(+), 1 deletion(-)
+
+commit 0d13909cf63d14008607c5640d074ab4073115e5
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add pidstat-s parser
+
+ 2 files changed, 168 insertions(+)
+
+commit c52ca20e285895d2afb685a2a5ca275de7901033
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ fix comment
+
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 21f27f26c81c75234221a5193c7d3903323e2032
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add pidstat tests
+
+ 4 files changed, 72 insertions(+)
+
+commit 5e7a87f39782d12070a895440ff541800df91b9c
+Author: Kelly Brazil
+Commit: Kelly Brazil
+
+ add test template
+
+ 1 file changed, 35 insertions(+)
+
+commit 845d763829acd03fff1d2fad6e9691f04bd1a2aa
+Author: Kelly Brazil
+Commit: Kelly Brazil