Skip to content

Commit 3de84ff

Browse files
authored
fix(python): do not share parameters for browse methods (#4168)
1 parent 804d49d commit 3de84ff

File tree

2 files changed

+23
-12
lines changed

2 files changed

+23
-12
lines changed

playground/python/app/search.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,10 @@ def main():
2020
print("client initialized", client)
2121

2222
try:
23-
resp = client.delete_by(
24-
index_name="foo", delete_by_params={"filters": "brand:name"}
25-
)
26-
print(resp.to_json())
23+
resp = client.search_synonyms("foo")
24+
print(resp)
25+
client.browse_synonyms("foo", lambda _resp: print(_resp))
2726
finally:
2827
client.close()
2928

3029
print("client closed")
31-
32-
33-
main()

templates/python/search_helpers.mustache

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -122,13 +122,17 @@
122122
self,
123123
index_name: str,
124124
aggregator: Callable[[BrowseResponse], None],
125-
browse_params: BrowseParamsObject = BrowseParamsObject(),
125+
browse_params: Optional[BrowseParamsObject] = None,
126126
request_options: Optional[Union[dict, RequestOptions]] = None,
127127
) -> BrowseResponse:
128128
"""
129129
Helper: Iterate on the `browse` method of the client to allow aggregating objects of an index.
130130
"""
131-
browse_params.hits_per_page = browse_params.hits_per_page or 1000
131+
if browse_params is None:
132+
browse_params = BrowseParamsObject(hits_per_page=1000)
133+
134+
if browse_params.hits_per_page is None:
135+
browse_params.hits_per_page = 1000
132136

133137
{{^isSyncClient}}async {{/isSyncClient}}def _func(_prev: Optional[BrowseResponse]) -> BrowseResponse:
134138
if _prev is not None and _prev.cursor is not None:
@@ -149,14 +153,18 @@
149153
self,
150154
index_name: str,
151155
aggregator: Callable[[SearchRulesResponse], None],
152-
search_rules_params: SearchRulesParams = SearchRulesParams(hits_per_page=1000),
156+
search_rules_params: Optional[SearchRulesParams] = None,
153157
request_options: Optional[Union[dict, RequestOptions]] = None,
154158
) -> SearchRulesResponse:
155159
"""
156160
Helper: Iterate on the `search_rules` method of the client to allow aggregating rules of an index.
157161
"""
162+
if search_rules_params is None:
163+
search_rules_params = SearchRulesParams(hits_per_page=1000)
164+
158165
if search_rules_params.hits_per_page is None:
159166
search_rules_params.hits_per_page = 1000
167+
160168
hits_per_page = search_rules_params.hits_per_page
161169

162170
{{^isSyncClient}}async {{/isSyncClient}}def _func(_prev: Optional[SearchRulesResponse]) -> SearchRulesResponse:
@@ -177,12 +185,17 @@
177185
self,
178186
index_name: str,
179187
aggregator: Callable[[SearchSynonymsResponse], None],
180-
search_synonyms_params: SearchSynonymsParams = SearchSynonymsParams(hits_per_page=1000),
188+
search_synonyms_params: Optional[SearchSynonymsParams] = None,
181189
request_options: Optional[Union[dict, RequestOptions]] = None,
182190
) -> SearchSynonymsResponse:
183191
"""
184192
Helper: Iterate on the `search_synonyms` method of the client to allow aggregating synonyms of an index.
185193
"""
194+
if search_synonyms_params is None:
195+
search_synonyms_params = SearchSynonymsParams(
196+
hits_per_page=1000,
197+
page=0
198+
)
186199
hits_per_page = 1000
187200
page = search_synonyms_params.page or 0
188201
search_synonyms_params.hits_per_page = hits_per_page
@@ -206,11 +219,13 @@
206219
{{^isSyncClient}}async {{/isSyncClient}}def generate_secured_api_key(
207220
self,
208221
parent_api_key: str,
209-
restrictions: Optional[Union[dict, SecuredApiKeyRestrictions]] = SecuredApiKeyRestrictions(),
222+
restrictions: Optional[Union[dict, SecuredApiKeyRestrictions]] = None,
210223
) -> str:
211224
"""
212225
Helper: Generates a secured API key based on the given `parent_api_key` and given `restrictions`.
213226
"""
227+
if restrictions is None:
228+
restrictions = SecuredApiKeyRestrictions()
214229
restrictions_dict = {}
215230
if isinstance(restrictions, SecuredApiKeyRestrictions):
216231
restrictions_dict = restrictions.to_dict()

0 commit comments

Comments
 (0)