Skip to content

Commit b0e8d28

Browse files
code-health: explicit Connection named args
Using ``**kwargs`` with ``kwargs.get`` seems like an old-style way to force argument to be a named one. It is seems like a bad practice and makes it harder to make a readable documentation. Part of #67
1 parent 12de422 commit b0e8d28

File tree

2 files changed

+40
-46
lines changed

2 files changed

+40
-46
lines changed

Diff for: tarantool/connection.py

+28-36
Original file line numberDiff line numberDiff line change
@@ -129,11 +129,11 @@ def connect(self):
129129
raise NotImplementedError
130130

131131
@abc.abstractmethod
132-
def call(self, func_name, *args, **kwargs):
132+
def call(self, func_name, *args):
133133
raise NotImplementedError
134134

135135
@abc.abstractmethod
136-
def eval(self, expr, *args, **kwargs):
136+
def eval(self, expr, *args):
137137
raise NotImplementedError
138138

139139
@abc.abstractmethod
@@ -145,27 +145,28 @@ def insert(self, space_name, values):
145145
raise NotImplementedError
146146

147147
@abc.abstractmethod
148-
def delete(self, space_name, key, **kwargs):
148+
def delete(self, space_name, key, *, index=None):
149149
raise NotImplementedError
150150

151151
@abc.abstractmethod
152-
def upsert(self, space_name, tuple_value, op_list, **kwargs):
152+
def upsert(self, space_name, tuple_value, op_list, *, index=None):
153153
raise NotImplementedError
154154

155155
@abc.abstractmethod
156-
def update(self, space_name, key, op_list, **kwargs):
156+
def update(self, space_name, key, op_list, *, index=None):
157157
raise NotImplementedError
158158

159159
@abc.abstractmethod
160160
def ping(self, notime):
161161
raise NotImplementedError
162162

163163
@abc.abstractmethod
164-
def select(self, space_name, key, **kwargs):
164+
def select(self, space_name, key, *, offset=None, limit=None,
165+
index=None, iterator=None):
165166
raise NotImplementedError
166167

167168
@abc.abstractmethod
168-
def execute(self, query, params, **kwargs):
169+
def execute(self, query, params):
169170
raise NotImplementedError
170171

171172

@@ -733,7 +734,7 @@ def insert(self, space_name, values):
733734
request = RequestInsert(self, space_name, values)
734735
return self._send_request(request)
735736

736-
def delete(self, space_name, key, **kwargs):
737+
def delete(self, space_name, key, *, index=0):
737738
'''
738739
Execute DELETE request.
739740
Delete a single record identified by `key`. If you're using a secondary
@@ -746,17 +747,16 @@ def delete(self, space_name, key, **kwargs):
746747
747748
:rtype: `Response` instance
748749
'''
749-
index_name = kwargs.get("index", 0)
750750

751751
key = check_key(key)
752752
if isinstance(space_name, str):
753753
space_name = self.schema.get_space(space_name).sid
754-
if isinstance(index_name, str):
755-
index_name = self.schema.get_index(space_name, index_name).iid
756-
request = RequestDelete(self, space_name, index_name, key)
754+
if isinstance(index, str):
755+
index = self.schema.get_index(space_name, index).iid
756+
request = RequestDelete(self, space_name, index, key)
757757
return self._send_request(request)
758758

759-
def upsert(self, space_name, tuple_value, op_list, **kwargs):
759+
def upsert(self, space_name, tuple_value, op_list, *, index=0):
760760
'''
761761
Execute UPSERT request.
762762
@@ -819,18 +819,17 @@ def upsert(self, space_name, tuple_value, op_list, **kwargs):
819819
# Delete two fields, starting with the second field
820820
[('#', 2, 2)]
821821
'''
822-
index_name = kwargs.get("index", 0)
823822

824823
if isinstance(space_name, str):
825824
space_name = self.schema.get_space(space_name).sid
826-
if isinstance(index_name, str):
827-
index_name = self.schema.get_index(space_name, index_name).iid
825+
if isinstance(index, str):
826+
index = self.schema.get_index(space_name, index).iid
828827
op_list = self._ops_process(space_name, op_list)
829-
request = RequestUpsert(self, space_name, index_name, tuple_value,
828+
request = RequestUpsert(self, space_name, index, tuple_value,
830829
op_list)
831830
return self._send_request(request)
832831

833-
def update(self, space_name, key, op_list, **kwargs):
832+
def update(self, space_name, key, op_list, *, index=0):
834833
'''
835834
Execute an UPDATE request.
836835
@@ -894,15 +893,14 @@ def update(self, space_name, key, op_list, **kwargs):
894893
# Delete two fields, starting with the second field
895894
[('#', 2, 2)]
896895
'''
897-
index_name = kwargs.get("index", 0)
898896

899897
key = check_key(key)
900898
if isinstance(space_name, str):
901899
space_name = self.schema.get_space(space_name).sid
902-
if isinstance(index_name, str):
903-
index_name = self.schema.get_index(space_name, index_name).iid
900+
if isinstance(index, str):
901+
index = self.schema.get_index(space_name, index).iid
904902
op_list = self._ops_process(space_name, op_list)
905-
request = RequestUpdate(self, space_name, index_name, key, op_list)
903+
request = RequestUpdate(self, space_name, index, key, op_list)
906904
return self._send_request(request)
907905

908906
def ping(self, notime=False):
@@ -923,7 +921,7 @@ def ping(self, notime=False):
923921
return "Success"
924922
return t1 - t0
925923

926-
def select(self, space_name, key=None, **kwargs):
924+
def select(self, space_name, key=None, *, offset=0, limit=0xffffffff, index=0, iterator=None):
927925
'''
928926
Execute a SELECT request.
929927
Select and retrieve data from the database.
@@ -964,28 +962,22 @@ def select(self, space_name, key=None, **kwargs):
964962
>>> select(0, [])
965963
'''
966964

967-
# Initialize arguments and its defaults from **kwargs
968-
offset = kwargs.get("offset", 0)
969-
limit = kwargs.get("limit", 0xffffffff)
970-
index_name = kwargs.get("index", 0)
971-
iterator_type = kwargs.get("iterator")
972-
973-
if iterator_type is None:
974-
iterator_type = ITERATOR_EQ
965+
if iterator is None:
966+
iterator = ITERATOR_EQ
975967
if key is None or (isinstance(key, (list, tuple)) and
976968
len(key) == 0):
977-
iterator_type = ITERATOR_ALL
969+
iterator = ITERATOR_ALL
978970

979971
# Perform smart type checking (scalar / list of scalars / list of
980972
# tuples)
981973
key = check_key(key, select=True)
982974

983975
if isinstance(space_name, str):
984976
space_name = self.schema.get_space(space_name).sid
985-
if isinstance(index_name, str):
986-
index_name = self.schema.get_index(space_name, index_name).iid
987-
request = RequestSelect(self, space_name, index_name, key, offset,
988-
limit, iterator_type)
977+
if isinstance(index, str):
978+
index = self.schema.get_index(space_name, index).iid
979+
request = RequestSelect(self, space_name, index, key, offset,
980+
limit, iterator)
989981
response = self._send_request(request)
990982
return response
991983

Diff for: tarantool/connection_pool.py

+12-10
Original file line numberDiff line numberDiff line change
@@ -446,46 +446,48 @@ def insert(self, space_name, values, *, mode=Mode.RW):
446446

447447
return self._send(mode, 'insert', space_name, values)
448448

449-
def delete(self, space_name, key, *, mode=Mode.RW, **kwargs):
449+
def delete(self, space_name, key, *, index=0, mode=Mode.RW):
450450
'''
451451
:param tarantool.Mode mode: Request mode (default is RW).
452452
'''
453453

454-
return self._send(mode, 'delete', space_name, key, **kwargs)
454+
return self._send(mode, 'delete', space_name, key, index=index)
455455

456-
def upsert(self, space_name, tuple_value, op_list, *, mode=Mode.RW, **kwargs):
456+
def upsert(self, space_name, tuple_value, op_list, *, index=0, mode=Mode.RW):
457457
'''
458458
:param tarantool.Mode mode: Request mode (default is RW).
459459
'''
460460

461461
return self._send(mode, 'upsert', space_name, tuple_value,
462-
op_list, **kwargs)
462+
op_list, index=index)
463463

464-
def update(self, space_name, key, op_list, *, mode=Mode.RW, **kwargs):
464+
def update(self, space_name, key, op_list, *, index=0, mode=Mode.RW):
465465
'''
466466
:param tarantool.Mode mode: Request mode (default is RW).
467467
'''
468468

469469
return self._send(mode, 'update', space_name, key,
470-
op_list, **kwargs)
470+
op_list, index=index)
471471

472-
def ping(self, *, mode=None, **kwargs):
472+
def ping(self, notime=False, *, mode=None):
473473
'''
474474
:param tarantool.Mode mode: Request mode.
475475
'''
476476

477477
if mode is None:
478478
raise ValueError("Please, specify 'mode' keyword argument")
479479

480-
return self._send(mode, 'ping', **kwargs)
480+
return self._send(mode, 'ping', notime)
481481

482-
def select(self, space_name, key, *, mode=Mode.ANY, **kwargs):
482+
def select(self, space_name, key, *, offset=0, limit=0xffffffff,
483+
index=0, iterator=None, mode=Mode.ANY):
483484
'''
484485
:param tarantool.Mode mode: Request mode (default is
485486
ANY).
486487
'''
487488

488-
return self._send(mode, 'select', space_name, key, **kwargs)
489+
return self._send(mode, 'select', space_name, key, offset=offset, limit=limit,
490+
index=index, iterator=iterator)
489491

490492
def execute(self, query, params=None, *, mode=None):
491493
'''

0 commit comments

Comments
 (0)