#!/usr/bin/env python from dm.common.utility.loggingManager import LoggingManager from dm.common.exceptions.invalidArgument import InvalidArgument from dm.common.exceptions.objectAlreadyExists import ObjectAlreadyExists from dm.common.exceptions.objectNotFound import ObjectNotFound from dm.common.exceptions.dbError import DbError from dmMongoCollection import DmMongoCollection class DatasetCollection(DmMongoCollection): """Class responsible for updating dataset collection in mongo db.""" UNIQUE_KEYS_LIST = [ '_id', 'datasetName', 'experimentName' ] def __init__(self, dbClient): DmMongoCollection.__init__(self, 'datasets', dbClient) ####################################################################### # Testing if __name__ == '__main__': from dmMongoClient import DmMongoClient mongo = DmMongoClient('dm') datasetCollection = DatasetCollection(mongo) datasetInfo = {'name' : 'ds-001', 'owner' : 'sv', 'experimentName' : 'exp-001', 'voltage' : { 'gt' : 400}, 'current' : { 'lt' : 100}, } #print datasetCollection.add(datasetInfo) print datasetCollection.updateByName(datasetInfo) print datasetCollection.findByName('ds-001') print datasetCollection.findByQueryDict({'dataset' : 'ds-001'}, {'owner' : 1})