diff options
author | Kristofer Hallin <kristofer@sunet.se> | 2022-04-12 11:03:53 +0200 |
---|---|---|
committer | Kristofer Hallin <kristofer@sunet.se> | 2022-04-12 11:03:53 +0200 |
commit | 2aebcdeca17f9b46d90f5255dd4d03caa358701e (patch) | |
tree | 1e2eba51916736496b453338626659e5c15d84fa /src/db.py | |
parent | 951f2d1678b3b3274d81b4ea0c024b384978d9b8 (diff) |
Use the schema when creating indexes, also validate data before writing to CouchDB.
Diffstat (limited to 'src/db.py')
-rwxr-xr-x | src/db.py | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -12,7 +12,7 @@ import sys import time import couch -import index +from schema import as_index_list, validate_collector_data class DictDB(): @@ -47,7 +47,7 @@ class DictDB(): print("Creating database and indexes.") self.couchdb = self.server.create(self.database) - for i in index.as_list(): + for i in as_index_list(): self.couchdb.index(i) self._ts = time.time() @@ -72,9 +72,15 @@ class DictDB(): if type(data) is list: for item in data: + error = validate_collector_data(item) + if error != "": + return error item['_id'] = str(self.unique_key()) ret = self.couchdb.save_bulk(data) else: + error = validate_collector_data(data) + if error != "": + return error data['_id'] = str(self.unique_key()) ret = self.couchdb.save(data) |