From 2aebcdeca17f9b46d90f5255dd4d03caa358701e Mon Sep 17 00:00:00 2001 From: Kristofer Hallin Date: Tue, 12 Apr 2022 11:03:53 +0200 Subject: Use the schema when creating indexes, also validate data before writing to CouchDB. --- src/db.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/db.py') diff --git a/src/db.py b/src/db.py index d186616..6f25ec3 100755 --- a/src/db.py +++ b/src/db.py @@ -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) -- cgit v1.1