Added error check to _upsert_pre_check(), res = None when error

This commit is contained in:
Saun Shewanown 2016-04-27 16:39:50 -04:00
parent 7fd1a71506
commit e7f45b2a68

View File

@ -183,19 +183,22 @@ class Table(object):
def _upsert_pre_check(self, row, keys, ensure): def _upsert_pre_check(self, row, keys, ensure):
# check whether keys arg is a string and format as a list # check whether keys arg is a string and format as a list
if not isinstance(keys, (list, tuple)): try:
keys = [keys] if not isinstance(keys, (list, tuple)):
self._check_dropped() keys = [keys]
self._check_dropped()
ensure = self.database.ensure_schema if ensure is None else ensure ensure = self.database.ensure_schema if ensure is None else ensure
if ensure: if ensure:
self.create_index(keys) self.create_index(keys)
filters = {} filters = {}
for key in keys: for key in keys:
filters[key] = row.get(key) filters[key] = row.get(key)
res = self.find_one(**filters) res = self.find_one(**filters)
except:
res = None
return res return res