From b3996cb4dfed908d71b292dc0b0136c6675351e6 Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Fri, 25 Oct 2019 09:54:42 -0700 Subject: [PATCH] change MAJ:MIN key to MAJ_MIN --- README.md | 10 +++++----- jc/parsers/lsblk.py | 14 +++++++++----- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 8a6862c5..4f67814e 100755 --- a/README.md +++ b/README.md @@ -650,7 +650,7 @@ $ lsblk | jc --lsblk -p [ { "NAME": "loop0", - "MAJ:MIN": "7:0", + "MAJ_MIN": "7:0", "RM": "0", "SIZE": "54.5M", "RO": "1", @@ -659,7 +659,7 @@ $ lsblk | jc --lsblk -p }, { "NAME": "sda", - "MAJ:MIN": "8:0", + "MAJ_MIN": "8:0", "RM": "0", "SIZE": "20G", "RO": "0", @@ -667,7 +667,7 @@ $ lsblk | jc --lsblk -p }, { "NAME": "sda1", - "MAJ:MIN": "8:1", + "MAJ_MIN": "8:1", "RM": "0", "SIZE": "1M", "RO": "0", @@ -675,7 +675,7 @@ $ lsblk | jc --lsblk -p }, { "NAME": "sda2", - "MAJ:MIN": "8:2", + "MAJ_MIN": "8:2", "RM": "0", "SIZE": "20G", "RO": "0", @@ -684,7 +684,7 @@ $ lsblk | jc --lsblk -p }, { "NAME": "sr0", - "MAJ:MIN": "11:0", + "MAJ_MIN": "11:0", "RM": "1", "SIZE": "64.8M", "RO": "0", diff --git a/jc/parsers/lsblk.py b/jc/parsers/lsblk.py index eb78975f..0d02fef3 100644 --- a/jc/parsers/lsblk.py +++ b/jc/parsers/lsblk.py @@ -9,7 +9,7 @@ $ lsblk | jc --lsblk -p [ { "NAME": "loop0", - "MAJ:MIN": "7:0", + "MAJ_MIN": "7:0", "RM": "0", "SIZE": "54.5M", "RO": "1", @@ -18,7 +18,7 @@ $ lsblk | jc --lsblk -p }, { "NAME": "sda", - "MAJ:MIN": "8:0", + "MAJ_MIN": "8:0", "RM": "0", "SIZE": "20G", "RO": "0", @@ -26,7 +26,7 @@ $ lsblk | jc --lsblk -p }, { "NAME": "sda1", - "MAJ:MIN": "8:1", + "MAJ_MIN": "8:1", "RM": "0", "SIZE": "1M", "RO": "0", @@ -34,7 +34,7 @@ $ lsblk | jc --lsblk -p }, { "NAME": "sda2", - "MAJ:MIN": "8:2", + "MAJ_MIN": "8:2", "RM": "0", "SIZE": "20G", "RO": "0", @@ -43,7 +43,7 @@ $ lsblk | jc --lsblk -p }, { "NAME": "sr0", - "MAJ:MIN": "11:0", + "MAJ_MIN": "11:0", "RM": "1", "SIZE": "64.8M", "RO": "0", @@ -61,6 +61,10 @@ def parse(data): cleandata = data.splitlines() headers = [h for h in ' '.join(cleandata[0].strip().split()).split() if h] + # clean up 'MAJ:MIN' header + # even though colon in a key is valid json, it can make things difficult + headers = ['MAJ_MIN' if x == 'MAJ:MIN' else x for x in headers] + raw_data = map(lambda s: s.strip().split(None, len(headers) - 1), cleandata[1:]) output = [dict(zip(headers, r)) for r in raw_data]