Fix: Shopify payload operations logging (#19366)
* fix: payload logging for shopify * fix: remove print statements
This commit is contained in:
parent
b7e9e2a1a5
commit
bdc899857c
@ -29,7 +29,8 @@ def sync_sales_order(order, request_id=None):
|
||||
validate_item(order, shopify_settings)
|
||||
create_order(order, shopify_settings)
|
||||
except Exception as e:
|
||||
make_shopify_log(status="Error", message=e.message, exception=False)
|
||||
make_shopify_log(status="Error", exception=e)
|
||||
|
||||
else:
|
||||
make_shopify_log(status="Success")
|
||||
|
||||
@ -42,9 +43,9 @@ def prepare_sales_invoice(order, request_id=None):
|
||||
sales_order = get_sales_order(cstr(order['id']))
|
||||
if sales_order:
|
||||
create_sales_invoice(order, shopify_settings, sales_order)
|
||||
make_shopify_log(status="Success")
|
||||
except Exception:
|
||||
make_shopify_log(status="Error", exception=True)
|
||||
make_shopify_log(status="Success")
|
||||
except Exception as e:
|
||||
make_shopify_log(status="Error", exception=e, rollback=True)
|
||||
|
||||
def prepare_delivery_note(order, request_id=None):
|
||||
frappe.set_user('Administrator')
|
||||
@ -56,8 +57,8 @@ def prepare_delivery_note(order, request_id=None):
|
||||
if sales_order:
|
||||
create_delivery_note(order, shopify_settings, sales_order)
|
||||
make_shopify_log(status="Success")
|
||||
except Exception:
|
||||
make_shopify_log(status="Error", exception=True)
|
||||
except Exception as e:
|
||||
make_shopify_log(status="Error", exception=e, rollback=True)
|
||||
|
||||
def get_sales_order(shopify_order_id):
|
||||
sales_order = frappe.db.get_value("Sales Order", filters={"shopify_order_id": shopify_order_id})
|
||||
@ -97,7 +98,7 @@ def create_sales_order(shopify_order, shopify_settings, company=None):
|
||||
message = 'Following items are exists in order but relevant record not found in Product master'
|
||||
message += "\n" + ", ".join(product_not_exists)
|
||||
|
||||
make_shopify_log(status="Error", message=message, exception=True)
|
||||
make_shopify_log(status="Error", exception=e, rollback=True)
|
||||
|
||||
return ''
|
||||
|
||||
|
@ -12,23 +12,38 @@ class ShopifyLog(Document):
|
||||
pass
|
||||
|
||||
|
||||
def make_shopify_log(status="Queued", message=None, exception=False):
|
||||
def make_shopify_log(status="Queued", exception=None, rollback=False):
|
||||
# if name not provided by log calling method then fetch existing queued state log
|
||||
make_new = False
|
||||
|
||||
if not frappe.flags.request_id:
|
||||
return
|
||||
make_new = True
|
||||
|
||||
log = frappe.get_doc("Shopify Log", frappe.flags.request_id)
|
||||
|
||||
if exception:
|
||||
if rollback:
|
||||
frappe.db.rollback()
|
||||
log = frappe.get_doc({"doctype":"Shopify Log"}).insert(ignore_permissions=True)
|
||||
|
||||
log.message = message if message else ''
|
||||
if make_new:
|
||||
log = frappe.get_doc({"doctype":"Shopify Log"}).insert(ignore_permissions=True)
|
||||
else:
|
||||
log = log = frappe.get_doc("Shopify Log", frappe.flags.request_id)
|
||||
|
||||
log.message = get_message(exception)
|
||||
log.traceback = frappe.get_traceback()
|
||||
log.status = status
|
||||
log.save(ignore_permissions=True)
|
||||
frappe.db.commit()
|
||||
|
||||
def get_message(exception):
|
||||
message = None
|
||||
|
||||
if hasattr(exception, 'message'):
|
||||
message = exception.message
|
||||
elif hasattr(exception, '__str__'):
|
||||
message = e.__str__()
|
||||
else:
|
||||
message = "Something went wrong while syncing"
|
||||
return message
|
||||
|
||||
def dump_request_data(data, event="create/order"):
|
||||
event_mapper = {
|
||||
"orders/create": get_webhook_address(connector_name='shopify_connection', method="sync_sales_order", exclude_uri=True),
|
||||
@ -43,11 +58,11 @@ def dump_request_data(data, event="create/order"):
|
||||
}).insert(ignore_permissions=True)
|
||||
|
||||
frappe.db.commit()
|
||||
frappe.enqueue(method=event_mapper[event], queue='short', timeout=300, is_async=True,
|
||||
frappe.enqueue(method=event_mapper[event], queue='short', timeout=300, is_async=True,
|
||||
**{"order": data, "request_id": log.name})
|
||||
|
||||
@frappe.whitelist()
|
||||
def resync(method, name, request_data):
|
||||
frappe.db.set_value("Shopify Log", name, "status", "Queued", update_modified=False)
|
||||
frappe.enqueue(method=method, queue='short', timeout=300, is_async=True,
|
||||
frappe.enqueue(method=method, queue='short', timeout=300, is_async=True,
|
||||
**{"order": json.loads(request_data), "request_id": name})
|
||||
|
@ -30,13 +30,9 @@ class ShopifySettings(Document):
|
||||
# url = get_shopify_url('admin/webhooks.json', self)
|
||||
created_webhooks = [d.method for d in self.webhooks]
|
||||
url = get_shopify_url('admin/api/2019-04/webhooks.json', self)
|
||||
print('url', url)
|
||||
for method in webhooks:
|
||||
print('method', method)
|
||||
session = get_request_session()
|
||||
print('session', session)
|
||||
try:
|
||||
print(get_header(self))
|
||||
d = session.post(url, data=json.dumps({
|
||||
"webhook": {
|
||||
"topic": method,
|
||||
@ -44,7 +40,6 @@ class ShopifySettings(Document):
|
||||
"format": "json"
|
||||
}
|
||||
}), headers=get_header(self))
|
||||
print('d', d.json())
|
||||
d.raise_for_status()
|
||||
self.update_webhook_table(method, d.json())
|
||||
except Exception as e:
|
||||
@ -67,7 +62,6 @@ class ShopifySettings(Document):
|
||||
self.remove(d)
|
||||
|
||||
def update_webhook_table(self, method, res):
|
||||
print('update')
|
||||
self.append("webhooks", {
|
||||
"webhook_id": res['webhook']['id'],
|
||||
"method": method
|
||||
@ -75,7 +69,6 @@ class ShopifySettings(Document):
|
||||
|
||||
def get_shopify_url(path, settings):
|
||||
if settings.app_type == "Private":
|
||||
print(settings.api_key, settings.get_password('password'), settings.shopify_url, path)
|
||||
return 'https://{}:{}@{}/{}'.format(settings.api_key, settings.get_password('password'), settings.shopify_url, path)
|
||||
else:
|
||||
return 'https://{}/{}'.format(settings.shopify_url, path)
|
||||
|
Loading…
x
Reference in New Issue
Block a user