diff --git a/src/vws/exceptions.py b/src/vws/exceptions.py index f8af7ca05..dfe953d78 100644 --- a/src/vws/exceptions.py +++ b/src/vws/exceptions.py @@ -1,6 +1,8 @@ """ Custom exceptions for Vuforia errors. """ + +import json from urllib.parse import urlparse import requests @@ -285,6 +287,15 @@ def response(self) -> Response: """ return self._response + @property + def target_name(self) -> str: + """ + The target name which already exists. + """ + response_body = self.response.request.body or b'' + request_json = json.loads(response_body) + return str(request_json['name']) + class ImageTooLarge(Exception): """ diff --git a/tests/test_exceptions.py b/tests/test_exceptions.py index c628b5dc4..7316bd553 100644 --- a/tests/test_exceptions.py +++ b/tests/test_exceptions.py @@ -149,6 +149,7 @@ def test_target_name_exist( ) assert exc.value.response.status_code == codes.FORBIDDEN + assert exc.value.target_name == 'x' def test_project_inactive(