1
0
mirror of https://github.com/kellyjonbrazil/jc.git synced 2025-07-13 01:20:24 +02:00
This commit is contained in:
Kelly Brazil
2021-09-24 09:16:44 -07:00
parent 486282b985
commit bbed9e274b

View File

@ -174,11 +174,12 @@ def _error_type(line):
if err_type in line: if err_type in line:
return code return code
return None
def _bsd_parse(line, s): def _bsd_parse(line, s):
output_line = {} output_line = {}
if line.startswith('PING '): if line.startswith('PING '):
s.destination_ip = line.split()[2].lstrip('(').rstrip(':').rstrip(')') s.destination_ip = line.split()[2].lstrip('(').rstrip(':').rstrip(')')
s.sent_bytes = line.split()[3] s.sent_bytes = line.split()[3]
@ -204,14 +205,12 @@ def _bsd_parse(line, s):
s.duplicates = line.split()[6].lstrip('+') s.duplicates = line.split()[6].lstrip('+')
return None return None
else:
s.packets_transmitted = line.split()[0] s.packets_transmitted = line.split()[0]
s.packets_received = line.split()[3] s.packets_received = line.split()[3]
s.packet_loss_percent = line.split()[6].rstrip('%') s.packet_loss_percent = line.split()[6].rstrip('%')
s.duplicates = '0' s.duplicates = '0'
return None return None
else:
split_line = line.split(' = ')[1] split_line = line.split(' = ')[1]
split_line = split_line.split('/') split_line = split_line.split('/')
@ -233,7 +232,7 @@ def _bsd_parse(line, s):
return output_line return output_line
# ping response lines # ping response lines
else:
# ipv4 lines # ipv4 lines
if not _ipv6_in(line): if not _ipv6_in(line):
@ -266,7 +265,7 @@ def _bsd_parse(line, s):
return output_line return output_line
# normal response # normal response
elif ' bytes from ' in line: if ' bytes from ' in line:
line = line.replace(':', ' ').replace('=', ' ') line = line.replace(':', ' ').replace('=', ' ')
output_line = { output_line = {
@ -318,7 +317,7 @@ def _linux_parse(line, s):
output_line = {} output_line = {}
if line.startswith('PING '): if line.startswith('PING '):
s.ipv4 = True if 'bytes of data' in line else False s.ipv4 = 'bytes of data' in line
if s.ipv4 and line[5] not in string.digits: if s.ipv4 and line[5] not in string.digits:
s.hostname = True s.hostname = True
@ -356,19 +355,15 @@ def _linux_parse(line, s):
s.packet_loss_percent = line.split()[7].rstrip('%') s.packet_loss_percent = line.split()[7].rstrip('%')
s.duplicates = line.split()[5].lstrip('+') s.duplicates = line.split()[5].lstrip('+')
s.time_ms = line.split()[11].replace('ms', '') s.time_ms = line.split()[11].replace('ms', '')
return None return None
else:
s.packets_transmitted = line.split()[0] s.packets_transmitted = line.split()[0]
s.packets_received = line.split()[3] s.packets_received = line.split()[3]
s.packet_loss_percent = line.split()[5].rstrip('%') s.packet_loss_percent = line.split()[5].rstrip('%')
s.duplicates = '0' s.duplicates = '0'
s.time_ms = line.split()[9].replace('ms', '') s.time_ms = line.split()[9].replace('ms', '')
return None return None
else:
split_line = line.split(' = ')[1] split_line = line.split(' = ')[1]
split_line = split_line.split('/') split_line = split_line.split('/')
output_line = { output_line = {
@ -390,7 +385,7 @@ def _linux_parse(line, s):
return output_line return output_line
# ping response lines # ping response lines
else:
# request timeout # request timeout
if 'no answer yet for icmp_seq=' in line: if 'no answer yet for icmp_seq=' in line:
timestamp = False timestamp = False
@ -413,7 +408,7 @@ def _linux_parse(line, s):
return output_line return output_line
# normal responses # normal responses
elif ' bytes from ' in line: if ' bytes from ' in line:
line = line.replace('(', ' ').replace(')', ' ').replace('=', ' ') line = line.replace('(', ' ').replace(')', ' ').replace('=', ' ')
@ -444,7 +439,7 @@ def _linux_parse(line, s):
'icmp_seq': line.split()[iseq], 'icmp_seq': line.split()[iseq],
'ttl': line.split()[t2l], 'ttl': line.split()[t2l],
'time_ms': line.split()[tms], 'time_ms': line.split()[tms],
'duplicate': True if 'DUP!' in line else False 'duplicate': 'DUP!' in line
} }
return output_line return output_line