Add get_vendor_items()
and get_vendor_item()
methods for web API
This commit is contained in:
parent
963f544b02
commit
286df47c22
|
@ -421,3 +421,46 @@ class CoreWebAPI(object):
|
||||||
response = self.post(params)
|
response = self.post(params)
|
||||||
result = self.parse_response(response)
|
result = self.parse_response(response)
|
||||||
return json.loads(result)
|
return json.loads(result)
|
||||||
|
|
||||||
|
def get_vendor_items(self, **columns):
|
||||||
|
"""
|
||||||
|
Fetch some or all of VendorItem records from CORE.
|
||||||
|
|
||||||
|
:returns: A (potentially empty) list of vendor item dict records.
|
||||||
|
|
||||||
|
To fetch all vendor items::
|
||||||
|
|
||||||
|
api.get_vendor_items()
|
||||||
|
|
||||||
|
To fetch only products with brand name "Braggs"::
|
||||||
|
|
||||||
|
api.get_vendor_items(brand='Braggs')
|
||||||
|
"""
|
||||||
|
params = {
|
||||||
|
'entity': 'VendorItems',
|
||||||
|
'submethod': 'get',
|
||||||
|
'columns': columns,
|
||||||
|
}
|
||||||
|
response = self.post(params)
|
||||||
|
result = self.parse_response(response)
|
||||||
|
return [json.loads(rec) for rec in result]
|
||||||
|
|
||||||
|
def get_vendor_item(self, upc, vendorID, **columns):
|
||||||
|
"""
|
||||||
|
Fetch an existing VendorItem record from CORE.
|
||||||
|
|
||||||
|
:returns: Either a vendor item dict record, or ``None``.
|
||||||
|
"""
|
||||||
|
columns['upc'] = upc
|
||||||
|
columns['vendorID'] = vendorID
|
||||||
|
params = {
|
||||||
|
'entity': 'VendorItems',
|
||||||
|
'submethod': 'get',
|
||||||
|
'columns': columns,
|
||||||
|
}
|
||||||
|
response = self.post(params)
|
||||||
|
result = self.parse_response(response)
|
||||||
|
if result:
|
||||||
|
if len(result) > 1:
|
||||||
|
log.warning("CORE API returned %s VendorItem results", len(result))
|
||||||
|
return json.loads(result[0])
|
||||||
|
|
Loading…
Reference in a new issue