3030
3131def get_items_request (amazon_api , asin_chunk : List [str ], ** kwargs ) -> GetItemsRequest :
3232 try :
33- return GetItemsRequest (resources = _get_request_resources (GetItemsResource ),
34- partner_type = PartnerType .ASSOCIATES ,
35- marketplace = amazon_api ._marketplace ,
36- partner_tag = amazon_api ._tag ,
37- item_ids = asin_chunk ,
38- ** kwargs )
33+ return GetItemsRequest (
34+ resources = _get_request_resources (GetItemsResource ),
35+ partner_type = PartnerType .ASSOCIATES ,
36+ marketplace = amazon_api ._marketplace ,
37+ partner_tag = amazon_api ._tag ,
38+ item_ids = asin_chunk ,
39+ ** kwargs
40+ )
3941 except TypeError as e :
40- raise MalformedRequestException ('Parameters for get_items request are not correct: ' + str (e ))
42+ raise MalformedRequestException (
43+ "Parameters for get_items request are not correct: " + str (e )
44+ )
4145
4246
4347def get_items_response (amazon_api , request : GetItemsRequest ) -> List [Item ]:
@@ -47,20 +51,24 @@ def get_items_response(amazon_api, request: GetItemsRequest) -> List[Item]:
4751 _manage_response_exceptions (e )
4852
4953 if response .items_result == None :
50- raise ItemsNotFoundException (' No items have been found' )
54+ raise ItemsNotFoundException (" No items have been found" )
5155
5256 return response .items_result .items
5357
5458
5559def get_search_items_request (amazon_api , ** kwargs ) -> SearchItemsRequest :
5660 try :
57- return SearchItemsRequest (resources = _get_request_resources (SearchItemsResource ),
58- partner_type = PartnerType .ASSOCIATES ,
59- marketplace = amazon_api ._marketplace ,
60- partner_tag = amazon_api ._tag ,
61- ** kwargs )
61+ return SearchItemsRequest (
62+ resources = _get_request_resources (SearchItemsResource ),
63+ partner_type = PartnerType .ASSOCIATES ,
64+ marketplace = amazon_api ._marketplace ,
65+ partner_tag = amazon_api ._tag ,
66+ ** kwargs
67+ )
6268 except TypeError as e :
63- raise MalformedRequestException ('Parameters for search_items request are not correct: ' + str (e ))
69+ raise MalformedRequestException (
70+ "Parameters for search_items request are not correct: " + str (e )
71+ )
6472
6573
6674def get_search_items_response (amazon_api , request : SearchItemsRequest ) -> SearchResult :
@@ -70,74 +78,97 @@ def get_search_items_response(amazon_api, request: SearchItemsRequest) -> Search
7078 _manage_response_exceptions (e )
7179
7280 if response .search_result == None :
73- raise ItemsNotFoundException (' No items have been found' )
81+ raise ItemsNotFoundException (" No items have been found" )
7482
7583 return response .search_result
7684
7785
7886def get_variations_request (amazon_api , ** kwargs ) -> GetVariationsRequest :
7987 try :
80- return GetVariationsRequest (resources = _get_request_resources (GetVariationsResource ),
81- partner_type = PartnerType .ASSOCIATES ,
82- marketplace = amazon_api ._marketplace ,
83- partner_tag = amazon_api ._tag ,
84- ** kwargs )
88+ return GetVariationsRequest (
89+ resources = _get_request_resources (GetVariationsResource ),
90+ partner_type = PartnerType .ASSOCIATES ,
91+ marketplace = amazon_api ._marketplace ,
92+ partner_tag = amazon_api ._tag ,
93+ ** kwargs
94+ )
8595 except TypeError as e :
86- raise MalformedRequestException ('Parameters for get_variations request are not correct: ' + str (e ))
96+ raise MalformedRequestException (
97+ "Parameters for get_variations request are not correct: " + str (e )
98+ )
8799
88100
89- def get_variations_response (amazon_api , request : GetVariationsRequest ) -> VariationsResult :
101+ def get_variations_response (
102+ amazon_api , request : GetVariationsRequest
103+ ) -> VariationsResult :
90104 try :
91105 response = amazon_api ._api .get_variations (request )
92106 except ApiException as e :
93107 _manage_response_exceptions (e )
94108
95109 if response .variations_result == None :
96- raise ItemsNotFoundException (' No variation items have been found' )
110+ raise ItemsNotFoundException (" No variation items have been found" )
97111
98112 return response .variations_result
99113
100114
101115def get_browse_nodes_request (amazon_api , ** kwargs ) -> GetBrowseNodesRequest :
102116 try :
103- return GetBrowseNodesRequest (resources = _get_request_resources (GetBrowseNodesResource ),
104- partner_type = PartnerType .ASSOCIATES ,
105- marketplace = amazon_api ._marketplace ,
106- partner_tag = amazon_api ._tag ,
107- ** kwargs )
117+ return GetBrowseNodesRequest (
118+ resources = _get_request_resources (GetBrowseNodesResource ),
119+ partner_type = PartnerType .ASSOCIATES ,
120+ marketplace = amazon_api ._marketplace ,
121+ partner_tag = amazon_api ._tag ,
122+ ** kwargs
123+ )
108124 except TypeError as e :
109- raise MalformedRequestException ('Parameters for get_browse_nodes request are not correct: ' + str (e ))
125+ raise MalformedRequestException (
126+ "Parameters for get_browse_nodes request are not correct: " + str (e )
127+ )
110128
111129
112- def get_browse_nodes_response (amazon_api , request : GetBrowseNodesRequest ) -> List [BrowseNode ]:
130+ def get_browse_nodes_response (
131+ amazon_api , request : GetBrowseNodesRequest
132+ ) -> List [BrowseNode ]:
113133 try :
114134 response = amazon_api ._api .get_browse_nodes (request )
115135 except ApiException as e :
116136 _manage_response_exceptions (e )
117137
118138 if response .browse_nodes_result == None :
119- raise ItemsNotFoundException (' No browse nodes have been found' )
139+ raise ItemsNotFoundException (" No browse nodes have been found" )
120140
121141 return response .browse_nodes_result .browse_nodes
122142
123143
124144def _get_request_resources (resources ) -> List [str ]:
125- resources = inspect .getmembers (resources , lambda a :not (inspect .isroutine (a )))
126- resources = [x [- 1 ] for x in resources if isinstance (x [- 1 ], str ) and x [0 ][0 :2 ] != '__' ]
145+ resources = inspect .getmembers (resources , lambda a : not (inspect .isroutine (a )))
146+ resources = [
147+ x [- 1 ] for x in resources if isinstance (x [- 1 ], str ) and x [0 ][0 :2 ] != "__"
148+ ]
127149 return resources
128150
151+
129152def _manage_response_exceptions (error ) -> None :
130153 if isinstance (error , ApiException ):
131154 if error .status == 429 :
132- raise TooManyRequestsException ('Requests limit reached, try increasing throttling or wait before trying again' )
133-
134- elif 'InvalidParameterValue' in error .body :
135- raise InvalidArgumentException ('The value provided in the request for atleast one parameter is invalid.' )
136-
137- elif 'InvalidPartnerTag' in error .body :
138- raise InvalidArgumentException ('The partner tag is invalid or not present.' )
139-
140- elif 'InvalidAssociate' in error .body :
141- raise AssociateValidationException ('Used credentials are not valid for the selected country.' )
142-
143- raise ApiRequestException ('Request failed: ' + str (error .reason ))
155+ raise TooManyRequestsException (
156+ "Requests limit reached, try increasing throttling or wait before"
157+ " trying again"
158+ )
159+
160+ elif "InvalidParameterValue" in error .body :
161+ raise InvalidArgumentException (
162+ "The value provided in the request for atleast one parameter is"
163+ " invalid."
164+ )
165+
166+ elif "InvalidPartnerTag" in error .body :
167+ raise InvalidArgumentException ("The partner tag is invalid or not present." )
168+
169+ elif "InvalidAssociate" in error .body :
170+ raise AssociateValidationException (
171+ "Used credentials are not valid for the selected country."
172+ )
173+
174+ raise ApiRequestException ("Request failed: " + str (error .reason ))
0 commit comments