def _parse_probe(self, parts, last_probe=None): """Internal helper, parses the next probe's results from a line.""" try: probe = Probe() if last_probe is None else last_probe.clone() tok1 = parts.pop(0) if tok1 == '*': return probe tok2 = parts.pop(0) if tok2 == 'ms': probe.rtt = float(tok1) if len(parts) > 0 and parts[0].startswith('!'): probe.anno = parts.pop(0) else: probe.name = tok1 probe.ipaddr = tok2[1:][:-1] probe.rtt = float(parts.pop(0)) parts.pop(0) # Drop "ms" if len(parts) > 0 and parts[0].startswith('!'): probe.anno = parts.pop(0) #Add group information for probe probe.group = getip.get_ip6('confine') return probe except (IndexError, ValueError): return None
def get_probe_json(self): probe_result = [] #add itself as the first hop and continue myself = Probe() myself.ipaddr = getip.get_ip6('confine') myself.group = myself.ipaddr myself.name = getname.get_name_from_API() probe_result.append(myself.json()) for hop in self.hops: for probe in hop.probes: if probe.ipaddr: #print probe.ipaddr probe_result.append(probe.json()) return probe_result
def get_inter_node_trace(): probe=[] nodelist = constants.nodes #First element in the List is always Self!!! ipaddr = getip.get_ip6('confine') group = ipaddr name = getname.get_name_from_API() probe.append({'IP Address':ipaddr,'Name':name.encode('utf8'), 'Status':True,'Loss':None,'Min':None,'Avg':None,'Max':None}) for nodes in nodelist: ping_info = ping.ping6(nodes['IP Address']) node_info = {'IP Address':nodes['IP Address'],'Name':nodes['Name'].encode('utf8')} node_info.update(ping_info) probe.append(node_info) return probe
from common import view, getip view.main(host=getip.get_ip6("confine"), port=8000)