mirror of
https://github.com/kellyjonbrazil/jc.git
synced 2025-06-19 00:17:51 +02:00
clean up output if sections are blank
This commit is contained in:
@ -139,7 +139,8 @@ def _process(proc_data):
|
|||||||
new_port_ranges.append(port_range_obj)
|
new_port_ranges.append(port_range_obj)
|
||||||
state = 'findstart'
|
state = 'findstart'
|
||||||
|
|
||||||
proc_data['normalized_' + protocol + '_ranges'] = new_port_ranges
|
if new_port_ranges:
|
||||||
|
proc_data['normalized_' + protocol + '_ranges'] = new_port_ranges
|
||||||
|
|
||||||
return proc_data
|
return proc_data
|
||||||
|
|
||||||
@ -147,7 +148,7 @@ def _process(proc_data):
|
|||||||
def _parse_port_list(data, port_list=None):
|
def _parse_port_list(data, port_list=None):
|
||||||
"""return a list of integers"""
|
"""return a list of integers"""
|
||||||
# 1,2,3,4,5,6,7,8,9,10,9,30,80:90,8080:8090
|
# 1,2,3,4,5,6,7,8,9,10,9,30,80:90,8080:8090
|
||||||
# overlapping and repeated port numbers are allowed, so use a set to correct
|
# overlapping and repeated port numbers are allowed
|
||||||
|
|
||||||
if port_list is None:
|
if port_list is None:
|
||||||
port_list = []
|
port_list = []
|
||||||
@ -162,7 +163,7 @@ def _parse_port_list(data, port_list=None):
|
|||||||
def _parse_port_range(data, range_list=None):
|
def _parse_port_range(data, range_list=None):
|
||||||
"""return a list of dictionaries"""
|
"""return a list of dictionaries"""
|
||||||
# 1,2,3,4,5,6,7,8,9,10,9,30,80:90,8080:8090
|
# 1,2,3,4,5,6,7,8,9,10,9,30,80:90,8080:8090
|
||||||
# overlapping ports are allowed
|
# overlapping port ranges are allowed
|
||||||
|
|
||||||
if range_list is None:
|
if range_list is None:
|
||||||
range_list = []
|
range_list = []
|
||||||
@ -226,7 +227,7 @@ def parse(data, raw=False, quiet=False):
|
|||||||
raw_output['description'] = line.split(': ')[1]
|
raw_output['description'] = line.split(': ')[1]
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if line.startswith('Ports:'):
|
if line.startswith('Port'):
|
||||||
ports = True
|
ports = True
|
||||||
continue
|
continue
|
||||||
|
|
||||||
@ -234,11 +235,22 @@ def parse(data, raw=False, quiet=False):
|
|||||||
line_list = line.rsplit('/', maxsplit=1)
|
line_list = line.rsplit('/', maxsplit=1)
|
||||||
if len(line_list) == 2:
|
if len(line_list) == 2:
|
||||||
if line_list[1] == 'tcp':
|
if line_list[1] == 'tcp':
|
||||||
raw_output['tcp_list'] = _parse_port_list(line_list[0])
|
prot_list = _parse_port_list(line_list[0])
|
||||||
raw_output['tcp_ranges'] = _parse_port_range(line_list[0])
|
if prot_list:
|
||||||
|
raw_output['tcp_list'] = prot_list
|
||||||
|
|
||||||
|
prot_range = _parse_port_range(line_list[0])
|
||||||
|
if prot_range:
|
||||||
|
raw_output['tcp_ranges'] = prot_range
|
||||||
|
|
||||||
elif line_list[1] == 'udp':
|
elif line_list[1] == 'udp':
|
||||||
raw_output['udp_list'] = _parse_port_list(line_list[0])
|
prot_list = _parse_port_list(line_list[0])
|
||||||
raw_output['udp_ranges'] = _parse_port_range(line_list[0])
|
if prot_list:
|
||||||
|
raw_output['udp_list'] = prot_list
|
||||||
|
|
||||||
|
prot_range = _parse_port_range(line_list[0])
|
||||||
|
if prot_range:
|
||||||
|
raw_output['udp_ranges'] = prot_range
|
||||||
|
|
||||||
# 'any' case
|
# 'any' case
|
||||||
else:
|
else:
|
||||||
|
Reference in New Issue
Block a user