#!/usr/bin/python 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 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__" : if len(sys.argv) != 2 : print "Usage : logscanner wifiscanner.log" sys.exit(1) scanner = wifimap.Scanner() main( scanner , sys.argv[1] )