Skip to content

Commit 6b4c050

Browse files
committed
Make use_list configurable in connection init
1 parent e9bab18 commit 6b4c050

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

Diff for: tarantool/connection.py

+7-4
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ def __init__(self, host, port,
107107
connect_now=True,
108108
encoding=ENCODING_DEFAULT,
109109
call_16=False,
110+
use_list=True,
110111
connection_timeout=CONNECTION_TIMEOUT):
111112
'''
112113
Initialize a connection to the server.
@@ -141,6 +142,7 @@ def __init__(self, host, port,
141142
self.error = True
142143
self.encoding = encoding
143144
self.call_16 = call_16
145+
self.use_list = use_list
144146
self.connection_timeout = connection_timeout
145147
if connect_now:
146148
self.connect()
@@ -277,7 +279,8 @@ def _send_request_wo_reconnect(self, request):
277279
while True:
278280
try:
279281
self._socket.sendall(bytes(request))
280-
response = request.response_class(self, self._read_response())
282+
response = request.response_class(self, self._read_response(),
283+
self.use_list)
281284
break
282285
except SchemaReloadException as e:
283286
self.update_schema(e.schema_version)
@@ -462,7 +465,7 @@ def _join_v16(self, server_uuid):
462465
self._socket.sendall(bytes(request))
463466

464467
while True:
465-
resp = Response(self, self._read_response())
468+
resp = Response(self, self._read_response(), self.use_list)
466469
yield resp
467470
if resp.code == REQUEST_TYPE_OK or resp.code >= REQUEST_TYPE_ERROR:
468471
return
@@ -476,7 +479,7 @@ class JoinState:
476479
self._socket.sendall(bytes(request))
477480
state = JoinState.Handshake
478481
while True:
479-
resp = Response(self, self._read_response())
482+
resp = Response(self, self._read_response(), self.use_list)
480483
yield resp
481484
if resp.code >= REQUEST_TYPE_ERROR:
482485
return
@@ -505,7 +508,7 @@ def subscribe(self, cluster_uuid, server_uuid, vclock=None):
505508
request = RequestSubscribe(self, cluster_uuid, server_uuid, vclock)
506509
self._socket.sendall(bytes(request))
507510
while True:
508-
resp = Response(self, self._read_response())
511+
resp = Response(self, self._read_response(), self.use_list)
509512
yield resp
510513
if resp.code >= REQUEST_TYPE_ERROR:
511514
return

Diff for: tarantool/response.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class Response(Sequence):
3939
and parses binary packet received from the server.
4040
'''
4141

42-
def __init__(self, conn, response):
42+
def __init__(self, conn, response, use_list=True):
4343
'''
4444
Create an instance of `Response` using data received from the server.
4545
@@ -54,7 +54,7 @@ def __init__(self, conn, response):
5454
# created in the __new__().
5555
# super(Response, self).__init__()
5656

57-
kwargs = dict(use_list=True)
57+
kwargs = dict(use_list=use_list)
5858
if msgpack.version >= (1, 0, 0):
5959
# XXX: Explain why it is necessary.
6060
kwargs['strict_map_key'] = False

0 commit comments

Comments
 (0)