diff --git a/README.md b/README.md index 24e596bb..ea75ae80 100755 --- a/README.md +++ b/README.md @@ -677,16 +677,16 @@ $ id | jc --id -p { "uid": { "id": 1000, - "name": "kbrazil" + "name": "joeuser" }, "gid": { "id": 1000, - "name": "kbrazil" + "name": "joeuser" }, "groups": [ { "id": 1000, - "name": "kbrazil" + "name": "joeuser" }, { "id": 10, diff --git a/docgen.sh b/docgen.sh index e3bb0620..149a671a 100755 --- a/docgen.sh +++ b/docgen.sh @@ -15,6 +15,7 @@ pydocmd simple jc.parsers.free+ > ../docs/parsers/free.md pydocmd simple jc.parsers.fstab+ > ../docs/parsers/fstab.md pydocmd simple jc.parsers.history+ > ../docs/parsers/history.md pydocmd simple jc.parsers.hosts+ > ../docs/parsers/hosts.md +pydocmd simple jc.parsers.id+ > ../docs/parsers/id.md pydocmd simple jc.parsers.ifconfig+ > ../docs/parsers/ifconfig.md pydocmd simple jc.parsers.ini+ > ../docs/parsers/ini.md pydocmd simple jc.parsers.iptables+ > ../docs/parsers/iptables.md diff --git a/docs/parsers/id.md b/docs/parsers/id.md new file mode 100644 index 00000000..66775e46 --- /dev/null +++ b/docs/parsers/id.md @@ -0,0 +1,133 @@ +# jc.parsers.id +jc - JSON CLI output utility id Parser + +Usage: + + specify --id as the first argument if the piped input is coming from id + +Compatibility: + + 'linux', 'darwin', 'aix', 'freebsd' + +Examples: + + $ id | jc --id -p + { + "uid": { + "id": 1000, + "name": "joeuser" + }, + "gid": { + "id": 1000, + "name": "joeuser" + }, + "groups": [ + { + "id": 1000, + "name": "joeuser" + }, + { + "id": 10, + "name": "wheel" + } + ], + "context": { + "user": "unconfined_u", + "role": "unconfined_r", + "type": "unconfined_t", + "level": "s0-s0:c0.c1023" + } + } + + $ id | jc --id -p -r + { + "uid": { + "id": "1000", + "name": "joeuser" + }, + "gid": { + "id": "1000", + "name": "joeuser" + }, + "groups": [ + { + "id": "1000", + "name": "joeuser" + }, + { + "id": "10", + "name": "wheel" + } + ], + "context": { + "user": "unconfined_u", + "role": "unconfined_r", + "type": "unconfined_t", + "level": "s0-s0:c0.c1023" + } + } + +## info +```python +info(self, /, *args, **kwargs) +``` + +## process +```python +process(proc_data) +``` + +Final processing to conform to the schema. + +Parameters: + + proc_data: (dictionary) raw structured data to process + +Returns: + + Dictionary. Structured data with the following schema: + + { + "uid": { + "id": integer, + "name": string + }, + "gid": { + "id": integer, + "name": string + }, + "groups": [ + { + "id": integer, + "name": string + }, + { + "id": integer, + "name": string + } + ], + "context": { + "user": string, + "role": string, + "type": string, + "level": string + } + } + +## parse +```python +parse(data, raw=False, quiet=False) +``` + +Main text parsing function + +Parameters: + + data: (string) text data to parse + raw: (boolean) output preprocessed JSON if True + quiet: (boolean) suppress warning messages if True + +Returns: + + List of dictionaries. Raw or processed structured data. + diff --git a/jc/parsers/id.py b/jc/parsers/id.py index 6a844285..42b7ff7c 100644 --- a/jc/parsers/id.py +++ b/jc/parsers/id.py @@ -14,16 +14,16 @@ Examples: { "uid": { "id": 1000, - "name": "kbrazil" + "name": "joeuser" }, "gid": { "id": 1000, - "name": "kbrazil" + "name": "joeuser" }, "groups": [ { "id": 1000, - "name": "kbrazil" + "name": "joeuser" }, { "id": 10, @@ -42,16 +42,16 @@ Examples: { "uid": { "id": "1000", - "name": "kbrazil" + "name": "joeuser" }, "gid": { "id": "1000", - "name": "kbrazil" + "name": "joeuser" }, "groups": [ { "id": "1000", - "name": "kbrazil" + "name": "joeuser" }, { "id": "10",