feat: ✨ added broken map for supporting multiple tracks (will likely get removed) and added colorless rendering for tracks in point cloud
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 47s
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 47s
This commit is contained in:
51
app.py
51
app.py
@@ -53,6 +53,18 @@ def getTrack():
|
||||
|
||||
if ("start" in request.args and "end" in request.args) or ("id" in request.args):
|
||||
if "start" in request.args and "end" in request.args:
|
||||
if "asMap" in request.args:
|
||||
# get tracks by filter
|
||||
start = request.args["start"]
|
||||
end = request.args["end"]
|
||||
|
||||
# Die GeoJSON-Daten aus der Datenbank abrufen
|
||||
geojson_data = gpxHandler.getTracksInTimeWithGeoData(start, end)
|
||||
app.logger.debug(f"returned track {geojson_data}")
|
||||
|
||||
# Die GeoJSON-Daten als JSON zurückgeben
|
||||
return jsonify(geojson_data)
|
||||
|
||||
# get tracks by filter
|
||||
start = request.args["start"]
|
||||
end = request.args["end"]
|
||||
@@ -78,12 +90,36 @@ def getTrack():
|
||||
return f"error {e}", 500
|
||||
else:
|
||||
try:
|
||||
# gets all tracks as list
|
||||
return gpxHandler.getTracks()
|
||||
tracks = gpxHandler.getTracks()
|
||||
if len(tracks) > 0:
|
||||
# gets all tracks as list
|
||||
return tracks, 200
|
||||
else:
|
||||
return [], 200
|
||||
except Exception as e:
|
||||
app.logger.debug(f"fetching all tracks failed with error {e}")
|
||||
return f"error {e}", 500
|
||||
|
||||
@app.route("/track/meta", methods=['GET'])
|
||||
@cross_origin()
|
||||
def getTrackMeta():
|
||||
|
||||
app.logger.debug(f"found arguments {request.args}")
|
||||
|
||||
if "id" in request.args:
|
||||
# get track by id
|
||||
trackID = int(request.args["id"])
|
||||
try:
|
||||
app.logger.debug(f"Request args: {request.args}")
|
||||
app.logger.debug(f"track id {trackID}")
|
||||
track = gpxHandler.getTrackMeta(trackID)
|
||||
|
||||
app.logger.debug(f"returned track {track}")
|
||||
|
||||
return jsonify(track), 200
|
||||
except Exception as e:
|
||||
app.logger.debug(f"fetching track failed with error {e}")
|
||||
return f"error {e}", 500
|
||||
|
||||
@app.route("/driver", methods=['GET', 'POST'])
|
||||
@cross_origin()
|
||||
@@ -103,7 +139,8 @@ def handleDriverRoute():
|
||||
|
||||
try:
|
||||
drivers = driverHandler.getDrivers()
|
||||
return drivers, 200
|
||||
if len(drivers) > 0:
|
||||
return drivers, 200
|
||||
except Exception as e:
|
||||
app.logger.debug(f"getting drivers failed with error {e}")
|
||||
return "error" + " " + str(e), 500
|
||||
@@ -163,11 +200,17 @@ def handleVehicleRoute():
|
||||
if "name" not in data:
|
||||
return "missing name", 400
|
||||
|
||||
licenseplate = ""
|
||||
|
||||
if "licensePlate" not in data:
|
||||
licenseplate = "N/A"
|
||||
else:
|
||||
licenseplate = data["licensePlate"]
|
||||
name = data["name"]
|
||||
|
||||
# handle creating vehicle
|
||||
try:
|
||||
vehicle = vehicleHandler.createVehicle(name)
|
||||
vehicle = vehicleHandler.createVehicle(name, licenseplate)
|
||||
return jsonify({"id": vehicle.id, "name": vehicle.name}), 200
|
||||
|
||||
except Exception as e:
|
||||
|
||||
Reference in New Issue
Block a user