Work with pymongo 3.0

pymongo 3.0 renamed mongos_enum to read_pref_mode_from_name which
was causing the unit tests to fail.

Change-Id: Iaa7fd7221c2e6c865633ef342e6b83304a1de655
Closes-Bug: 1441393
(cherry picked from commit 7c3fe6acae)
This commit is contained in:
Brant Knudson 2015-04-07 19:35:00 -05:00 committed by Ihar Hrachyshka
parent 579aad0c41
commit e2bbebe008
1 changed files with 6 additions and 2 deletions

View File

@ -360,8 +360,12 @@ class MongoApi(object):
self._assign_data_mainpulator()
if self.read_preference:
self.read_preference = pymongo.read_preferences.mongos_enum(
self.read_preference)
# pymongo 3.0 renamed mongos_enum to read_pref_mode_from_name
f = getattr(pymongo.read_preferences,
'read_pref_mode_from_name', None)
if not f:
f = pymongo.read_preferences.mongos_enum
self.read_preference = f(self.read_preference)
coll.read_preference = self.read_preference
if self.w > -1:
coll.write_concern['w'] = self.w