Source code for smug.initializers.mongodb_initializer

from smug.mongo_manager import MongoManager


[docs]class MongoDBInitializer: def __init__(self): self.mongo_manager = MongoManager() self.create_indexes('metadata.url', self.mongo_manager.message_collection, unique=True) self.create_indexes('reports.score', self.mongo_manager.message_collection) self.create_indexes('metadata.date', self.mongo_manager.message_collection) self.create_indexes('name', self.mongo_manager.report_collection, unique=True) default_reports = [ {'name': 'Word vectoring', 'enabled': True, 'parameters': [ 'ziek', 'griep', 'verkouden', 'keelpijn', 'spierpijn', 'koorts', 'hoesten' ] } ] for report in default_reports: self.create_report(report)
[docs] def create_indexes(self, index, collection, unique=False): collection.create_index([(index, 1)], unique=unique)
[docs] def create_report(self, report): self.mongo_manager.report_collection.update_one({'name': report['name']}, {'$set': report}, upsert=True)