def parse(self, ping_message):
headline, packet_info_line, body_line_list = self._preprocess_parse(
line_list=ping_message)
packet_pattern = (
pp.Literal("Packets: Sent = ") +
pp.Word(pp.nums) +
pp.Literal(", Received = ") +
pp.Word(pp.nums)
)
self._destination = self._parse_destination(headline)
parse_list = packet_pattern.parseString(_to_unicode(packet_info_line))
self._packet_transmit = int(parse_list[1])
self._packet_receive = int(parse_list[3])
try:
rtt_line = body_line_list[2].strip()
except IndexError:
return
if typepy.is_null_string(rtt_line):
return
rtt_pattern = (
pp.Literal("Minimum = ") +
pp.Word(pp.nums) +
pp.Literal("ms, Maximum = ") +
pp.Word(pp.nums) +
pp.Literal("ms, Average = ") +
pp.Word(pp.nums)
)
parse_list = rtt_pattern.parseString(_to_unicode(rtt_line))
self._rtt_min = float(parse_list[1])
self._rtt_avg = float(parse_list[5])
self._rtt_max = float(parse_list[3])
评论列表
文章目录