diff options
| author | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2020-10-26 23:09:37 +0100 |
|---|---|---|
| committer | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2020-10-26 23:22:57 +0100 |
| commit | eb723af5ce2787dd864c97d44767cbf9bc73076b (patch) | |
| tree | c23add298fa668b9d1b7b979088755ecb12bce10 /api/opendc/util | |
| parent | 81003bf38eb5384f6b7f485b5186e1df4e7430b4 (diff) | |
Do not hardcode test ids inside tests
Diffstat (limited to 'api/opendc/util')
| -rw-r--r-- | api/opendc/util/database.py | 23 | ||||
| -rw-r--r-- | api/opendc/util/path_parser.py | 5 | ||||
| -rw-r--r-- | api/opendc/util/rest.py | 2 |
3 files changed, 6 insertions, 24 deletions
diff --git a/api/opendc/util/database.py b/api/opendc/util/database.py index 80cdcbab..dd26533d 100644 --- a/api/opendc/util/database.py +++ b/api/opendc/util/database.py @@ -1,8 +1,6 @@ -import json import urllib.parse from datetime import datetime -from bson.json_util import dumps from pymongo import MongoClient DATETIME_STRING_FORMAT = '%Y-%m-%dT%H:%M:%S' @@ -31,32 +29,25 @@ class Database: The query needs to be in json format, i.e.: `{'name': prefab_name}`. """ - bson = getattr(self.opendc_db, collection).find_one(query) - - return self.convert_bson_to_json(bson) + return getattr(self.opendc_db, collection).find_one(query) def fetch_all(self, query, collection): """Uses existing mongo connection to return all documents matching a given query, as a list of JSON objects. The query needs to be in json format, i.e.: `{'name': prefab_name}`. """ - results = [] cursor = getattr(self.opendc_db, collection).find(query) - for doc in cursor: - results.append(self.convert_bson_to_json(doc)) - return results + return list(cursor) def insert(self, obj, collection): """Updates an existing object.""" bson = getattr(self.opendc_db, collection).insert(obj) - return self.convert_bson_to_json(bson) + return bson def update(self, _id, obj, collection): """Updates an existing object.""" - bson = getattr(self.opendc_db, collection).update({'_id': _id}, obj) - - return self.convert_bson_to_json(bson) + return getattr(self.opendc_db, collection).update({'_id': _id}, obj) def delete_one(self, query, collection): """Deletes one object matching the given query. @@ -73,12 +64,6 @@ class Database: getattr(self.opendc_db, collection).delete_many(query) @staticmethod - def convert_bson_to_json(bson): - """Converts a BSON representation to JSON and returns the JSON representation.""" - json_string = dumps(bson) - return json.loads(json_string) - - @staticmethod def datetime_to_string(datetime_to_convert): """Return a database-compatible string representation of the given datetime object.""" return datetime_to_convert.strftime(DATETIME_STRING_FORMAT) diff --git a/api/opendc/util/path_parser.py b/api/opendc/util/path_parser.py index a8bbdeba..c8452f20 100644 --- a/api/opendc/util/path_parser.py +++ b/api/opendc/util/path_parser.py @@ -31,9 +31,6 @@ def parse(version, endpoint_path): for (name, value) in zip(path, endpoint_path_parts): if name.startswith('{'): - try: - parameters[name.strip('{}')] = int(value) - except: - parameters[name.strip('{}')] = value + parameters[name.strip('{}')] = value return '{}/{}'.format(version, '/'.join(path)), parameters diff --git a/api/opendc/util/rest.py b/api/opendc/util/rest.py index abd2f3de..c9e98295 100644 --- a/api/opendc/util/rest.py +++ b/api/opendc/util/rest.py @@ -138,4 +138,4 @@ class Response: if self.content is not None: data['content'] = self.content - return json.dumps(data) + return json.dumps(data, default=str) |
