Skip to content
Snippets Groups Projects
Commit b3cd23da authored by Sara Savanovic Djordjevic's avatar Sara Savanovic Djordjevic
Browse files

add: test data to mongoDB

parent f268466b
No related branches found
No related tags found
No related merge requests found
No preview for this file type
......@@ -76,4 +76,5 @@ class MarkerTemplate:
'longitude': self.longitude,
'size': self.size,
'color': self.color,
}
\ No newline at end of file
}
\ No newline at end of file
from flask import Flask, jsonify
from flask import Flask
from http.server import HTTPServer, BaseHTTPRequestHandler
from pymongo import MongoClient
from pymongo.server_api import ServerApi
from consts import DB_NAME, COLLECTION, MONGO_URI, MONGO_CERT_PATH, SSL_CERT_PATH, SSL_KEY_PATH, HOST, PORT
from map.get_markers import get_markers
import atexit
from data_structs import Measurement, MarkerTemplate, DateAndTime, Sensor
import ssl
import keyboard
from flask import json
app = Flask(__name__)
terminate_server = 0
"""
# Initialise MongoDB connection
try:
client = MongoClient(MONGO_URI,
tls=True,
tlsCertificateKeyFile=MONGO_CERT_PATH,
server_api=ServerApi('1'))
def initDatabase():
try:
client = MongoClient(MONGO_URI,
tls=True,
tlsCertificateKeyFile=MONGO_CERT_PATH,
server_api=ServerApi('1'))
db = client[DB_NAME]
collection = db[COLLECTION]
print("Connected to MongoDB")
return client
except Exception as e:
print(f"Failed to connect to MongoDB: {e}")
db = client[DB_NAME]
collection = db[COLLECTION]
print("Connected to MongoDB")
except Exception as e:
print(f"Failed to connect to MongoDB: {e}")
"""
# Define HTTP class
class IceHTTP(BaseHTTPRequestHandler):
......@@ -60,7 +63,38 @@ def on_key_press(server, event):
# Start a server on port 8443 using self defined HTTP class
if __name__ == "__main__":
print("Starting server on port ", PORT)
# Initialise database connection
client = initDatabase()
db = client[DB_NAME]
testCol = db["TestCollection"]
# NB: temporary test data
sensor1 = Sensor(ID=1, type="Type1", active=True)
sensor2 = Sensor(ID=2, type="Type2", active=False)
datetime1 = DateAndTime(2023, 12, 31, 15, 43)
datetime2 = DateAndTime(2024, 1, 15, 12, 2)
datetime3 = DateAndTime(2024, 1, 31, 18, 10)
measurement1 = Measurement(longitude=10.9771, latitude=60.7066, datetime=datetime1, sensor=sensor1,
precipitation=0.0, thickness=0.0, max_weight=0.0, safety_level=0.0, accuracy=2.5)
measurement2 = Measurement(longitude=10.8171, latitude=60.6366, datetime=datetime2, sensor=sensor2,
precipitation=0.0, thickness=0.0, max_weight=0.0, safety_level=0.0, accuracy=1.5)
measurement3 = Measurement(longitude=10.8471, latitude=60.7366, datetime=datetime3, sensor=sensor1,
precipitation=0.0, thickness=0.0, max_weight=0.0, safety_level=0.0, accuracy=4.0)
testData = [
MarkerTemplate(measurement1, 30.0-measurement1.accuracy, "Green"),
MarkerTemplate(measurement2, 10.0-measurement2.accuracy, "Red"),
MarkerTemplate(measurement3, 20.0-measurement3.accuracy, "Yellow"),
]
data_to_insert = [marker_template.to_dict() for marker_template in testData]
for element in data_to_insert:
insert_result = testCol.insert_one(element)
try:
# Load SSL certificate and private key
ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
......
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment