1
0
mirror of https://github.com/kellyjonbrazil/jc.git synced 2025-07-15 01:24:29 +02:00

add OSX support

This commit is contained in:
Kelly Brazil
2019-12-16 11:01:43 -08:00
parent 4283333948
commit 83f35256ae

View File

@ -10,7 +10,7 @@ Limitations:
Compatibility:
'linux'
'linux', 'darwin'
Example:
@ -30,13 +30,13 @@ import jc.utils
class info():
version = '1.0'
version = '1.1'
description = 'uname -a parser'
author = 'Kelly Brazil'
author_email = 'kellyjonbrazil@gmail.com'
# compatible options: linux, darwin, cygwin, win32, aix, freebsd
compatible = ['linux']
compatible = ['linux', 'darwin']
def process(proc_data):
@ -84,22 +84,33 @@ def parse(data, raw=False, quiet=False):
jc.utils.compatibility(__name__, info.compatible)
raw_output = {}
parsed_line = data.split(maxsplit=3)
split_line = data.split()
if len(parsed_line) > 1:
if len(split_line) > 1:
# check for OSX output
if data.startswith('Darwin'):
parsed_line = data.split()
raw_output['machine'] = parsed_line.pop(-1)
raw_output['kernel_name'] = parsed_line.pop(0)
raw_output['node_name'] = parsed_line.pop(0)
raw_output['kernel_release'] = parsed_line.pop(0)
raw_output['kernel_version'] = ' '.join(parsed_line)
raw_output['kernel_name'] = parsed_line.pop(0)
raw_output['node_name'] = parsed_line.pop(0)
raw_output['kernel_release'] = parsed_line.pop(0)
# otherwise use linux parser
else:
parsed_line = data.split(maxsplit=3)
raw_output['kernel_name'] = parsed_line.pop(0)
raw_output['node_name'] = parsed_line.pop(0)
raw_output['kernel_release'] = parsed_line.pop(0)
parsed_line = parsed_line[-1].rsplit(maxsplit=4)
parsed_line = parsed_line[-1].rsplit(maxsplit=4)
raw_output['operating_system'] = parsed_line.pop(-1)
raw_output['hardware_platform'] = parsed_line.pop(-1)
raw_output['processor'] = parsed_line.pop(-1)
raw_output['machine'] = parsed_line.pop(-1)
raw_output['operating_system'] = parsed_line.pop(-1)
raw_output['hardware_platform'] = parsed_line.pop(-1)
raw_output['processor'] = parsed_line.pop(-1)
raw_output['machine'] = parsed_line.pop(-1)
raw_output['kernel_version'] = parsed_line.pop(0)
raw_output['kernel_version'] = parsed_line.pop(0)
if raw:
return raw_output