1313
1414
1515class AmazonRepository :
16- def __init__ (self ) -> None :
17- self .amz_settings = frappe .get_doc ("Amazon SP API Settings" )
16+ def __init__ (self , amz_setting_name ) -> None :
17+ self .amz_setting = frappe .get_doc ("Amazon SP API Settings" , amz_setting_name )
1818 self .instance_params = dict (
19- iam_arn = self .amz_settings .iam_arn ,
20- client_id = self .amz_settings .client_id ,
21- client_secret = self .amz_settings .get_password ("client_secret" ),
22- refresh_token = self .amz_settings .refresh_token ,
23- aws_access_key = self .amz_settings .aws_access_key ,
24- aws_secret_key = self .amz_settings .get_password ("aws_secret_key" ),
25- country_code = self .amz_settings .country ,
19+ iam_arn = self .amz_setting .iam_arn ,
20+ client_id = self .amz_setting .client_id ,
21+ client_secret = self .amz_setting .get_password ("client_secret" ),
22+ refresh_token = self .amz_setting .refresh_token ,
23+ aws_access_key = self .amz_setting .aws_access_key ,
24+ aws_secret_key = self .amz_setting .get_password ("aws_secret_key" ),
25+ country_code = self .amz_setting .country ,
2626 )
2727
2828 # Helper Methods
@@ -34,7 +34,7 @@ def return_as_list(self, input):
3434
3535 def call_sp_api_method (self , sp_api_method , ** kwargs ):
3636 errors = {}
37- max_retries = self .amz_settings .max_retry_limit
37+ max_retries = self .amz_setting .max_retry_limit
3838
3939 for x in range (max_retries ):
4040 try :
@@ -53,8 +53,8 @@ def call_sp_api_method(self, sp_api_method, **kwargs):
5353 message = f"{ error } : { errors .get (error )} " , title = f'Method "{ sp_api_method .__name__ } " failed'
5454 )
5555
56- self .amz_settings .enable_sync = 0
57- self .amz_settings .save ()
56+ self .amz_setting .enable_sync = 0
57+ self .amz_setting .save ()
5858
5959 frappe .throw (
6060 _ ("Scheduled sync has been temporarily disabled because maximum retries have been exceeded!" )
@@ -70,8 +70,8 @@ def get_account(self, name):
7070 if not account_name :
7171 new_account = frappe .new_doc ("Account" )
7272 new_account .account_name = "Amazon {0}" .format (name )
73- new_account .company = self .amz_settings .company
74- new_account .parent_account = self .amz_settings .market_place_account_group
73+ new_account .company = self .amz_setting .company
74+ new_account .parent_account = self .amz_setting .market_place_account_group
7575 new_account .insert (ignore_permissions = True )
7676 account_name = new_account .name
7777
@@ -180,9 +180,9 @@ def create_customer(self, order):
180180 else :
181181 new_customer = frappe .new_doc ("Customer" )
182182 new_customer .customer_name = order_customer_name
183- new_customer .customer_group = self .amz_settings .customer_group
184- new_customer .territory = self .amz_settings .territory
185- new_customer .customer_type = self .amz_settings .customer_type
183+ new_customer .customer_group = self .amz_setting .customer_group
184+ new_customer .territory = self .amz_setting .territory
185+ new_customer .customer_type = self .amz_setting .customer_type
186186 new_customer .save ()
187187
188188 new_contact = frappe .new_doc ("Contact" )
@@ -240,7 +240,7 @@ def get_order_items(self, order_id):
240240 )
241241
242242 final_order_items = []
243- warehouse = self .amz_settings .warehouse
243+ warehouse = self .amz_setting .warehouse
244244
245245 while True :
246246
@@ -298,11 +298,11 @@ def create_sales_order(self, order):
298298 "delivery_date" : delivery_date ,
299299 "transaction_date" : transaction_date ,
300300 "items" : items ,
301- "company" : self .amz_settings .company ,
301+ "company" : self .amz_setting .company ,
302302 }
303303 )
304304
305- taxes_and_charges = self .amz_settings .taxes_charges
305+ taxes_and_charges = self .amz_setting .taxes_charges
306306
307307 if taxes_and_charges :
308308 charges_and_fees = self .get_charges_and_fees (order_id )
@@ -373,7 +373,7 @@ def create_item_group(self, amazon_item):
373373 if not item_group :
374374 new_item_group = frappe .new_doc ("Item Group" )
375375 new_item_group .item_group_name = item_group_name
376- new_item_group .parent_item_group = self .amz_settings .parent_item_group
376+ new_item_group .parent_item_group = self .amz_setting .parent_item_group
377377 new_item_group .insert ()
378378 return new_item_group .item_group_name
379379
@@ -425,7 +425,7 @@ def create_ecommerce_item(self, item_code, asin, sku):
425425
426426 def create_item_price (self , amazon_item , item_code ):
427427 item_price = frappe .new_doc ("Item Price" )
428- item_price .price_list = self .amz_settings .price_list
428+ item_price .price_list = self .amz_setting .price_list
429429 item_price .price_list_rate = (
430430 amazon_item .get ("AttributeSets" )[0 ].get ("ListPrice" , {}).get ("Amount" ) or 0
431431 )
@@ -536,15 +536,15 @@ def get_report_document(self, report_id):
536536
537537
538538# Helper functions
539- def validate_amazon_sp_api_credentials (** kargs ):
539+ def validate_amazon_sp_api_credentials (** args ):
540540 api = sp_api .SPAPI (
541- iam_arn = kargs .get ("iam_arn" ),
542- client_id = kargs .get ("client_id" ),
543- client_secret = kargs .get ("client_secret" ),
544- refresh_token = kargs .get ("refresh_token" ),
545- aws_access_key = kargs .get ("aws_access_key" ),
546- aws_secret_key = kargs .get ("aws_secret_key" ),
547- country_code = kargs .get ("country" ),
541+ iam_arn = args .get ("iam_arn" ),
542+ client_id = args .get ("client_id" ),
543+ client_secret = args .get ("client_secret" ),
544+ refresh_token = args .get ("refresh_token" ),
545+ aws_access_key = args .get ("aws_access_key" ),
546+ aws_secret_key = args .get ("aws_secret_key" ),
547+ country_code = args .get ("country" ),
548548 )
549549
550550 try :
@@ -559,11 +559,11 @@ def validate_amazon_sp_api_credentials(**kargs):
559559 frappe .throw (msg )
560560
561561
562- def get_orders (created_after ):
563- amazon_repository = AmazonRepository ()
562+ def get_orders (amz_setting_name , created_after ):
563+ amazon_repository = AmazonRepository (amz_setting_name )
564564 return amazon_repository .get_orders (created_after )
565565
566566
567- def get_products_details ():
568- amazon_repository = AmazonRepository ()
567+ def get_products_details (amz_setting_name ):
568+ amazon_repository = AmazonRepository (amz_setting_name )
569569 return amazon_repository .get_products_details ()
0 commit comments