parse read_preference from conn_host #1665

This commit is contained in:
Erdenezul Batmunkh
2017-10-02 22:46:27 +08:00
parent a1494c4c93
commit 2f075be6f8
2 changed files with 16 additions and 0 deletions

View File

@@ -103,6 +103,17 @@ def register_connection(alias, name=None, host=None, port=None,
conn_settings['authentication_source'] = uri_options['authsource']
if 'authmechanism' in uri_options:
conn_settings['authentication_mechanism'] = uri_options['authmechanism']
if 'readpreference' in uri_options:
read_preferences = (ReadPreference.NEAREST,
ReadPreference.PRIMARY,
ReadPreference.PRIMARY_PREFERRED,
ReadPreference.SECONDARY,
ReadPreference.SECONDARY_PREFERRED)
read_pf_mode = uri_options['readpreference']
for preference in read_preferences:
if preference.mode == read_pf_mode:
conn_settings['read_preference'] = preference
break
else:
resolved_hosts.append(entity)
conn_settings['host'] = resolved_hosts