From 57e24b460c97cbea82eb00cf14b1be3cf3757d57 Mon Sep 17 00:00:00 2001 From: 2mal3 <56305732+2mal3@users.noreply.github.com> Date: Wed, 9 Apr 2025 11:02:47 +0200 Subject: [PATCH 1/2] Fix IndexStats not returning attributes correctly --- meilisearch/models/index.py | 6 ++---- tests/models/test_index.py | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/meilisearch/models/index.py b/meilisearch/models/index.py index 5457be56..cd06e717 100644 --- a/meilisearch/models/index.py +++ b/meilisearch/models/index.py @@ -21,7 +21,7 @@ def __init__(self, doc: Dict[str, Any]) -> None: def __getattr__(self, attr: str) -> Any: if attr in self.__dict.keys(): - return attr + return self.__dict[attr] raise AttributeError(f"{self.__class__.__name__} object has no attribute {attr}") def __iter__(self) -> Iterator: @@ -120,7 +120,5 @@ class UserProvidedEmbedder(CamelBase): class Embedders(CamelBase): embedders: Dict[ str, - Union[ - OpenAiEmbedder, HuggingFaceEmbedder, OllamaEmbedder, RestEmbedder, UserProvidedEmbedder - ], + Union[OpenAiEmbedder, HuggingFaceEmbedder, OllamaEmbedder, RestEmbedder, UserProvidedEmbedder], ] diff --git a/tests/models/test_index.py b/tests/models/test_index.py index d3702e51..9c57a941 100644 --- a/tests/models/test_index.py +++ b/tests/models/test_index.py @@ -7,7 +7,7 @@ def test_getattr(): document = IndexStats({"field1": "test 1", "fiels2": "test 2"}) - assert document.__getattr__("field1") == "field1" + assert document.__getattr__("field1") == "test 1" def test_getattr_not_found(): From d05426fca1675d98f35a70f2b91a58e7944990fa Mon Sep 17 00:00:00 2001 From: 2mal3 <56305732+2mal3@users.noreply.github.com> Date: Mon, 26 May 2025 19:11:30 +0200 Subject: [PATCH 2/2] Fix missing import in models/index.py --- meilisearch/models/index.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/meilisearch/models/index.py b/meilisearch/models/index.py index 7903dad2..ad43ed3b 100644 --- a/meilisearch/models/index.py +++ b/meilisearch/models/index.py @@ -1,7 +1,7 @@ from __future__ import annotations from enum import Enum -from typing import Any, Dict, Iterator, List, Optional +from typing import Any, Dict, Iterator, List, Optional, Union from camel_converter import to_snake from camel_converter.pydantic_base import CamelBase @@ -120,5 +120,7 @@ class UserProvidedEmbedder(CamelBase): class Embedders(CamelBase): embedders: Dict[ str, - Union[OpenAiEmbedder, HuggingFaceEmbedder, OllamaEmbedder, RestEmbedder, UserProvidedEmbedder], + Union[ + OpenAiEmbedder, HuggingFaceEmbedder, OllamaEmbedder, RestEmbedder, UserProvidedEmbedder + ], ]