32 lines
		
	
	
		
			708 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			708 B
		
	
	
	
		
			Python
		
	
	
	
	
	
def get_iperf3_stats(s):
 | 
						|
    pool = s.split("\n")
 | 
						|
 | 
						|
    stats = []
 | 
						|
 | 
						|
    interpret_stats = False
 | 
						|
 | 
						|
    for i in pool:
 | 
						|
        c = i.split()
 | 
						|
 | 
						|
        if 'ID]' in c:
 | 
						|
            interpret_stats = True
 | 
						|
            continue
 | 
						|
 | 
						|
        if '-' in c:
 | 
						|
            interpret_stats = False
 | 
						|
            break
 | 
						|
 | 
						|
        if interpret_stats:
 | 
						|
            if len(c) < 8:
 | 
						|
                continue
 | 
						|
 | 
						|
            stat = {}
 | 
						|
 | 
						|
            stat['int_start'], stat['int_end'] = list(map(float, c[2].split('-')))
 | 
						|
            stat['transfer'] = float(c[4]) * 1024 ** ['B', 'K', 'M', 'G'].index(c[5][0])
 | 
						|
            stat['bitrate'] = float(c[6]) * 1024 ** ['b', 'K', 'M', 'G'].index(c[7][0])
 | 
						|
 | 
						|
            stats.append(stat)
 | 
						|
 | 
						|
    return stats
 |