8000 Added error handling to the resource tagger to display message to use… · SnarkyPapi/server-client-python@e8f4b0a · GitHub
[go: up one dir, main page]

Skip to content 8000

Commit e8f4b0a

Browse files
lbrendanlRussell Hay
authored and
Russell Hay
committed
Added error handling to the resource tagger to display message to user when tag adding/deleting is not supported for a resource.
1 parent c3d9017 commit e8f4b0a

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

tableauserverclient/server/endpoint/resource_tagger.py

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,38 @@
11
from .endpoint import Endpoint
2+
from .exceptions import EndpointUnavailableError, ServerResponseError
23
from .. import RequestFactory
34
from ...models.tag_item import TagItem
45
import logging
56
import copy
67

7-
logger = logging.getLogger('tableau.endpoint')
8+
logger = logging.getLogger('tableau.endpoint.resource_tagger')
89

910

1011
class ResourceTagger(Endpoint):
1112
# Add new tags to resource
1213
def _add_tags(self, baseurl, resource_id, tag_set):
1314
url = "{0}/{1}/tags".format(baseurl, resource_id)
1415
add_req = RequestFactory.Tag.add_req(tag_set)
15-
server_response = self.put_request(url, add_req)
16+
17+
try:
18+
server_response = self.put_request(url, add_req)
19+
except ServerResponseError as e:
20+
if e.code == "404003":
21+
error = "Adding tags to this resource type is only available with REST API version 2.6 and later."
22+
raise EndpointUnavailableError(error)
23+
1624
return TagItem.from_response(server_response.content)
1725

1826
# Delete a resource's tag by name
1927
def _delete_tag(self, baseurl, resource_id, tag_name):
2028
url = "{0}/{1}/tags/{2}".format(baseurl, resource_id, tag_name)
21-
self.delete_request(url)
29+
30+
try:
31+
self.delete_request(url)
32+
except ServerResponseError as e:
33+
if e.code == "404003":
34+
error = "Deleting tags from this resource type is only available with REST API version 2.6 and later."
35+
raise EndpointUnavailableError(error)
2236

2337
# Remove and add tags to match the resource item's tag set
2438
def _update_tags(self, baseurl, resource_item):

0 commit comments

Comments
 (0)
0