Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[metadata]
name = thoughtspot_rest_api_v1
version = 1.8.6
version = 1.8.7
description = Library implementing the ThoughtSpot V1 REST API
long_description = file: README.md
long_description_content_type = text/markdown
Expand Down
2 changes: 1 addition & 1 deletion src/thoughtspot_rest_api_v1/_version.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = '1.8.6'
__version__ = '1.8.7'
51 changes: 50 additions & 1 deletion src/thoughtspot_rest_api_v1/tsrestapiv2.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,11 @@ def __init__(self, server_url: str):
# X-Requested-By is necessary for all calls.
# Accept: application/json isn't necessary with requests (default: Accept: */*) but might be in other frameworks
#
self.__accept_language = "en-US"
# This sets the header on any subsequent call
self.api_headers = {'X-Requested-By': 'ThoughtSpot', 'Accept': 'application/json', 'Accept-Language': 'en_US'}
self.api_headers = {'X-Requested-By': 'ThoughtSpot',
'Accept': 'application/json',
'Accept-Language': self.__accept_language}
self.requests_session.headers.update(self.api_headers)

# Will be set after initial request
Expand Down Expand Up @@ -77,6 +80,16 @@ def bearer_token(self, bearer_token):
self.api_headers['Authorization'] = 'Bearer {}'.format(bearer_token)
self.requests_session.headers.update(self.api_headers)

@property
def accept_language(self):
return self.__accept_language

@accept_language.setter
def accept_language(self, accept_language_code):
self.__accept_language = accept_language_code
self.api_headers['Accept-Language'] = accept_language_code
self.requests_session.headers.update(self.api_headers)

#
# Session management calls
# - up here vs. in the SESSION section below (because these two are required)
Expand Down Expand Up @@ -759,6 +772,14 @@ def security_metadata_share(self, request: Dict):
endpoint = 'security/metadata/share'
return self.post_request(endpoint=endpoint, request=request)

def security_metadata_publish(self, request: Dict):
endpoint = 'security/metadata/publish'
return self.post_request(endpoint=endpoint, request=request)

def security_metadata_unpublish(self, request: Dict):
endpoint = 'security/metadata/unpublish'
return self.post_request(endpoint=endpoint, request=request)

#
# /data/
#
Expand Down Expand Up @@ -912,6 +933,10 @@ def customization_custom_actions_delete(self, custom_action_identifier: str):
endpoint = 'customization/custom-actions/{}/delete'.format(custom_action_identifier)
return self.post_request(endpoint=endpoint)

#
# /customization/email
#

#
# /schedules/ endpoints
#
Expand Down Expand Up @@ -1000,4 +1025,28 @@ def ai_analytical_questions(self, request: Dict):
endpoint = 'ai/analytical-questions'
return self.post_request(endpoint=endpoint, request=request)

#
# /template/variables endpoints
#

def template_variables_create(self, request: Dict):
endpoint = 'template/variables/create'
return self.post_request(endpoint=endpoint, request=request)

def template_variables_delete(self, identifier: str):
endpoint = 'template/variables/{}/delete'.format(identifier)
return self.post_request(endpoint=endpoint)

def template_variables_search(self, request: Dict):
endpoint = 'template/variables/search'
return self.post_request(endpoint=endpoint, request=request)

def template_variables_update(self, identifier: str, request: Dict):
endpoint = 'template/variables/{}/update'.format(identifier)
return self.post_request(endpoint=endpoint, request=request)

# Allows updating multiple values at once
def template_variables_values_update(self, request: Dict):
endpoint = 'template/variables/update'
return self.post_request(endpoint=endpoint, request=request)