From 8c234e2f3f14792b59d7645296d2dfff9475cf5c Mon Sep 17 00:00:00 2001 From: Christopher Hunt Date: Mon, 27 Apr 2015 16:39:46 -0500 Subject: [PATCH] Minor fixes to Mongo DB client * Two method calls define dictionary as arg in param signature. Set arg to None, and check value in body. if arg is none, then set value to empty dictionary. * 'Filter' argument shadows actual python call. Changed variable name to minimize damage (best practices), but did not change signature in case keyword arg invocation exists somewhere in code base. * __init__() call did not call parent's init (BaseClient) * Fixed pep8 violations found by flake in data_interfaces.py Change-Id: Ifb1c58854e2da60c5725e09f0dba3440d723bf00 --- cafe/engine/models/data_interfaces.py | 5 +++-- plugins/mongo/cafe/engine/mongo/client.py | 11 +++++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/cafe/engine/models/data_interfaces.py b/cafe/engine/models/data_interfaces.py index 205c5ff..14380c9 100644 --- a/cafe/engine/models/data_interfaces.py +++ b/cafe/engine/models/data_interfaces.py @@ -140,9 +140,10 @@ class ConfigParserDataSource(DataSource): super(ConfigParserDataSource, self).__init__() cafe_env_var = {key: value for key, value in os.environ.iteritems() - if key.startswith('CAFE_')} + if key.startswith('CAFE_')} - self._data_source = configparser.SafeConfigParser(defaults=cafe_env_var) + self._data_source = configparser.SafeConfigParser( + defaults=cafe_env_var) self._section_name = section_name # Check if the path exists diff --git a/plugins/mongo/cafe/engine/mongo/client.py b/plugins/mongo/cafe/engine/mongo/client.py index 0fb238a..f62c8df 100644 --- a/plugins/mongo/cafe/engine/mongo/client.py +++ b/plugins/mongo/cafe/engine/mongo/client.py @@ -26,6 +26,7 @@ class BaseMongoClient(BaseClient): _log = cclogging.getLogger(__name__) def __init__(self, hostname, db_name, username, password): + super(BaseMongoClient, self).__init__() self.hostname = hostname self.db_name = db_name self.username = username @@ -96,16 +97,18 @@ class BaseMongoClient(BaseClient): return self.SUCCESS - def find_one(self, db_obj_name, filter=dict()): + def find_one(self, db_obj_name, filter=None): + result_filter = filter or dict() if not self.is_connected(): return self.FAILED db_obj = self.db[db_obj_name] - return db_obj.find_one(filter) + return db_obj.find_one(result_filter) - def delete(self, db_obj_name, filter=dict(), just_one=True): + def delete(self, db_obj_name, filter=None, just_one=True): + result_filter = filter or dict() if not self.is_connected(): return self.FAILED db_obj = self.db[db_obj_name] - return db_obj.remove(filter, just_one) + return db_obj.remove(result_filter, just_one)