From e44761db8fb5d219a3198b913b47e8034399ce7b Mon Sep 17 00:00:00 2001 From: Tim Staat Date: Wed, 27 Aug 2025 20:28:19 +0200 Subject: [PATCH] Addde fallback for 0.0 values - no insert --- server/python_server.py | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/server/python_server.py b/server/python_server.py index 9f0cd96..91234bf 100644 --- a/server/python_server.py +++ b/server/python_server.py @@ -30,40 +30,41 @@ def hello(): def getGpsDistance(): own_id = request.args.get('id') req_id = request.args.get('req_id') - lat = dm(request.args.get('lat')) - long = dm(request.args.get('long')) + lat = dm(request.args.get('lat')) if request.args.get('lat') != '0' else 0.0 + long = dm(request.args.get('long')) if request.args.get('long') != '0' else 0.0 + try: gpsDateTime = datetime.strptime(request.args.get('gpsDateTime')[:11], '%d%m%y%H%M%S') + print(gpsDateTime) except ValueError: print("No gpsDateTime") gpsDateTime = datetime.now() print(request.args) - with sqlite3.connect('location.db', check_same_thread=False) as conn: - cur = conn.cursor() - cur.execute(f'INSERT INTO location_data(sender_id, lat, long, gpsDateTime) VALUES({own_id}, {lat}, {long}, "{gpsDateTime}");') - conn.commit() - try: + if (lat != 0.0 and long != 0.0): + with sqlite3.connect('location.db', check_same_thread=False) as conn: + cur = conn.cursor() + cur.execute(f'INSERT INTO location_data(sender_id, lat, long, gpsDateTime) VALUES({own_id}, {lat}, {long}, "{gpsDateTime}");') + conn.commit() - res = cur.execute(f'SELECT lat, long, gpsDateTime, insertDateTime FROM location_data WHERE sender_id = {req_id} ORDER BY insertDateTime DESC') + try: - req_lat, req_long, req_dateTime, insertDateTime = res.fetchone() + res = cur.execute(f'SELECT lat, long, gpsDateTime, insertDateTime FROM location_data WHERE sender_id = {req_id} ORDER BY insertDateTime DESC') - except sqlite3.Error as error: - print("Failed to read data from table, using default values", error) - req_lat = 0.0 - req_long = 0.0 - req_dateTime = datetime.now() + req_lat, req_long, req_dateTime, insertDateTime = res.fetchone() + + except sqlite3.Error as error: + print("Failed to read data from table, using default values", error) + req_lat = 0.0 + req_long = 0.0 + req_dateTime = datetime.now() print(f'lat: {lat}, long: {long}, req_lat: {req_lat}, req_long: {req_long}, req_dateTime: {req_dateTime}') fwd_azimuth, back_azimuth, distance = geodesic.inv(long, lat, req_long, req_lat) - - - distance = distance * ureg.meter prettyDistance = f"{distance:.1f~#P}" print(f'fwd: {fwd_azimuth}, bwd: {back_azimuth}, dist: {prettyDistance}')