From 84f0246b2de501e77927b0fba878cf1de6569d30 Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Thu, 14 Sep 2023 18:15:28 -0700 Subject: [PATCH] move int/float conversions to _process --- docs/parsers/ping_s.md | 4 +-- jc/parsers/ping.py | 24 +++++++++--------- jc/parsers/ping_s.py | 26 ++++++++++---------- tests/fixtures/pi/ping-ip-O-D-streaming.json | 2 +- tests/fixtures/pi/ping-ip-O-streaming.json | 2 +- 5 files changed, 29 insertions(+), 29 deletions(-) diff --git a/docs/parsers/ping_s.md b/docs/parsers/ping_s.md index 8fd9ff6f..d240cf5d 100644 --- a/docs/parsers/ping_s.md +++ b/docs/parsers/ping_s.md @@ -45,8 +45,8 @@ Schema: "ttl": integer, "time_ms": float, "duplicate": boolean, - "packets_transmitted": integer, # null if not set - "packets_received": integer, # null if not set + "packets_transmitted": integer, + "packets_received": integer, "packet_loss_percent": float, "duplicates": integer, "errors": integer, # null if not set diff --git a/jc/parsers/ping.py b/jc/parsers/ping.py index 86415bb6..3d623445 100644 --- a/jc/parsers/ping.py +++ b/jc/parsers/ping.py @@ -326,45 +326,45 @@ def _linux_parse(data): if footer: # Init in zero, to keep compatibility with previous behaviour if 'duplicates' not in raw_output: - raw_output['duplicates'] = 0 + raw_output['duplicates'] = '0' # # See: https://github.com/dgibson/iputils/blob/master/ping_common.c#L995 # m = re.search(r'(\d+) packets transmitted', line) if m: - raw_output['packets_transmitted'] = int(m.group(1)) + raw_output['packets_transmitted'] = m.group(1) m = re.search(r'(\d+) received,', line) if m: - raw_output['packets_received'] = int(m.group(1)) + raw_output['packets_received'] = m.group(1) m = re.search(r'[+](\d+) duplicates', line) if m: - raw_output['duplicates'] = int(m.group(1)) + raw_output['duplicates'] = m.group(1) m = re.search(r'[+](\d+) corrupted', line) if m: - raw_output['corrupted'] = int(m.group(1)) + raw_output['corrupted'] = m.group(1) m = re.search(r'[+](\d+) errors', line) if m: - raw_output['errors'] = int(m.group(1)) + raw_output['errors'] = m.group(1) m = re.search(r'([\d\.]+)% packet loss', line) if m: - raw_output['packet_loss_percent'] = float(m.group(1)) + raw_output['packet_loss_percent'] = m.group(1) m = re.search(r'time (\d+)ms', line) if m: - raw_output['time_ms'] = int(m.group(1)) + raw_output['time_ms'] = m.group(1) m = re.search(r'rtt min\/avg\/max\/mdev += +([\d\.]+)\/([\d\.]+)\/([\d\.]+)\/([\d\.]+) ms', line) if m: - raw_output['round_trip_ms_min'] = float(m.group(1)) - raw_output['round_trip_ms_avg'] = float(m.group(2)) - raw_output['round_trip_ms_max'] = float(m.group(3)) - raw_output['round_trip_ms_stddev'] = float(m.group(4)) + raw_output['round_trip_ms_min'] = m.group(1) + raw_output['round_trip_ms_avg'] = m.group(2) + raw_output['round_trip_ms_max'] = m.group(3) + raw_output['round_trip_ms_stddev'] = m.group(4) # ping response lines else: diff --git a/jc/parsers/ping_s.py b/jc/parsers/ping_s.py index 1d5ae719..639fa83a 100644 --- a/jc/parsers/ping_s.py +++ b/jc/parsers/ping_s.py @@ -40,8 +40,8 @@ Schema: "ttl": integer, "time_ms": float, "duplicate": boolean, - "packets_transmitted": integer, # null if not set - "packets_received": integer, # null if not set + "packets_transmitted": integer, + "packets_received": integer, "packet_loss_percent": float, "duplicates": integer, "errors": integer, # null if not set @@ -384,38 +384,38 @@ def _linux_parse(line, s): # m = re.search(r'(\d+) packets transmitted', line) if m: - s.packets_transmitted = int(m.group(1)) + s.packets_transmitted = m.group(1) m = re.search(r'(\d+) received,', line) if m: - s.packets_received = int(m.group(1)) + s.packets_received = m.group(1) m = re.search(r'[+](\d+) duplicates', line) if m: - s.duplicates = int(m.group(1)) + s.duplicates = m.group(1) m = re.search(r'[+](\d+) corrupted', line) if m: - s.corrupted = int(m.group(1)) + s.corrupted = m.group(1) m = re.search(r'[+](\d+) errors', line) if m: - s.errors = int(m.group(1)) + s.errors = m.group(1) m = re.search(r'([\d\.]+)% packet loss', line) if m: - s.packet_loss_percent = float(m.group(1)) + s.packet_loss_percent = m.group(1) m = re.search(r'time (\d+)ms', line) if m: - s.time_ms = int(m.group(1)) + s.time_ms = m.group(1) m = re.search(r'rtt min\/avg\/max\/mdev += +([\d\.]+)\/([\d\.]+)\/([\d\.]+)\/([\d\.]+) ms', line) if m: - s.round_trip_ms_min = float(m.group(1)) - s.round_trip_ms_avg = float(m.group(2)) - s.round_trip_ms_max = float(m.group(3)) - s.round_trip_ms_stddev = float(m.group(4)) + s.round_trip_ms_min = m.group(1) + s.round_trip_ms_avg = m.group(2) + s.round_trip_ms_max = m.group(3) + s.round_trip_ms_stddev = m.group(4) output_line = { 'type': 'summary', diff --git a/tests/fixtures/pi/ping-ip-O-D-streaming.json b/tests/fixtures/pi/ping-ip-O-D-streaming.json index 8a0b66f5..243799c6 100644 --- a/tests/fixtures/pi/ping-ip-O-D-streaming.json +++ b/tests/fixtures/pi/ping-ip-O-D-streaming.json @@ -1 +1 @@ -[{"type":"timeout","destination_ip":"192.168.120.164","sent_bytes":56,"pattern":null,"timestamp":1596585008.591169,"icmp_seq":1},{"type":"timeout","destination_ip":"192.168.120.164","sent_bytes":56,"pattern":null,"timestamp":1596585009.631169,"icmp_seq":2},{"type":"timeout","destination_ip":"192.168.120.164","sent_bytes":56,"pattern":null,"timestamp":1596585010.671173,"icmp_seq":3},{"type":"timeout","destination_ip":"192.168.120.164","sent_bytes":56,"pattern":null,"timestamp":1596585011.711167,"icmp_seq":4},{"type":"summary","destination_ip":"192.168.120.164","sent_bytes":56,"pattern":null,"packets_transmitted":5,"packets_received":null,"packet_loss_percent":100.0,"duplicates":0,"errors":null,"corrupted":null,"time_ms":4154.0,"round_trip_ms_min":null,"round_trip_ms_avg":null,"round_trip_ms_max":null,"round_trip_ms_stddev":null}] +[{"type":"timeout","destination_ip":"192.168.120.164","sent_bytes":56,"pattern":null,"timestamp":1596585008.591169,"icmp_seq":1},{"type":"timeout","destination_ip":"192.168.120.164","sent_bytes":56,"pattern":null,"timestamp":1596585009.631169,"icmp_seq":2},{"type":"timeout","destination_ip":"192.168.120.164","sent_bytes":56,"pattern":null,"timestamp":1596585010.671173,"icmp_seq":3},{"type":"timeout","destination_ip":"192.168.120.164","sent_bytes":56,"pattern":null,"timestamp":1596585011.711167,"icmp_seq":4},{"type":"summary","destination_ip":"192.168.120.164","sent_bytes":56,"pattern":null,"packets_transmitted":5,"packets_received":0,"packet_loss_percent":100.0,"duplicates":0,"errors":null,"corrupted":null,"time_ms":4154.0,"round_trip_ms_min":null,"round_trip_ms_avg":null,"round_trip_ms_max":null,"round_trip_ms_stddev":null}] diff --git a/tests/fixtures/pi/ping-ip-O-streaming.json b/tests/fixtures/pi/ping-ip-O-streaming.json index 02726a3e..379066e5 100644 --- a/tests/fixtures/pi/ping-ip-O-streaming.json +++ b/tests/fixtures/pi/ping-ip-O-streaming.json @@ -1 +1 @@ -[{"type":"timeout","destination_ip":"192.168.120.164","sent_bytes":56,"pattern":null,"timestamp":null,"icmp_seq":1},{"type":"timeout","destination_ip":"192.168.120.164","sent_bytes":56,"pattern":null,"timestamp":null,"icmp_seq":2},{"type":"timeout","destination_ip":"192.168.120.164","sent_bytes":56,"pattern":null,"timestamp":null,"icmp_seq":3},{"type":"timeout","destination_ip":"192.168.120.164","sent_bytes":56,"pattern":null,"timestamp":null,"icmp_seq":4},{"type":"summary","destination_ip":"192.168.120.164","sent_bytes":56,"pattern":null,"packets_transmitted":5,"packets_received":null,"packet_loss_percent":100.0,"duplicates":0,"errors":null,"corrupted":null,"time_ms":4149.0,"round_trip_ms_min":null,"round_trip_ms_avg":null,"round_trip_ms_max":null,"round_trip_ms_stddev":null}] +[{"type":"timeout","destination_ip":"192.168.120.164","sent_bytes":56,"pattern":null,"timestamp":null,"icmp_seq":1},{"type":"timeout","destination_ip":"192.168.120.164","sent_bytes":56,"pattern":null,"timestamp":null,"icmp_seq":2},{"type":"timeout","destination_ip":"192.168.120.164","sent_bytes":56,"pattern":null,"timestamp":null,"icmp_seq":3},{"type":"timeout","destination_ip":"192.168.120.164","sent_bytes":56,"pattern":null,"timestamp":null,"icmp_seq":4},{"type":"summary","destination_ip":"192.168.120.164","sent_bytes":56,"pattern":null,"packets_transmitted":5,"packets_received":0,"packet_loss_percent":100.0,"duplicates":0,"errors":null,"corrupted":null,"time_ms":4149.0,"round_trip_ms_min":null,"round_trip_ms_avg":null,"round_trip_ms_max":null,"round_trip_ms_stddev":null}]