Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import json
- import requests
- from xmlrpc import client
- import ssl
- class KUDO:
- def __init__(self, **config):
- self.host = config["host"]
- self.key = config["key"]
- def GetProducts(self):
- r = self.get("products")
- return r
- def get(self, path):
- headers = {"Authorization": self.key}
- s = requests.Session()
- response = s.get(self.host.format(path), headers=headers)
- return response
- #def coba():
- def coba(product_list, categ_id):
- # product_code = "TSV50"
- if product_list['product_status'] == 'Active':
- product_status = True
- else:
- product_status = False
- # url = os.getenv('url')
- # db = os.getenv('db')
- url = os.getenv('URL')
- db = os.getenv('DB')
- username = os.getenv('USERNAME')
- password = os.getenv('PASSWORD')
- context = ssl.SSLContext()
- common = client.ServerProxy('{}/xmlrpc/2/common'.format(url), context=context)
- uid = common.authenticate(db, username, password, {})
- models = client.ServerProxy('{}/xmlrpc/2/object'.format(url), context=context)
- # product_id = models.execute_kw(db, uid, password, 'product.template', 'search_read', [[['barcode', '=', product_list['product_code']]]],
- # {'fields': ['product_tmpl_id']})
- # print (product_id[0]['id'])
- products_id = models.execute_kw(db, uid, password, 'product.template', 'search', [[['default_code', '=', product_list['product_code']]]])
- product_template = {
- "name": product_list["product_name"],
- "description": product_list["product_description"],
- "type": "service",
- "categ_id": categ_id,
- "list_price": product_list["product_nominal"],
- # "uom": "Pcs",
- # "uom_po": "Pcs",
- "active": product_status,
- "default_code": product_list['product_code'],
- "available_in_pos": True,
- "invoice_policy": "order",
- # "barcode": product_list['product_code'],
- #"standard_price": product_list["product_b2b_price"],
- "image_medium": False
- }
- if products_id:
- for product_id in products_id:
- print (product_id)
- update = models.execute_kw(db, uid, password, 'product.template', 'write', [[product_id], product_template])
- print (update)
- product_product = models.execute_kw(db, uid, password, 'product.product', 'search',
- [[['product_tmpl_id', '=', product_id]]])
- models.execute_kw(db, uid, password, 'product.product', 'write', [[product_product[0]],
- {
- 'standard_price': product_list["product_b2b_price"]
- }])
- else:
- create = models.execute_kw(db, uid, password, 'product.template', 'create', [product_template])
- product_product = models.execute_kw(db, uid, password, 'product.product', 'search',
- [[['product_tmpl_id', '=', create[0]]]])
- models.execute_kw(db, uid, password, 'product.product', 'write', [[product_product[0]],
- {
- 'standard_price': product_list["product_b2b_price"]
- }])
- print (create)
- def get_products():
- #db = repository.Models( connection = CONNECTION)
- ppob = KUDO(
- host = os.getenv('KUDO_HOST'),
- key = os.getenv('KUDO_API_KEY'),
- )
- resp = ppob.GetProducts()
- #print (resp.json())
- return resp.json()
- def main(event, context):
- data = get_products()
- # with open('products-of-kudo.json') as json_data:
- # data = json.load(json_data,)
- #print (data)
- product_list = data['data'][0]['product_categories'][0]['product_groups'][0]['product_list'][0]
- i = 0
- for data in data['data']:
- for product_categories in data['product_categories']:
- for product_groups in product_categories['product_groups']:
- for product_list in product_groups['product_list']:
- if product_categories['product_category_id'] == 7:
- categ_id = 43
- # categ_id = 19
- categ_id = os.getenv('CATEG_ID_PULSA')
- coba(product_list, categ_id)
- elif product_categories['product_category_id'] == 8:
- categ_id = 44
- # categ_id = 20 #
- categ_id = os.getenv('PAKETDATA')
- coba(product_list, categ_id)
- elif product_categories['product_category_id'] == 9 and product_groups['product_group_type'] == 'postpaid':
- categ_id = 45
- # categ_id = 21 #
- categ_id = os.getenv('PLNPASCABAYAR')
- coba(product_list, categ_id)
- elif product_categories['product_category_id'] == 9 and product_groups['product_group_type'] == 'prepaid':
- categ_id = 47
- #categ_id = 22 #
- categ_id = os.getenv('PLNPRABAYAR')
- coba(product_list, categ_id)
- else:
- categ_id = 0
- print ("grup %s" % (categ_id))
- # response = {
- # "statusCode": 200,
- # "body": json.dumps(body)
- # }
- # return response
- if __name__ == '__main__':
- data = {"body": "{\n\t\"nama\":\"Karkar\",\n\t\"email\":\"@warungpintar.co\",\n\t\"phone\":\"21432423432432\",\n\t\"domisili\":\"jakarta\",\n\t\"ada_lahan\":\"Ya\",\n\t\"refferal_mitra\":\"Lainnya\",\n\t\"OTHER_REFF\":\"\"\n}"}
- result = main(data, '')
- #print (result)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement