From 38692c43a716949ac80679c308bf896c8ad10d63 Mon Sep 17 00:00:00 2001
From: Sara <sarasdj@stud.ntnu.no>
Date: Thu, 22 Feb 2024 10:58:51 +0100
Subject: [PATCH] update: sql_query, non-functional

---
 server/main.py                                |   8 +--
 .../__pycache__/get_markers.cpython-311.pyc   | Bin 4249 -> 3320 bytes
 server/map/get_markers.py                     |  49 +++++++-----------
 3 files changed, 23 insertions(+), 34 deletions(-)

diff --git a/server/main.py b/server/main.py
index 92a0fa09..f44d0175 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
GIT binary patch
delta 1548
zcmaJ=O>7%Q6rT0&+PmxBwG(gtjkEbDBDir9T8XClY3ziQVj2h~5ek))*#y(XCTlw=
z)h_11!HOzMGzUO3l98ek1cJheD@cJH*T_;WUkE3Z6AKlh;>0+%v7G}?GvAwU=Dj!X
zz1jV^>v5a-nILcg%Ma}j6-wL}XD?7iS{4>-63<6}V*C)W01`T-SyWo1pyiGLfKKgy
z+RAH`My?b0EdYFB+5g^`q{BeBYP27$e68Cw8zkE*0fEk7PE|Q(bRDzSF<TvD>KI$c
zxGI}~_OwlBHAb`U0ChxTHLF(R3i+z(4xx6PKSf!h3oVh3BmwTmaS$66st%Zmb*$#z
zxb43(0k(5g?d}t}HF%Z;I@6@aZV=d}p=tvg({wSFacp$=L7WBliapS*=nu=NgNx&i
zS45-HDA`AFXqoKmbk$!#04V8p*rfB3R@kiD(I;ffWe(C`wv^te5(A$<-2>uMg#*wF
zR9P3|j_M9<)dciA+0;^wxC|iBg?EGqQ_`q|>LKiCk{Tr2U^}`^y+-mGC;EnxEU*Lp
zLiI52U}zeD8XOYoDV%SXcA*uf#Uh_AnN@Evw51H45g+uvoLKdTcfzr7G&1iWlA(7_
zjV9hIEnf&n!dr>0#W%uhw<Ag{HdG4nEc8zAC~9a!sX2k(86^@|)a#*mIG%t?F;sac
z8rdjson30j?rUoaHMF+Np=0JL^fz-E9kJ6$XE}RKIw)fu>wNXOz)JzSl(T$Ap5)}R
z+<8Wx4*JoXHXpKbJ;~GJpEGDH2sHub{RLaOnu7CuEd}TK8VX{41qDZmZ@w6un_qmz
zA1E-DybHB?p5k7U;FLh$a$bT)zjFPA3kmk6Mt49}qpBQ^$lD1;-3>=J(4PG#uUMdB
z%I12(ihB@?s%r6nF9>gkaPzK4;coGD3T$k9^VXRcQh2Yx#}cczVELKQS9~`uVka5p
z_~qmjURm*st>Zl21*YYBg6=Rad=sByO*h~hOhB*;M4oRl+HPd|8>#sdM!YBPi687{
zt{B}TS!OiHj2g`7iKFRWaxa;6$T^3cqD(7rdkm%(YpK-)GTV3tshRu}a;71DGZi!$
z(A}5JEF3iFJ3Jq4r!VGv2M&pY*^27!%Y+X4^F95U?SqSXcV~u3&zcU#Et&vB>blts
zoF1dgXE=)E#MNmGT>4JT4a^-2xq+L8t2pvfZ|3!!H1=R6C(S&RuKg@sJ08zUOF3!D
zkd_{s9C}|I>F)DoCW`l{2bWA2H-<CCU^wNBC+i$GoWp;$qu<2$8ix-T3~?BbEaS^D
zK7;Wg-LXFv=m>bgk%yaQ$fGBlXG!u$lE&*nQXRy7ReOsth2eAX2qRD@G5o`fZ$)8Z
bQ<+d_P|)eVut*Rihmr}3`u|bAiv9luv)hR&

literal 4249
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
DbTA~C

diff --git a/server/map/get_markers.py b/server/map/get_markers.py
index 13b97aa5..067f0af6 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 = '[]'
 
-- 
GitLab