Addde fallback for 0.0 values - no insert

This commit is contained in:
Tim Staat 2025-08-27 20:28:19 +02:00
parent 2eeada3129
commit e44761db8f

View File

@ -30,40 +30,41 @@ def hello():
def getGpsDistance(): def getGpsDistance():
own_id = request.args.get('id') own_id = request.args.get('id')
req_id = request.args.get('req_id') req_id = request.args.get('req_id')
lat = dm(request.args.get('lat')) lat = dm(request.args.get('lat')) if request.args.get('lat') != '0' else 0.0
long = dm(request.args.get('long')) long = dm(request.args.get('long')) if request.args.get('long') != '0' else 0.0
try: try:
gpsDateTime = datetime.strptime(request.args.get('gpsDateTime')[:11], '%d%m%y%H%M%S') gpsDateTime = datetime.strptime(request.args.get('gpsDateTime')[:11], '%d%m%y%H%M%S')
print(gpsDateTime)
except ValueError: except ValueError:
print("No gpsDateTime") print("No gpsDateTime")
gpsDateTime = datetime.now() gpsDateTime = datetime.now()
print(request.args) 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: req_lat, req_long, req_dateTime, insertDateTime = res.fetchone()
print("Failed to read data from table, using default values", error)
req_lat = 0.0 except sqlite3.Error as error:
req_long = 0.0 print("Failed to read data from table, using default values", error)
req_dateTime = datetime.now() 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}') 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) fwd_azimuth, back_azimuth, distance = geodesic.inv(long, lat, req_long, req_lat)
distance = distance * ureg.meter distance = distance * ureg.meter
prettyDistance = f"{distance:.1f~#P}" prettyDistance = f"{distance:.1f~#P}"
print(f'fwd: {fwd_azimuth}, bwd: {back_azimuth}, dist: {prettyDistance}') print(f'fwd: {fwd_azimuth}, bwd: {back_azimuth}, dist: {prettyDistance}')