# Values to be set by wireless scans
self.newap = 0
self.newaps = False
- self.aps = []
+ self.aps = {}
+ self.oldpos = {}
def start ( self , timeout=5000 , writelog=False ) :
gps.GPSObject.start( self )
newap = 0
self.newaps = False
for mac,max_rss in self.scanlist.iteritems() :
- stored = self.db.db.execute( "SELECT rss, lat/n, lon/n FROM ap WHERE mac='%s'" % mac ).fetchone()
+ stored = self.db.db.execute( "SELECT rss, n, lat, lon FROM ap WHERE mac='%s'" % mac ).fetchone()
if stored :
- self.aps.append( stored[1:] )
+ if not self.aps.has_key( mac ) :
+ self.aps[ mac ] = list(stored[1:])
if stored[0] > max_rss :
max_rss = stored[0]
self.db.update( mac , max_rss , self.tstamp , self.info[4:] )
else :
newap += 1
+ if not self.aps.has_key( mac ) :
+ self.aps[ mac ] = [ 0 , 0 , 0 ]
self.db.add( mac , max_rss , self.tstamp , self.info[4:] )
+ if self.aps[mac][0] != 0 :
+ self.oldpos[mac] = self.aps[mac][1] / self.aps[mac][0] , self.aps[mac][2] / self.aps[mac][0]
+ self.aps[mac][0] += 1
+ self.aps[mac][1] += self.info[4]
+ self.aps[mac][2] += self.info[5]
if newap :
self.newap += newap
self.newaps = True