Skip to content

Commit 2b02ad8

Browse files
authored
Merge pull request #121 from sanders41/except
Refactor to simplify code
2 parents bea5459 + f4af2b2 commit 2b02ad8

File tree

4 files changed

+12
-15
lines changed

4 files changed

+12
-15
lines changed

meilisearch_python_async/_http_requests.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
from meilisearch_python_async.errors import MeiliSearchApiError, MeiliSearchCommunicationError
1515

1616

17-
class _HttpRequests:
17+
class HttpRequests:
1818
def __init__(self, http_client: AsyncClient) -> None:
1919
self.http_client = http_client
2020

@@ -40,11 +40,7 @@ async def _send_request(
4040
response.raise_for_status()
4141
return response
4242

43-
except RemoteProtocolError as err:
44-
raise MeiliSearchCommunicationError(str(err)) from err
45-
except ConnectError as err:
46-
raise MeiliSearchCommunicationError(str(err)) from err
47-
except ConnectTimeout as err:
43+
except (ConnectError, ConnectTimeout, RemoteProtocolError) as err:
4844
raise MeiliSearchCommunicationError(str(err)) from err
4945
except HTTPError as err:
5046
raise MeiliSearchApiError(str(err), response) from err

meilisearch_python_async/client.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
from httpx import AsyncClient
77

8-
from meilisearch_python_async._http_requests import _HttpRequests
8+
from meilisearch_python_async._http_requests import HttpRequests
99
from meilisearch_python_async.errors import MeiliSearchApiError
1010
from meilisearch_python_async.index import Index
1111
from meilisearch_python_async.models.client import ClientStats, Keys
@@ -31,7 +31,7 @@ def __init__(self, url: str, api_key: str | None = None, *, timeout: int | None
3131
self._http_client = AsyncClient(
3232
base_url=url, timeout=timeout, headers=self._set_headers(api_key)
3333
)
34-
self._http_requests = _HttpRequests(self._http_client)
34+
self._http_requests = HttpRequests(self._http_client)
3535

3636
async def __aenter__(self) -> Client:
3737
return self

meilisearch_python_async/index.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import aiofiles
1414
from httpx import AsyncClient
1515

16-
from meilisearch_python_async._http_requests import _HttpRequests
16+
from meilisearch_python_async._http_requests import HttpRequests
1717
from meilisearch_python_async.errors import (
1818
InvalidDocumentError,
1919
MeiliSearchApiError,
@@ -61,7 +61,7 @@ def __init__(
6161
self._documents_url = f"{self._base_url_with_uid}/documents"
6262
self._stats_url = f"{self._base_url_with_uid}/stats"
6363
self._settings_url = f"{self._base_url_with_uid}/settings"
64-
self._http_requests = _HttpRequests(http_client)
64+
self._http_requests = HttpRequests(http_client)
6565

6666
def __str__(self) -> str:
6767
return f"{type(self).__name__}(uid={self.uid}, primary_key={self.primary_key}, created_at={self.created_at}, updated_at={self.updated_at})"
@@ -115,12 +115,13 @@ async def delete_if_exists(self) -> bool:
115115
"""
116116
try:
117117
await self.delete()
118-
return True
119118
except MeiliSearchApiError as error:
120119
if error.code != "index_not_found":
121120
raise
122121
return False
123122

123+
return True
124+
124125
async def update(self, primary_key: str) -> Index:
125126
"""Update the index primary key.
126127
@@ -241,7 +242,7 @@ async def create(
241242
payload = {"primaryKey": primary_key, "uid": uid}
242243

243244
url = "indexes"
244-
response = await _HttpRequests(http_client).post(url, payload)
245+
response = await HttpRequests(http_client).post(url, payload)
245246
index_dict = response.json()
246247
return cls(
247248
http_client=http_client,

tests/test_index.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import pytest
44
from httpx import Response
55

6-
from meilisearch_python_async._http_requests import _HttpRequests
6+
from meilisearch_python_async._http_requests import HttpRequests
77
from meilisearch_python_async.errors import MeiliSearchApiError, MeiliSearchTimeoutError
88
from meilisearch_python_async.index import Index
99
from meilisearch_python_async.models.settings import MeiliSearchSettings
@@ -517,7 +517,7 @@ async def test_delete_if_exists_error(test_client, index_uid, monkeypatch):
517517
async def mock_response(*args, **kwargs):
518518
raise MeiliSearchApiError("test", Response(status_code=404))
519519

520-
monkeypatch.setattr(_HttpRequests, "_send_request", mock_response)
520+
monkeypatch.setattr(HttpRequests, "_send_request", mock_response)
521521
with pytest.raises(MeiliSearchApiError):
522522
await test_client.index(index_uid).delete_if_exists()
523523

@@ -547,6 +547,6 @@ async def test_delete_index_if_exists_error(test_client, index_uid, monkeypatch)
547547
async def mock_response(*args, **kwargs):
548548
raise MeiliSearchApiError("test", Response(status_code=404))
549549

550-
monkeypatch.setattr(_HttpRequests, "_send_request", mock_response)
550+
monkeypatch.setattr(HttpRequests, "_send_request", mock_response)
551551
with pytest.raises(MeiliSearchApiError):
552552
await test_client.delete_index_if_exists(index_uid)

0 commit comments

Comments
 (0)