Skip to content

Commit 39ff310

Browse files
Merge pull request #29 from thoughtspot/1.8.2
Updates for new 10.4 spotter APIs as well as changes to some endpoint…
2 parents 019e278 + 0cc163e commit 39ff310

File tree

3 files changed

+55
-9
lines changed

3 files changed

+55
-9
lines changed

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[metadata]
22
name = thoughtspot_rest_api_v1
3-
version = 1.8.1
3+
version = 1.8.2
44
description = Library implementing the ThoughtSpot V1 REST API
55
long_description = file: README.md
66
long_description_content_type = text/markdown
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = '1.8.1'
1+
__version__ = '1.8.2'

src/thoughtspot_rest_api_v1/tsrestapiv2.py

Lines changed: 53 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -368,29 +368,35 @@ def orgs_delete(self, org_identifier: str):
368368
#
369369
# /metadata/tag endpoints
370370
#
371-
def tags_search(self, tag_identifier: Optional[str] = None, color: Optional[str] = None):
371+
def tags_search(self, tag_identifier: Optional[str] = None, name_pattern: Optional[str] = None,
372+
color: Optional[str] = None):
372373
endpoint = 'tags/search'
373374
request = {}
374375
if tag_identifier is not None:
375376
request['tag_identifier'] = tag_identifier
376377
if color is not None:
377378
request['color'] = color
379+
if name_pattern is not None:
380+
request['name_pattern'] = name_pattern
381+
378382
return self.post_request(endpoint=endpoint, request=request)
379383

380-
def tags_create(self, name: str, color: str):
384+
def tags_create(self, name: str, color: Optional[str] = None):
381385
endpoint = 'tags/create'
382386
request = {
383-
'name': name,
384-
'color': color
387+
'name': name
385388
}
389+
if color is not None:
390+
request['color'] = color
386391
return self.post_request(endpoint=endpoint, request=request)
387392

388-
def tags_update(self, tag_identifier: str, name: str, color: str):
393+
def tags_update(self, tag_identifier: str, name: str, color: Optional[str] = None):
389394
endpoint = 'tags/{}/update'.format(tag_identifier)
390395
request = {
391-
'name': name,
392-
'color': color
396+
'name': name
393397
}
398+
if color is not None:
399+
request['color'] = color
394400
return self.post_request(endpoint=endpoint, request=request)
395401

396402
def tags_delete(self, tag_identifier: str):
@@ -733,4 +739,44 @@ def dbt_dbt_connection_update(self, dbt_connection_identifier: str, request: Dic
733739
endpoint = 'dbt/{}'.format(dbt_connection_identifier)
734740
return self.post_request(endpoint=endpoint, request=request)
735741

742+
#
743+
# /ai/ endpoints
744+
#
745+
746+
def ai_conversation_create(self, metadata_identifier: str,
747+
tokens: Optional[List[str]] = None):
748+
endpoint = 'ai/conversation/create'
749+
750+
request = {
751+
"metadata_identifier": metadata_identifier
752+
}
753+
754+
if tokens is not None:
755+
tokens_string = ""
756+
for token in tokens:
757+
tokens_string += "[{}],".format(token.lower())
758+
tokens_string = tokens_string[0:-1]
759+
request["tokens"] = tokens_string
760+
761+
return self.post_request(endpoint=endpoint, request=request)
762+
763+
def ai_conversation_converse(self, conversation_identifier: str, metadata_identifier: str, message: str):
764+
endpoint = 'ai/conversation/{}/converse'.format(conversation_identifier)
765+
766+
request = {
767+
"metadata_identifier": metadata_identifier,
768+
"message": message
769+
}
770+
771+
return self.post_request(endpoint=endpoint, request=request)
772+
773+
def ai_answer_create(self, metadata_identifier: str, query: str):
774+
endpoint = 'ai/answer/create'
775+
776+
request = {
777+
"metadata_identifier": metadata_identifier,
778+
"query": query
779+
}
780+
781+
return self.post_request(endpoint=endpoint, request=request)
736782

0 commit comments

Comments
 (0)