summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--LICENSE.md2
-rw-r--r--main.py2
-rw-r--r--opendc/util/database.py87
3 files changed, 19 insertions, 72 deletions
diff --git a/LICENSE.md b/LICENSE.md
index 6fa9989a..57288ae2 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2017 tudelft-atlarge
+Copyright (c) 2017 atlarge-research
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/main.py b/main.py
index 9de733aa..1360ee77 100644
--- a/main.py
+++ b/main.py
@@ -1,5 +1,3 @@
-#!/var/www/opendc.ewi.tudelft.nl/web-server/venv/bin/python
-
import flask_socketio
import json
import os
diff --git a/opendc/util/database.py b/opendc/util/database.py
index 20006ff2..92d0feef 100644
--- a/opendc/util/database.py
+++ b/opendc/util/database.py
@@ -1,28 +1,21 @@
import json
-import sys
-
-from datetime import datetime
-from pymongo import MongoClient
-from bson.json_util import loads, dumps, RELAXED_JSON_OPTIONS, CANONICAL_JSON_OPTIONS
import urllib.parse
+from datetime import datetime
-#from mysql.connector.pooling import MySQLConnectionPool
-
-# Get keys from config file
-with open(sys.argv[1]) as f:
- KEYS = json.load(f)
+from bson.json_util import dumps
+from pymongo import MongoClient
DATETIME_STRING_FORMAT = '%Y-%m-%dT%H:%M:%S'
CONNECTION_POOL = None
def init_connection_pool(user, password, database, host, port):
- user = urllib.parse.quote_plus(user) #TODO: replace this with environment variable
- password = urllib.parse.quote_plus(password) #TODO: same as above
+ user = urllib.parse.quote_plus(user) # TODO: replace this with environment variable
+ password = urllib.parse.quote_plus(password) # TODO: same as above
database = urllib.parse.quote_plus(database)
host = urllib.parse.quote_plus(host)
- global client
+ global client
global opendcdb
global prefabs_collection
global user_collection
@@ -34,10 +27,9 @@ def init_connection_pool(user, password, database, host, port):
topologies_collection = opendcdb.topologies
user_collection = opendcdb.users
-
- #global CONNECTION_POOL
- #CONNECTION_POOL = MySQLConnectionPool(pool_name="opendcpool", pool_size=5,
- #user=user, password=password, database=database, host=host, port=port)
+ # global CONNECTION_POOL
+ # CONNECTION_POOL = MySQLConnectionPool(pool_name="opendcpool", pool_size=5,
+ # user=user, password=password, database=database, host=host, port=port)
def execute(statement, t):
@@ -62,70 +54,27 @@ def execute(statement, t):
return row_id
-def fetchone(statement, t=None):
- """Open a database connection and return the first row matched by the SELECT statement."""
-
- # Connect to the database
- connection = CONNECTION_POOL.get_connection()
- cursor = connection.cursor()
-
- # Execute the SELECT statement
-
- if t is not None:
- cursor.execute(statement, t)
- else:
- cursor.execute(statement)
-
- value = cursor.fetchone()
-
- # Disconnect from the database and return
- connection.close()
- return value
-
-
-def fetchall(statement, t=None):
- """Open a database connection and return all rows matched by the SELECT statement."""
-
- # Connect to the database
- connection = CONNECTION_POOL.get_connection()
- cursor = connection.cursor()
-
- # Execute the SELECT statement
-
- if t is not None:
- cursor.execute(statement, t)
- else:
- cursor.execute(statement)
-
- values = cursor.fetchall()
-
- # Disconnect from the database and return
- connection.close()
- return values
-
-
def fetchone(query, collection):
"""Uses existing mongo connection to return a single (the first) document in a collection matching the given query as a JSON object"""
# query needs to be in json format, i.e.: {'name': prefab_name}
- #TODO: determine which collection to pull from
+ # TODO: determine which collection to pull from
bson = prefabs_collection.find_one(query)
- json_string = dumps(bson) #convert BSON representation to JSON
- json_obj = json.loads(json_string) #load as a JSON object
- #leave the id field in for now, we can use it later
- #json_obj.pop("_id")
+ json_string = dumps(bson) # convert BSON representation to JSON
+ json_obj = json.loads(json_string) # load as a JSON object
+ # leave the id field in for now, we can use it later
+ # json_obj.pop("_id")
return json_obj
-
def fetchall(query, collection):
"""Uses existing mongo connection to return all documents matching a given query, as a list of JSON objects"""
results = []
cursor = prefabs_collection.find(query)
for doc in cursor:
- json_string = dumps(doc) #convert BSON representation to JSON
- json_obj = json.loads(json_string) #load as a JSON object
- #leave the id field in for now, we can use it later
- #json_obj.pop("_id")
+ json_string = dumps(doc) # convert BSON representation to JSON
+ json_obj = json.loads(json_string) # load as a JSON object
+ # leave the id field in for now, we can use it later
+ # json_obj.pop("_id")
results.append(json_obj)
return results