1- import azure
21import operator
32from functools import wraps
43from .errors import BadRequestError , UnauthorizedError , ForbiddenError , NotFoundError , ConflictError , \
5- UnProcessableError , TooManyRequestError , ServiceError , TimeOutError
4+ UnProcessableError , TooManyRequestError , ServiceError , TimeOutError , InternalServerError
5+ from azure .servicebus .exceptions import AutoLockRenewFailed , AutoLockRenewTimeout , MessageAlreadySettled , \
6+ MessageLockLostError , MessageNotFoundError , MessageSizeExceededError , MessagingEntityAlreadyExistsError , \
7+ MessagingEntityDisabledError , MessagingEntityNotFoundError , OperationTimeoutError , ServiceBusAuthenticationError , \
8+ ServiceBusAuthorizationError , ServiceBusCommunicationError , ServiceBusConnectionError , ServiceBusError , \
9+ ServiceBusQuotaExceededError , ServiceBusServerBusyError , SessionCannotBeLockedError , SessionLockLostError
10+
11+ from azure .core .exceptions import ClientAuthenticationError , HttpResponseError , ServiceRequestError , \
12+ ResourceNotFoundError , AzureError
613
714
815def parse_error (base_message , error ):
@@ -11,21 +18,23 @@ def parse_error(base_message, error):
1118 description = ''
1219 if error .__class__ == TypeError :
1320 error = str (error )
21+ try :
22+ complete_message = error .split ('\n ' ) if operator .contains (str (error ), '\n ' ) else [error ]
1423
15- complete_message = error . split ( ' \n ' ) if operator . contains ( str ( error ), ' \n ' ) else [ error ]
16-
17- if complete_message and len (complete_message ) > 0 :
18- message = complete_message [0 ]
19- if complete_message and len ( complete_message ) > 1 :
20- status_code_string = complete_message [ 1 ]
21- status_code_string = status_code_string . split ( 'Status code: ' )
22- if len (status_code_string ) == 2 :
23- status_code = int ( status_code_string [ 1 ])
24- if complete_message and len ( complete_message ) > 2 :
25- description_string = complete_message [ 2 ]
26- description_string = description_string . split ( 'Description: ' )
27- if len ( description_string ) == 2 :
28- description = description_string [ 1 ]
24+ if complete_message and len ( complete_message ) > 0 :
25+ message = complete_message [ 0 ]
26+ if complete_message and len (complete_message ) > 1 :
27+ status_code_string = complete_message [1 ]
28+ status_code_string = status_code_string . split ( 'Status code: ' )
29+ if len ( status_code_string ) == 2 :
30+ status_code = int ( status_code_string [ 1 ] )
31+ if complete_message and len (complete_message ) > 2 :
32+ description_string = complete_message [ 2 ]
33+ description_string = description_string . split ( 'Description: ' )
34+ if len ( description_string ) == 2 :
35+ description = description_string [ 1 ]
36+ except Exception as e :
37+ pass
2938
3039 return {
3140 'message' : f'{ base_message } : { message } ' ,
@@ -41,49 +50,59 @@ def decorated(fn):
4150 def wrapper (* args , ** kwargs ):
4251 try :
4352 return fn (* args , ** kwargs )
44- except azure . servicebus . exceptions . AutoLockRenewFailed as ex :
53+ except AutoLockRenewFailed as ex :
4554 raise BadRequestError (parse_error ('AutoLock Renew Failed Error' , ex .message ))
46- except azure . servicebus . exceptions . AutoLockRenewTimeout as ex :
55+ except AutoLockRenewTimeout as ex :
4756 raise TimeOutError (parse_error ('AutoLock Renew Timeout Error' , ex .message ))
48- except azure . servicebus . exceptions . MessageAlreadySettled as ex :
57+ except MessageAlreadySettled as ex :
4958 raise BadRequestError (parse_error ('Message Already Settled Error' , ex .message ))
50- except azure . servicebus . exceptions . MessageLockLostError as ex :
59+ except MessageLockLostError as ex :
5160 raise BadRequestError (parse_error ('Message Lock Lost Error' , ex .message ))
52- except azure . servicebus . exceptions . MessageNotFoundError as ex :
61+ except MessageNotFoundError as ex :
5362 raise NotFoundError (parse_error ('Message Not Found Error' , ex .message ))
54- except azure . servicebus . exceptions . MessageSizeExceededError as ex :
63+ except MessageSizeExceededError as ex :
5564 raise BadRequestError (parse_error ('Message Size Exceeded Error' , ex .message ))
56- except azure . servicebus . exceptions . MessagingEntityAlreadyExistsError as ex :
65+ except MessagingEntityAlreadyExistsError as ex :
5766 raise ConflictError (parse_error ('Message Entity Already Exists Error' , ex .message ))
58- except azure . servicebus . exceptions . MessagingEntityDisabledError as ex :
67+ except MessagingEntityDisabledError as ex :
5968 raise UnProcessableError (parse_error ('Message Entity Disabled Error' , ex .message ))
60- except azure . servicebus . exceptions . MessagingEntityNotFoundError as ex :
69+ except MessagingEntityNotFoundError as ex :
6170 raise NotFoundError (parse_error ('Message Entity Not Found Error' , ex .message ))
62- except azure . servicebus . exceptions . OperationTimeoutError as ex :
71+ except OperationTimeoutError as ex :
6372 raise TimeOutError (parse_error ('Operation Timeout Error' , ex .message ))
64- except azure . servicebus . exceptions . ServiceBusAuthenticationError as ex :
73+ except ServiceBusAuthenticationError as ex :
6574 raise NotFoundError (parse_error ('Unable to Authenticate Service Bus Error' , ex .message ))
66- except azure . servicebus . exceptions . ServiceBusAuthorizationError as ex :
75+ except ServiceBusAuthorizationError as ex :
6776 raise ForbiddenError (parse_error ('Unable to Authorization Service Bus Error' , ex .message ))
68- except azure . servicebus . exceptions . ServiceBusCommunicationError as ex :
77+ except ServiceBusCommunicationError as ex :
6978 raise UnProcessableError (parse_error ('Service Bus Communication Error' , ex .message ))
70- except azure . servicebus . exceptions . ServiceBusConnectionError as ex :
79+ except ServiceBusConnectionError as ex :
7180 raise ForbiddenError (parse_error ('Service Bus Connection Error' , ex .message ))
72- except azure .servicebus .exceptions .ServiceBusError as ex :
73- raise ForbiddenError (parse_error ('Service Bus Error' , ex .message ))
74- except azure .servicebus .exceptions .ServiceBusQuotaExceededError as ex :
81+ except ServiceBusQuotaExceededError as ex :
7582 raise UnProcessableError (parse_error ('Service Bus Quota Exceeded Error' , ex .message ))
76- except azure . servicebus . exceptions . ServiceBusServerBusyError as ex :
83+ except ServiceBusServerBusyError as ex :
7784 raise UnProcessableError (parse_error ('Service Bus Server Busy Error' , ex .message ))
78- except azure . servicebus . exceptions . SessionCannotBeLockedError as ex :
85+ except SessionCannotBeLockedError as ex :
7986 raise UnProcessableError (parse_error ('Session Cannot Be Locked Error' , ex .message ))
80- except azure . servicebus . exceptions . SessionLockLostError as ex :
87+ except SessionLockLostError as ex :
8188 raise UnProcessableError (parse_error ('Session Lock Lost Error' , ex .message ))
89+ except ServiceBusError as ex :
90+ raise ForbiddenError (parse_error ('Service Bus Error' , ex .message ))
91+ except ClientAuthenticationError as ex :
92+ raise UnauthorizedError (parse_error ('Client Authentication Error' , ex .message ))
93+ except ResourceNotFoundError as ex :
94+ raise NotFoundError (parse_error ('Resource Not Found Error' , ex .message ))
95+ except HttpResponseError as ex :
96+ raise UnProcessableError (parse_error ('Http Response Error' , ex .message ))
97+ except ServiceRequestError as ex :
98+ raise UnProcessableError (parse_error ('Service Request Error' , ex .message ))
99+ except AzureError as ex :
100+ raise NotFoundError (parse_error ('Azure Error' , ex .message ))
82101 except ValueError as ex :
83102 raise UnProcessableError (parse_error ('UnProcessable Error' , ex ))
84103 except TypeError as ex :
85104 raise ServiceError (parse_error ('Service Error' , ex ))
86105 except Exception as ex :
87- raise ServiceError (parse_error ('Exception' , ex ))
106+ raise InternalServerError (parse_error ('Exception' , ex ))
88107
89108 return wrapper
0 commit comments