diff --git a/server/main.py b/server/main.py index 92a0fa092cf8def740a725f10fd201eb1ccde561..f44d017532a7a697f58f681b8d04308abfe14188 100644 --- a/server/main.py +++ b/server/main.py @@ -37,11 +37,11 @@ class IceHTTP(BaseHTTPRequestHandler): self.wfile.write(b"Root path hit!") elif self.path == '/update_map': # NB: should be POST? - get_all_markers(self, self.cursor, False) # Get all markers - + get_all_markers(self, self.cursor, False, 'Mjosa') # Get all markers + # NB: temporary hardcoded waterBodyName elif self.path == '/get_valid_markers': # NB: should be POST? - get_all_markers(self, self.cursor, True) # Get only valid markers - + get_all_markers(self, self.cursor, True, 'Mjosa') # Get only valid markers + # NB: temporary hardcoded waterBodyName def do_POST(self): if self.path == '/get_weather_data': get_weather(self) diff --git a/server/map/__pycache__/get_markers.cpython-311.pyc b/server/map/__pycache__/get_markers.cpython-311.pyc index 136fe074aa97b652908bd4f21f45768bb9a6020e..d7a54e2e927f314e198348cc16ce57c24ed6ba17 100644 Binary files a/server/map/__pycache__/get_markers.cpython-311.pyc and b/server/map/__pycache__/get_markers.cpython-311.pyc differ diff --git a/server/map/get_markers.py b/server/map/get_markers.py index 13b97aa530b9227ec041b0d3e1c956f70e9c842d..067f0af6465376460458864cf74a6c9f074f6490 100644 --- a/server/map/get_markers.py +++ b/server/map/get_markers.py @@ -5,35 +5,24 @@ import json # the data to the response object def get_all_markers(self, cursor, valid: bool, waterBodyName): try: - # NB: interval temporarily hard coded to 5 days - if valid: - cursor.execute(''' - SELECT m.MeasurementID, m.SensorID, m.TimeMeasured, - s.SensorType, s.Active, - b.Name, - d.SubDivisionID, d.GroupID, d.MinimumThickness, - d.AverageThickness, d.CenterLatitude, d.CenterLongitude, - d.Accuracy - FROM Measurement m - INNER JOIN Sensor s ON m.SensorID = s.SensorID - INNER JOIN BodyOfWater b ON m.WaterBodyName = b.Name - LEFT JOIN SubDivision d ON m.MeasurementID = d.MeasurementID - WHERE m.TimeMeasured > DATE_SUB(NOW(), INTERVAL 5 DAY) & b.Name = ? - ''', waterBodyName) - else: - cursor.execute(''' - SELECT m.MeasurementID, m.SensorID, m.TimeMeasured, - s.SensorType, s.Active, - b.Name, - d.SubDivisionID, d.GroupID, d.MinimumThickness, - d.AverageThickness, d.CenterLatitude, d.CenterLongitude, - d.Accuracy - FROM Measurement m - INNER JOIN Sensor s ON m.SensorID = s.SensorID - INNER JOIN BodyOfWater b ON m.WaterBodyName = b.Name - LEFT JOIN SubDivision d ON m.MeasurementID = d.MeasurementID - WHERE b.Name = ? - ''', waterBodyName) + sql_query = ''' + SELECT m.MeasurementID, m.SensorID, m.TimeMeasured, + s.SensorType, s.Active, + b.Name, + d.SubDivisionID, d.GroupID, d.MinimumThickness, + d.AverageThickness, d.CenterLatitude, d.CenterLongitude, + d.Accuracy + FROM Measurement m + INNER JOIN Sensor s ON m.SensorID = s.SensorID + INNER JOIN BodyOfWater b ON m.WaterBodyName = b.Name + LEFT JOIN SubDivision d ON m.MeasurementID = d.MeasurementID + WHERE b.Name = ? + ''' + + if valid: # Append time restriction, NB temporarily hardcoded to 5 days + sql_query += ' AND m.TimeMeasured > DATE_SUB(NOW(), INTERVAL 5 DAY)' + + cursor.execute(sql_query, (waterBodyName,)) rows = cursor.fetchall() @@ -88,7 +77,7 @@ def get_all_markers(self, cursor, valid: bool, waterBodyName): marker_data = json.dumps(data, indent=4) except Exception as e: - print(f"An error occurred while querying the database: {e}") + print(f"Error in querying database: {e}") resp_code = 500 marker_data = '[]'