Skip to content

Object oriented code #662

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
Feb 20, 2023
Merged
14 changes: 8 additions & 6 deletions meilisearch/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
from meilisearch.index import Index
from meilisearch.models.key import Key, KeysResults
from meilisearch.models.task import TaskInfo
from meilisearch.task import cancel_tasks, delete_tasks, get_task, get_tasks, wait_for_task
from meilisearch.task import TaskHandler


class Client:
Expand All @@ -41,6 +41,8 @@ def __init__(

self.http = HttpRequests(self.config)

self.task_handler = TaskHandler(self.config)

def create_index(self, uid: str, options: Optional[Dict[str, Any]] = None) -> TaskInfo:
"""Create an index.

Expand Down Expand Up @@ -458,7 +460,7 @@ def get_tasks(
MeiliSearchApiError
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
"""
return get_tasks(self.config, parameters=parameters)
return self.task_handler.get_tasks(parameters=parameters)

def get_task(self, uid: int) -> Dict[str, Any]:
"""Get one task.
Expand All @@ -478,7 +480,7 @@ def get_task(self, uid: int) -> Dict[str, Any]:
MeiliSearchApiError
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
"""
return get_task(self.config, uid)
return self.task_handler.get_task(uid)

def cancel_tasks(self, parameters: Dict[str, Any]) -> TaskInfo:
"""Cancel a list of enqueued or processing tasks.
Expand All @@ -499,7 +501,7 @@ def cancel_tasks(self, parameters: Dict[str, Any]) -> TaskInfo:
MeiliSearchApiError
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
"""
return cancel_tasks(self.config, parameters=parameters)
return self.task_handler.cancel_tasks(parameters=parameters)

def delete_tasks(self, parameters: Dict[str, Any]) -> TaskInfo:
"""Delete a list of finished tasks.
Expand All @@ -518,7 +520,7 @@ def delete_tasks(self, parameters: Dict[str, Any]) -> TaskInfo:
MeiliSearchApiError
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
"""
return delete_tasks(self.config, parameters=parameters)
return self.task_handler.delete_tasks(parameters=parameters)

def wait_for_task(
self,
Expand Down Expand Up @@ -547,7 +549,7 @@ def wait_for_task(
MeiliSearchTimeoutError
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
"""
return wait_for_task(self.config, uid, timeout_in_ms, interval_in_ms)
return self.task_handler.wait_for_task(uid, timeout_in_ms, interval_in_ms)

def generate_tenant_token(
self,
Expand Down
9 changes: 5 additions & 4 deletions meilisearch/index.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from meilisearch.models.document import Document, DocumentsResults
from meilisearch.models.index import Faceting, IndexStats, Pagination, TypoTolerance
from meilisearch.models.task import Task, TaskInfo, TaskResults
from meilisearch.task import get_task, get_tasks, wait_for_task
from meilisearch.task import TaskHandler


# pylint: disable=too-many-public-methods
Expand Down Expand Up @@ -41,6 +41,7 @@ def __init__(
"""
self.config = config
self.http = HttpRequests(config)
self.task_handler = TaskHandler(config)
self.uid = uid
self.primary_key = primary_key
self.created_at = self._iso_to_date_time(created_at)
Expand Down Expand Up @@ -169,7 +170,7 @@ def get_tasks(self, parameters: Optional[Dict[str, Any]] = None) -> TaskResults:
else:
parameters = {"indexUids": [self.uid]}

tasks = get_tasks(self.config, parameters=parameters)
tasks = self.task_handler.get_tasks(parameters=parameters)
return TaskResults(tasks)

def get_task(self, uid: int) -> Task:
Expand All @@ -190,7 +191,7 @@ def get_task(self, uid: int) -> Task:
MeiliSearchApiError
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
"""
task = get_task(self.config, uid)
task = self.task_handler.get_task(uid)
return Task(**task)

def wait_for_task(
Expand Down Expand Up @@ -220,7 +221,7 @@ def wait_for_task(
MeiliSearchTimeoutError
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
"""
task = wait_for_task(self.config, uid, timeout_in_ms, interval_in_ms)
task = self.task_handler.wait_for_task(uid, timeout_in_ms, interval_in_ms)
return Task(**task)

def get_stats(self) -> IndexStats:
Expand Down
Loading