From 34271f45ba7a2089c0b312a60c9f798cde61d461 Mon Sep 17 00:00:00 2001 From: javiplx Date: Sat, 30 Apr 2011 08:54:23 +0000 Subject: [PATCH] Abstract method to build gps related subquery git-svn-id: file:///svnroot/wifihood/branches/cleaning@87 c51dfc6a-5949-4919-9c8e-f207a149c383 --- wifimap/db.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/wifimap/db.py b/wifimap/db.py index 92fd45b..f0733a7 100644 --- a/wifimap/db.py +++ b/wifimap/db.py @@ -49,6 +49,10 @@ class database : rc = self.db.execute( query ) return rc.fetchone() + def __extend_query ( self , gps ) : + lat , lon , alt = gps + return "lat=lat+%f , lat2=lat2+%f , lon=lon+%f , lon2=lon2+%f , alt=alt+%f , alt2=alt2+%f" % ( lat , lat*lat , lon , lon*lon , alt , alt*alt ) + def add ( self , mac , rss , timestamp , gps=None ) : query = "INSERT INTO ap ( mac , rss , last_seen ) VALUES ( '%s' , %d , %f )" % ( mac , rss , timestamp ) @@ -56,7 +60,7 @@ class database : if rc.rowcount : if gps : lat , lon , alt = gps - query = "UPDATE ap SET n=1 , lat=%f , lat2=%f , lon=%f , lon2=%f , alt=%f , alt2=%f WHERE mac='%s'" % ( lat , lat*lat , lon , lon*lon , alt , alt*alt , mac ) + query = "UPDATE ap SET n=1 , %s WHERE mac='%s'" % ( self.__extend_query(gps) , mac ) rc = self.db.execute( query ) self.db.commit() @@ -65,7 +69,7 @@ class database : query = "UPDATE ap set rss=%d , last_seen=%f" % ( rss , timestamp ) if gps : lat , lon , alt = gps - query += " , n=n+1 , lat=lat+%f , lat2=lat2+%f , lon=lon+%f , lon2=lon2+%f , alt=alt+%f , alt2=alt2+%f" % ( lat , lat*lat , lon , lon*lon , alt , alt*alt ) + query += " , n=n+1 , %s" % self.__extend_query(gps) query += " WHERE mac='%s'" % mac rc = self.db.execute( query ) if rc.rowcount : -- 1.7.9.5