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