Skip to content

Commit 5d1b740

Browse files
authored
Merge pull request #51 from b0g3r/master
Add support for conversations/models APIs
2 parents 5bec122 + 2b306e3 commit 5d1b740

5 files changed

Lines changed: 42 additions & 2 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ See detailed [API documentation](https://typesense.org/api).
2020

2121
| Typesense Server | typesense-python |
2222
|------------------|------------------|
23-
| \>= v0.26.0 | \>= v0.20.0 |
23+
| \>= v26.0 | \>= v0.20.0 |
2424
| \>= v0.25.0 | \>= v0.16.0 |
2525
| \>= v0.23.0 | \>= v0.14.0 |
2626
| \>= v0.21.0 | \>= v0.13.0 |

src/typesense/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from .client import Client # NOQA
22

33

4-
__version__ = '0.20.0'
4+
__version__ = '0.21.0'
55

src/typesense/client.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from .aliases import Aliases
2+
from .conversations_models import ConversationsModels
23
from .debug import Debug
34
from .collections import Collections
45
from .multi_search import MultiSearch
@@ -21,3 +22,4 @@ def __init__(self, config_dict):
2122
self.operations = Operations(self.api_call)
2223
self.debug = Debug(self.api_call)
2324
self.stopwords = Stopwords(self.api_call)
25+
self.conversations_models = ConversationsModels(self.api_call)
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
class ConversationModel(object):
2+
def __init__(self, api_call, model_id):
3+
self.model_id = model_id
4+
self.api_call = api_call
5+
6+
def _endpoint_path(self):
7+
from .conversations_models import ConversationsModels
8+
return u"{0}/{1}".format(ConversationsModels.RESOURCE_PATH, self.model_id)
9+
10+
def retrieve(self):
11+
return self.api_call.get(self._endpoint_path())
12+
13+
def update(self, model):
14+
return self.api_call.put(self._endpoint_path(), model)
15+
16+
def delete(self):
17+
return self.api_call.delete(self._endpoint_path())
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
from .conversation_model import ConversationModel
2+
3+
4+
class ConversationsModels(object):
5+
RESOURCE_PATH = '/conversations/models'
6+
7+
def __init__(self, api_call):
8+
self.api_call = api_call
9+
self.conversations_models = {}
10+
11+
def __getitem__(self, model_id):
12+
if model_id not in self.conversations_models:
13+
self.conversations_models[model_id] = ConversationModel(self.api_call, model_id)
14+
15+
return self.conversations_models.get(model_id)
16+
17+
def create(self, model):
18+
return self.api_call.post(ConversationsModels.RESOURCE_PATH, model)
19+
20+
def retrieve(self):
21+
return self.api_call.get(ConversationsModels.RESOURCE_PATH)

0 commit comments

Comments
 (0)