From fc739ed9558cc34f7e096d21cbc89ebcfee5895f Mon Sep 17 00:00:00 2001 From: javiplx Date: Mon, 11 Oct 2010 20:45:48 +0000 Subject: [PATCH] Increased robustness, with ability to handle multiformat log files git-svn-id: file:///svnroot/wifihood/trunk/wifiscanner@54 c51dfc6a-5949-4919-9c8e-f207a149c383 --- logscanner | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/logscanner b/logscanner index d66d989..6e8e107 100755 --- a/logscanner +++ b/logscanner @@ -4,20 +4,40 @@ import wifimap import sys +verbose = False + def main ( scanner , filename ) : scanner.start() fd = open( filename ) + nline = 0 for line in fd.readlines() : + nline += 1 gps_info = line[:-1].split(None,11) tstamp = float(gps_info.pop(0)) scan_out = gps_info.pop() + if len(gps_info) != 10 : + if verbose : + print "Unparseable scan at line %d" % nline + continue + if gps_info[0] == "None" : + if verbose : + print "Broken scan at line %d" % nline + continue + if gps_info[3] == "nan" : + if verbose : + print "Broken scan at line %d" % nline + continue latlon = None if gps_info[0] == "FIX" : scanner.ngps += 1 latlon = ( float(gps_info[4]) , float(gps_info[5]) , float(gps_info[6]) ) scanner.nscan +=1 - scanner.store_logscan( tstamp , scan_out , latlon ) - print "%d gps\t%d scan\t%d fp\t%d ap\t%d total ap" % ( scanner.ngps , scanner.nscan , scanner.nfp , scanner.newap , scanner.db.nrows() ) + if scan_out.find(" ") == 17 : + scanner.store_legacy( tstamp , scan_out , latlon ) + else : + scanner.store_scan( tstamp , scan_out , latlon ) + if verbose : + print "%5d gps\t%5d scan\t%6d fp\t%5d ap\t%6d total ap" % ( scanner.ngps , scanner.nscan , scanner.nfp , scanner.newap , scanner.db.nrows() ) fd.close() if __name__ == "__main__" : -- 1.7.9.5