@@ -110,13 +110,26 @@ class _ResultCodes(Enum):
110110 INACTIVE_PROJECT = 'InactiveProject'
111111
112112
113- _EXCEPTIONS = {
114- _ResultCodes .IMAGE_TOO_LARGE : ImageTooLarge ,
115- _ResultCodes .METADATA_TOO_LARGE : MetadataTooLarge ,
116- _ResultCodes .TARGET_NAME_EXIST : TargetNameExist ,
117- _ResultCodes .TARGET_STATUS_PROCESSING : TargetStatusProcessing ,
118- _ResultCodes .UNKNOWN_TARGET : UnknownTarget ,
119- }
113+ def _raise_for_result_code (
114+ response : Response ,
115+ expected_result_code : _ResultCodes ,
116+ ) -> None :
117+ """
118+ Raise an appropriate exception if
119+ """
120+ result_code = _ResultCodes (response .json ()['result_code' ])
121+ if result_code == expected_result_code :
122+ return
123+
124+ exception = {
125+ _ResultCodes .IMAGE_TOO_LARGE : ImageTooLarge ,
126+ _ResultCodes .METADATA_TOO_LARGE : MetadataTooLarge ,
127+ _ResultCodes .TARGET_NAME_EXIST : TargetNameExist ,
128+ _ResultCodes .TARGET_STATUS_PROCESSING : TargetStatusProcessing ,
129+ _ResultCodes .UNKNOWN_TARGET : UnknownTarget ,
130+ }[result_code ]
131+
132+ raise exception (response = response )
120133
121134
122135class VWS :
@@ -192,12 +205,12 @@ def add_target(
192205 base_vws_url = self ._base_vws_url ,
193206 )
194207
195- result_code = response .json ()['result_code' ]
196- if _ResultCodes (result_code ) == _ResultCodes .TARGET_CREATED :
197- return str (response .json ()['target_id' ])
208+ _raise_for_result_code (
209+ response = response ,
210+ expected_result_code = _ResultCodes .TARGET_CREATED ,
211+ )
198212
199- exception = _EXCEPTIONS [_ResultCodes (result_code )]
200- raise exception (response = response )
213+ return str (response .json ()['target_id' ])
201214
202215 def get_target_record (self , target_id : str ) -> Dict [str , Union [str , int ]]:
203216 """
@@ -221,12 +234,11 @@ def get_target_record(self, target_id: str) -> Dict[str, Union[str, int]]:
221234 base_vws_url = self ._base_vws_url ,
222235 )
223236
224- result_code = response .json ()['result_code' ]
225- if _ResultCodes (result_code ) == _ResultCodes .SUCCESS :
226- return dict (response .json ()['target_record' ])
227-
228- exception = _EXCEPTIONS [_ResultCodes (result_code )]
229- raise exception (response = response )
237+ _raise_for_result_code (
238+ response = response ,
239+ expected_result_code = _ResultCodes .SUCCESS ,
240+ )
241+ return dict (response .json ()['target_record' ])
230242
231243 @timeout_decorator .timeout (seconds = 60 * 5 )
232244 def wait_for_target_processed (self , target_id : str ) -> None :
@@ -270,6 +282,10 @@ def list_targets(self) -> List[str]:
270282 base_vws_url = self ._base_vws_url ,
271283 )
272284
285+ _raise_for_result_code (
286+ response = response ,
287+ expected_result_code = _ResultCodes .SUCCESS ,
288+ )
273289 return list (response .json ()['results' ])
274290
275291 def get_target_summary_report (
@@ -297,12 +313,11 @@ def get_target_summary_report(
297313 base_vws_url = self ._base_vws_url ,
298314 )
299315
300- result_code = response .json ()['result_code' ]
301- if _ResultCodes (result_code ) == _ResultCodes .SUCCESS :
302- return dict (response .json ())
303-
304- exception = _EXCEPTIONS [_ResultCodes (result_code )]
305- raise exception (response = response )
316+ _raise_for_result_code (
317+ response = response ,
318+ expected_result_code = _ResultCodes .SUCCESS ,
319+ )
320+ return dict (response .json ())
306321
307322 def get_database_summary_report (self ) -> Dict [str , Union [str , int ]]:
308323 """
@@ -323,6 +338,11 @@ def get_database_summary_report(self) -> Dict[str, Union[str, int]]:
323338 base_vws_url = self ._base_vws_url ,
324339 )
325340
341+ _raise_for_result_code (
342+ response = response ,
343+ expected_result_code = _ResultCodes .SUCCESS ,
344+ )
345+
326346 return dict (response .json ())
327347
328348 def delete_target (self , target_id : str ) -> None :
@@ -344,9 +364,7 @@ def delete_target(self, target_id: str) -> None:
344364 base_vws_url = self ._base_vws_url ,
345365 )
346366
347- result_code = response .json ()['result_code' ]
348- if _ResultCodes (result_code ) == _ResultCodes .SUCCESS :
349- return
350-
351- exception = _EXCEPTIONS [_ResultCodes (result_code )]
352- raise exception (response = response )
367+ _raise_for_result_code (
368+ response = response ,
369+ expected_result_code = _ResultCodes .SUCCESS ,
370+ )
0 commit comments