From f05f8ce30db44ab40c606315c22f6881fc4c3421 Mon Sep 17 00:00:00 2001 From: Sara <sarasdj@stud.ntnu.no> Date: Thu, 15 Feb 2024 13:04:43 +0100 Subject: [PATCH] fix: duplicate Data and Corner in Measurement --- .../__pycache__/get_weather.cpython-311.pyc | Bin 2597 -> 2597 bytes .../__pycache__/get_markers.cpython-311.pyc | Bin 4140 -> 4174 bytes server/map/get_markers.py | 35 ++++++++++-------- 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/server/APIs/__pycache__/get_weather.cpython-311.pyc b/server/APIs/__pycache__/get_weather.cpython-311.pyc index 7b401d0fc3d6e1bae0c899df6b313dddb5b91dbb..602de861966c2bd3b5af12b5f79d7b3a702e5025 100644 GIT binary patch delta 19 ZcmZ1~vQ&g?IWI340}yck*~lf$1pqCo1TO#p delta 19 ZcmZ1~vQ&g?IWI340}zD$+Q=o%1pqH%1b6@d diff --git a/server/map/__pycache__/get_markers.cpython-311.pyc b/server/map/__pycache__/get_markers.cpython-311.pyc index cd584e3466e900302483a0aead05cbe7de1f39b0..46facb818c457bb01157ffbd7d0c285473aad2e6 100644 GIT binary patch delta 454 zcmZ3Za87}5IWI340}$-`dp6Zta3WtcW5vX*NsLb?{++6rT*F?&Qo|+*k_UqnJ_Ngr zu}E?9WJYIs4m36VXlkx9Iy0`HEXkD1_-u1KlM)l-g2@5wBAfTI>|<o{adius+{kv0 zF#<!Zb@LZaerAyaObiSS3?G;x7+Iwsa0`535aSe_EY7QIBJh!clUMKyi1+{|#25s` z`s=&uFY+r~;aBKjc_1x&fkWa08-s|%2L=sJAs{iif;YeZfw0^KHM0$MSJd1NlwDEt zyC4igH$+qx#9a|F*${R`#OAt)^Cc1I1Kt-!0<MSzTo4HWnWA_>!(xZr6%CIQl2<f> zF9?GWTvy~35&P>RZkI&d4%A*03B4i`dO;-g#|I7uHIo}E>MIzRxIKVSH#S@Gr8A1T v$+;;q98=_S=Vm^pE#}U~e4LHdoqO_jemDI@Mn<C*A|Dt)G=8$k5g01~u1tnY delta 354 zcmX@7uttGzIWI340}z=1I-9ycU?N{Mqs7FmNsLD){+-I`Jb5z^i!nJd_D_yv%4IyZ z`8bmj6XU|o{p^<*C*S7ao_vh$1nWX31_rLlAKAqw|6xg+#KAt9jUx+0<#Tv~sO=mo zAnF!}1BBw4+`wi7WAd|G!I;O`>?U!rY<|Vb&nz+pXk-J!2c}>~R_O=a0v{N}I3*|Z z^6Cmmd}QF{mHYxCK7feHUc7Q_%A7(U7?daH@#fp#5KvekcSXQpgV+@Ti|YdRmjvt& za9<Sgxgy|mLBIztD|to0`nrJAB>|@cwig8guLuNQ0He(weASF%u6AyW496I`+_agG kaf`XBF&|T7b<>`Fliy80hLO=|g~$g65RIQKas&n{0O{3gTmS$7 diff --git a/server/map/get_markers.py b/server/map/get_markers.py index b469a771..45f8965e 100644 --- a/server/map/get_markers.py +++ b/server/map/get_markers.py @@ -6,7 +6,7 @@ import json def get_all_markers(self, cursor, valid: bool): try: # NB: interval temporarily hard coded to 5 days - if valid: # Fetch only valid markers (taken within last 5 days) + if valid: cursor.execute(''' SELECT m.MeasurementID, m.SensorID, m.TimeMeasured, d.Latitude, d.Longitude, d.IceTop, d.IceBottom, d.CalculatedThickness, d.Accuracy, s.SensorType, s.Active, @@ -14,21 +14,21 @@ def get_all_markers(self, cursor, valid: bool): FROM Measurement m INNER JOIN Sensor s ON m.SensorID = s.SensorID INNER JOIN Data d ON m.MeasurementID = d.MeasurementID - INNER JOIN Corner c ON m.MeasurementID = c.MeasurementID + LEFT JOIN Corner c ON m.MeasurementID = c.MeasurementID INNER JOIN BodyOfWater b ON m.WaterBodyName = b.Name WHERE m.TimeMeasured > DATE_SUB(NOW(), INTERVAL 5 DAY); ''') - else: # Fetch all markers + else: cursor.execute(''' - SELECT m.MeasurementID, m.SensorID, m.TimeMeasured, d.Latitude, d.Longitude, - d.IceTop, d.IceBottom, d.CalculatedThickness, d.Accuracy, s.SensorType, s.Active, - c.CornerID, c.CornerLatitude, c.CornerLongitude, b.Name - FROM Measurement m - INNER JOIN Sensor s ON m.SensorID = s.SensorID - INNER JOIN Data d ON m.MeasurementID = d.MeasurementID - INNER JOIN BodyOfWater b ON m.WaterBodyName = b.Name - INNER JOIN Corner c ON m.MeasurementID = c.MeasurementID - ''') + SELECT m.MeasurementID, m.SensorID, m.TimeMeasured, d.Latitude, d.Longitude, + d.IceTop, d.IceBottom, d.CalculatedThickness, d.Accuracy, s.SensorType, s.Active, + c.CornerID, c.CornerLatitude, c.CornerLongitude, b.Name + FROM Measurement m + INNER JOIN Sensor s ON m.SensorID = s.SensorID + INNER JOIN Data d ON m.MeasurementID = d.MeasurementID + LEFT JOIN Corner c ON m.MeasurementID = c.MeasurementID + INNER JOIN BodyOfWater b ON m.WaterBodyName = b.Name + ''') rows = cursor.fetchall() @@ -54,10 +54,15 @@ def get_all_markers(self, cursor, valid: bool): 'Longitude': row[13] } - # If measurement ID already exists in measurement_data, append data and corner + # Check if measurement ID already exists in measurement_data if measurement_id in measurement_data: - measurement_data[measurement_id]['Data'].append(data_object) - measurement_data[measurement_id]['Corners'].append(corner_object) + # Check if the data object already exists in the list + if data_object not in measurement_data[measurement_id]['Data']: + measurement_data[measurement_id]['Data'].append(data_object) + + # Check if the corner object already exists in the list + if corner_object not in measurement_data[measurement_id]['Corners']: + measurement_data[measurement_id]['Corners'].append(corner_object) else: # Create a new entry for measurement_id if it does not already exist in the list measurement_data[measurement_id] = { -- GitLab