44This file is part of the Ingram Micro Cloud Blue Connect SDK.
55Copyright (c) 2019 Ingram Micro. All Rights Reserved.
66"""
7+ from typing import List
78
9+ from connect .models import Param
810from .server_error import ServerError
911
1012
1113class Message (Exception ):
14+ code = None # type: str
15+ obj = None # type: object
16+
1217 def __init__ (self , message = '' , code = '' , obj = None ):
18+ # type: (str, str, object) -> None
1319 self .message = message
1420 self .code = code
1521 self .obj = obj
1622
1723
1824class FulfillmentFail (Message ):
1925 def __init__ (self , * args , ** kwargs ):
26+ # type: (*any, **any) -> None
2027 super (FulfillmentFail , self ).__init__ (* args , ** kwargs )
2128 self .message = self .message or 'Request failed'
2229 self .code = 'fail'
2330
2431
2532class FulfillmentInquire (Message ):
33+ params = None # type: List[Param]
34+
2635 def __init__ (self , * args , ** kwargs ):
36+ # type: (*any, **any) -> None
2737 super (FulfillmentInquire , self ).__init__ (* args , ** kwargs )
2838 self .message = self .message or 'Correct user input required'
2939 self .code = 'inquire'
@@ -32,21 +42,25 @@ def __init__(self, *args, **kwargs):
3242
3343class Skip (Message ):
3444 def __init__ (self , * args , ** kwargs ):
45+ # type: (*any, **any) -> None
3546 super (Skip , self ).__init__ (* args , ** kwargs )
3647 self .message = self .message or 'Request skipped'
3748 self .code = 'skip'
3849
3950
4051class ServerErrorException (Exception ):
41- message = 'Server error'
52+ message = 'Server error' # type: str
4253
4354 def __init__ (self , error = None , * args , ** kwargs ):
55+ # type: (ServerError, *any, **any) -> None
56+
4457 if error and isinstance (error , ServerError ):
45- # noinspection PyUnresolvedReferences
4658 self .message = str ({
4759 "error_code" : error .error_code ,
4860 "params" : kwargs .get ('params' , []),
4961 "errors" : error .errors ,
5062 })
63+ else :
64+ self .message = self .__class__ .message
5165
5266 super (ServerErrorException , self ).__init__ (self .message , * args )
0 commit comments