Skip to content

Commit eb147fc

Browse files
committed
fix(synonyms): fix method signature of upserting synonym sets
1 parent eaec386 commit eb147fc

File tree

3 files changed

+15
-25
lines changed

3 files changed

+15
-25
lines changed

src/typesense/synonym_set.py

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@
99

1010
from typesense.api_call import ApiCall
1111
from typesense.types.synonym_set import (
12+
SynonymItemDeleteSchema,
13+
SynonymItemSchema,
14+
SynonymSetCreateSchema,
1215
SynonymSetDeleteSchema,
1316
SynonymSetRetrieveSchema,
14-
SynonymItemSchema,
15-
SynonymItemDeleteSchema,
1617
)
1718

1819

@@ -35,13 +36,21 @@ def retrieve(self) -> SynonymSetRetrieveSchema:
3536
)
3637
return response
3738

39+
def upsert(self, set: SynonymSetCreateSchema) -> SynonymSetCreateSchema:
40+
response: SynonymSetCreateSchema = self.api_call.put(
41+
self._endpoint_path,
42+
entity_type=SynonymSetCreateSchema,
43+
body=set,
44+
)
45+
return response
46+
3847
def delete(self) -> SynonymSetDeleteSchema:
3948
response: SynonymSetDeleteSchema = self.api_call.delete(
4049
self._endpoint_path,
4150
entity_type=SynonymSetDeleteSchema,
4251
)
4352
return response
44-
53+
4554
@property
4655
def _items_path(self) -> str:
4756
return "/".join([self._endpoint_path, "items"]) # /synonym_sets/{name}/items
@@ -57,9 +66,7 @@ def list_items(
5766
"offset": offset,
5867
}
5968
clean_params: typing.Dict[str, int] = {
60-
k: v
61-
for k, v in params.items()
62-
if v is not None
69+
k: v for k, v in params.items() if v is not None
6370
}
6471
response: typing.List[SynonymItemSchema] = self.api_call.get(
6572
self._items_path,
@@ -91,5 +98,3 @@ def delete_item(self, item_id: str) -> SynonymItemDeleteSchema:
9198
"/".join([self._items_path, item_id]), entity_type=SynonymItemDeleteSchema
9299
)
93100
return response
94-
95-

src/typesense/synonym_sets.py

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
from typesense.api_call import ApiCall
1111
from typesense.synonym_set import SynonymSet
1212
from typesense.types.synonym_set import (
13-
SynonymSetCreateSchema,
1413
SynonymSetSchema,
1514
)
1615

@@ -33,15 +32,3 @@ def __getitem__(self, synonym_set_name: str) -> SynonymSet:
3332
from typesense.synonym_set import SynonymSet as PerSet
3433

3534
return PerSet(self.api_call, synonym_set_name)
36-
37-
def upsert(
38-
self,
39-
synonym_set_name: str,
40-
payload: SynonymSetCreateSchema,
41-
) -> SynonymSetSchema:
42-
response: SynonymSetSchema = self.api_call.put(
43-
"/".join([SynonymSets.resource_path, synonym_set_name]),
44-
body=payload,
45-
entity_type=SynonymSetSchema,
46-
)
47-
return response

tests/synonym_sets_test.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
SynonymSetSchema,
2020
)
2121

22-
2322
pytestmark = pytest.mark.skipif(
2423
not is_v30_or_above(
2524
Client(
@@ -102,7 +101,7 @@ def test_create(fake_synonym_sets: SynonymSets) -> None:
102101
}
103102
]
104103
}
105-
fake_synonym_sets.upsert("test-set", payload)
104+
fake_synonym_sets["test-set"].upsert(payload)
106105

107106
assert mock.call_count == 1
108107
assert mock.called is True
@@ -116,8 +115,7 @@ def test_actual_create(
116115
delete_all_synonym_sets: None,
117116
) -> None:
118117
"""Test that the SynonymSets object can create a synonym set on Typesense Server."""
119-
response = actual_synonym_sets.upsert(
120-
"test-set",
118+
response = actual_synonym_sets["test-set"].upsert(
121119
{
122120
"items": [
123121
{

0 commit comments

Comments
 (0)