Skip to content

Commit 14bb119

Browse files
committed
Create TopologySettings always
1 parent 99802be commit 14bb119

File tree

2 files changed

+8
-16
lines changed

2 files changed

+8
-16
lines changed

pymongo/asynchronous/mongo_client.py

+4-8
Original file line numberDiff line numberDiff line change
@@ -768,7 +768,6 @@ def __init__(
768768
self._timeout: float | None = None
769769
self._topology_settings: TopologySettings = None # type: ignore[assignment]
770770
self._event_listeners: _EventListeners | None = None
771-
self._initial_topology_id: Optional[ObjectId] = None
772771

773772
# _pool_class, _monitor_class, and _condition_class are for deep
774773
# customization of PyMongo, e.g. Motor.
@@ -875,8 +874,7 @@ def __init__(
875874
self._options.read_concern,
876875
)
877876

878-
if not is_srv:
879-
self._init_based_on_options(self._seeds, srv_max_hosts, srv_service_name)
877+
self._init_based_on_options(self._seeds, srv_max_hosts, srv_service_name)
880878

881879
self._opened = False
882880
self._closed = False
@@ -977,7 +975,7 @@ def _init_based_on_options(
977975
srv_service_name=srv_service_name,
978976
srv_max_hosts=srv_max_hosts,
979977
server_monitoring_mode=self._options.server_monitoring_mode,
980-
topology_id=self._initial_topology_id,
978+
topology_id=self._topology_settings._topology_id if self._topology_settings else None,
981979
)
982980
if self._options.auto_encryption_opts:
983981
from pymongo.asynchronous.encryption import _Encrypter
@@ -1210,16 +1208,14 @@ def topology_description(self) -> TopologyDescription:
12101208
"""
12111209
if self._topology is None:
12121210
servers = {(host, port): ServerDescription((host, port)) for host, port in self._seeds}
1213-
td = TopologyDescription(
1211+
return TopologyDescription(
12141212
TOPOLOGY_TYPE.Unknown,
12151213
servers,
12161214
None,
12171215
None,
12181216
None,
1219-
TopologySettings(),
1217+
self._topology_settings,
12201218
)
1221-
self._initial_topology_id = td._topology_settings._topology_id
1222-
return td
12231219
return self._topology.description
12241220

12251221
@property

pymongo/synchronous/mongo_client.py

+4-8
Original file line numberDiff line numberDiff line change
@@ -766,7 +766,6 @@ def __init__(
766766
self._timeout: float | None = None
767767
self._topology_settings: TopologySettings = None # type: ignore[assignment]
768768
self._event_listeners: _EventListeners | None = None
769-
self._initial_topology_id: Optional[ObjectId] = None
770769

771770
# _pool_class, _monitor_class, and _condition_class are for deep
772771
# customization of PyMongo, e.g. Motor.
@@ -873,8 +872,7 @@ def __init__(
873872
self._options.read_concern,
874873
)
875874

876-
if not is_srv:
877-
self._init_based_on_options(self._seeds, srv_max_hosts, srv_service_name)
875+
self._init_based_on_options(self._seeds, srv_max_hosts, srv_service_name)
878876

879877
self._opened = False
880878
self._closed = False
@@ -975,7 +973,7 @@ def _init_based_on_options(
975973
srv_service_name=srv_service_name,
976974
srv_max_hosts=srv_max_hosts,
977975
server_monitoring_mode=self._options.server_monitoring_mode,
978-
topology_id=self._initial_topology_id,
976+
topology_id=self._topology_settings._topology_id if self._topology_settings else None,
979977
)
980978
if self._options.auto_encryption_opts:
981979
from pymongo.synchronous.encryption import _Encrypter
@@ -1208,16 +1206,14 @@ def topology_description(self) -> TopologyDescription:
12081206
"""
12091207
if self._topology is None:
12101208
servers = {(host, port): ServerDescription((host, port)) for host, port in self._seeds}
1211-
td = TopologyDescription(
1209+
return TopologyDescription(
12121210
TOPOLOGY_TYPE.Unknown,
12131211
servers,
12141212
None,
12151213
None,
12161214
None,
1217-
TopologySettings(),
1215+
self._topology_settings,
12181216
)
1219-
self._initial_topology_id = td._topology_settings._topology_id
1220-
return td
12211217
return self._topology.description
12221218

12231219
@property

0 commit comments

Comments
 (0)