Skip to content

Commit 09d0a4d

Browse files
bors[bot]Azanulalallema
authored
Merge #662
662: Object oriented code r=alallema a=Azanul # Pull Request ## Related issue Fixes #604 ## What does this PR do? - Converts root level functions to class methods ## PR checklist Please check if your PR fulfills the following requirements: - [X] Does this PR fix an existing issue, or have you listed the changes applied in the PR description (and why they are needed)? - [X] Have you read the contributing guidelines? - [X] Have you made sure that the title is accurate and descriptive of the changes? Thank you so much for contributing to Meilisearch! Co-authored-by: Azanul <[email protected]> Co-authored-by: Azanul Haque <[email protected]> Co-authored-by: Amélie <[email protected]>
2 parents 3b5c2e8 + 98c0b80 commit 09d0a4d

File tree

3 files changed

+166
-163
lines changed

3 files changed

+166
-163
lines changed

meilisearch/client.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
from meilisearch.index import Index
1616
from meilisearch.models.key import Key, KeysResults
1717
from meilisearch.models.task import TaskInfo
18-
from meilisearch.task import cancel_tasks, delete_tasks, get_task, get_tasks, wait_for_task
18+
from meilisearch.task import TaskHandler
1919

2020

2121
class Client:
@@ -41,6 +41,8 @@ def __init__(
4141

4242
self.http = HttpRequests(self.config)
4343

44+
self.task_handler = TaskHandler(self.config)
45+
4446
def create_index(self, uid: str, options: Optional[Dict[str, Any]] = None) -> TaskInfo:
4547
"""Create an index.
4648
@@ -458,7 +460,7 @@ def get_tasks(
458460
MeiliSearchApiError
459461
An error containing details about why Meilisearch can't process your request. Meilisearch error codes are described here: https://docs.meilisearch.com/errors/#meilisearch-errors
460462
"""
461-
return get_tasks(self.config, parameters=parameters)
463+
return self.task_handler.get_tasks(parameters=parameters)
462464

463465
def get_task(self, uid: int) -> Dict[str, Any]:
464466
"""Get one task.
@@ -478,7 +480,7 @@ def get_task(self, uid: int) -> Dict[str, Any]:
478480
MeiliSearchApiError
479481
An error containing details about why Meilisearch can't process your request. Meilisearch error codes are described here: https://docs.meilisearch.com/errors/#meilisearch-errors
480482
"""
481-
return get_task(self.config, uid)
483+
return self.task_handler.get_task(uid)
482484

483485
def cancel_tasks(self, parameters: Dict[str, Any]) -> TaskInfo:
484486
"""Cancel a list of enqueued or processing tasks.
@@ -499,7 +501,7 @@ def cancel_tasks(self, parameters: Dict[str, Any]) -> TaskInfo:
499501
MeiliSearchApiError
500502
An error containing details about why Meilisearch can't process your request. Meilisearch error codes are described here: https://docs.meilisearch.com/errors/#meilisearch-errors
501503
"""
502-
return cancel_tasks(self.config, parameters=parameters)
504+
return self.task_handler.cancel_tasks(parameters=parameters)
503505

504506
def delete_tasks(self, parameters: Dict[str, Any]) -> TaskInfo:
505507
"""Delete a list of finished tasks.
@@ -518,7 +520,7 @@ def delete_tasks(self, parameters: Dict[str, Any]) -> TaskInfo:
518520
MeiliSearchApiError
519521
An error containing details about why Meilisearch can't process your request. Meilisearch error codes are described here: https://docs.meilisearch.com/errors/#meilisearch-errors
520522
"""
521-
return delete_tasks(self.config, parameters=parameters)
523+
return self.task_handler.delete_tasks(parameters=parameters)
522524

523525
def wait_for_task(
524526
self,
@@ -547,7 +549,7 @@ def wait_for_task(
547549
MeiliSearchTimeoutError
548550
An error containing details about why Meilisearch can't process your request. Meilisearch error codes are described here: https://docs.meilisearch.com/errors/#meilisearch-errors
549551
"""
550-
return wait_for_task(self.config, uid, timeout_in_ms, interval_in_ms)
552+
return self.task_handler.wait_for_task(uid, timeout_in_ms, interval_in_ms)
551553

552554
def generate_tenant_token(
553555
self,

meilisearch/index.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from meilisearch.models.document import Document, DocumentsResults
1010
from meilisearch.models.index import Faceting, IndexStats, Pagination, TypoTolerance
1111
from meilisearch.models.task import Task, TaskInfo, TaskResults
12-
from meilisearch.task import get_task, get_tasks, wait_for_task
12+
from meilisearch.task import TaskHandler
1313

1414

1515
# pylint: disable=too-many-public-methods
@@ -41,6 +41,7 @@ def __init__(
4141
"""
4242
self.config = config
4343
self.http = HttpRequests(config)
44+
self.task_handler = TaskHandler(config)
4445
self.uid = uid
4546
self.primary_key = primary_key
4647
self.created_at = self._iso_to_date_time(created_at)
@@ -169,7 +170,7 @@ def get_tasks(self, parameters: Optional[Dict[str, Any]] = None) -> TaskResults:
169170
else:
170171
parameters = {"indexUids": [self.uid]}
171172

172-
tasks = get_tasks(self.config, parameters=parameters)
173+
tasks = self.task_handler.get_tasks(parameters=parameters)
173174
return TaskResults(tasks)
174175

175176
def get_task(self, uid: int) -> Task:
@@ -190,7 +191,7 @@ def get_task(self, uid: int) -> Task:
190191
MeiliSearchApiError
191192
An error containing details about why Meilisearch can't process your request. Meilisearch error codes are described here: https://docs.meilisearch.com/errors/#meilisearch-errors
192193
"""
193-
task = get_task(self.config, uid)
194+
task = self.task_handler.get_task(uid)
194195
return Task(**task)
195196

196197
def wait_for_task(
@@ -220,7 +221,7 @@ def wait_for_task(
220221
MeiliSearchTimeoutError
221222
An error containing details about why Meilisearch can't process your request. Meilisearch error codes are described here: https://docs.meilisearch.com/errors/#meilisearch-errors
222223
"""
223-
task = wait_for_task(self.config, uid, timeout_in_ms, interval_in_ms)
224+
task = self.task_handler.wait_for_task(uid, timeout_in_ms, interval_in_ms)
224225
return Task(**task)
225226

226227
def get_stats(self) -> IndexStats:

0 commit comments

Comments
 (0)