Module wrappers.ShoppingCart
Expand source code
import maglev
import shoppingcart
from typing import Any, List, Callable
class ShoppingCart:
"""
An Shopping Cart Library
Add items and show a summary at checkout
"""
def __init__(self):
bus = maglev.maglev_MagLev.getInstance("default")
lib = shoppingcart.shoppingcart_ShoppingCart(bus)
def Create(self, storeId: str) -> str:
""" Create a new shopping cart
Args:
storeId (str):
Returns:
cartId
"""
pybus = maglev.maglev_MagLevPy.getInstance("default")
args = [storeId]
ret = None
def Create_Ret(async_ret):
nonlocal ret
ret = async_ret
pybus.call('ShoppingCart.Create', args, Create_Ret)
return ret
def AddItem(self, cartId: str, itemId: str, qty: float, price: float) -> float:
""" Add an item to a cart
Args:
cartId (str):
itemId (str):
qty (float):quantity
price (float):price
Returns:
cart item index
"""
pybus = maglev.maglev_MagLevPy.getInstance("default")
args = [cartId, itemId, qty, price]
ret = None
def AddItem_Ret(async_ret):
nonlocal ret
ret = async_ret
pybus.call('ShoppingCart.AddItem', args, AddItem_Ret)
return ret
def ListItems(self, cartId: str) -> List[Any]:
""" Get a list of items in a cart
Args:
cartId (str):
Returns:
array of item objects
"""
pybus = maglev.maglev_MagLevPy.getInstance("default")
args = [cartId]
ret = None
def ListItems_Ret(async_ret):
nonlocal ret
ret = async_ret
pybus.call('ShoppingCart.ListItems', args, ListItems_Ret)
return ret
def RemoveItem(self, cartId: str, idx: float):
""" Remove an item from a cart
Args:
cartId (str):
idx (float):item index
"""
pybus = maglev.maglev_MagLevPy.getInstance("default")
args = [cartId, idx]
ret = None
def RemoveItem_Ret(async_ret):
nonlocal ret
ret = async_ret
pybus.call('ShoppingCart.RemoveItem', args, RemoveItem_Ret)
def UpdateQty(self, cartId: str, idx: float, qty: float):
""" Update cart item quantity
Args:
cartId (str):
idx (float):item index
qty (float):quantity
"""
pybus = maglev.maglev_MagLevPy.getInstance("default")
args = [cartId, idx, qty]
ret = None
def UpdateQty_Ret(async_ret):
nonlocal ret
ret = async_ret
pybus.call('ShoppingCart.UpdateQty', args, UpdateQty_Ret)
def CountItems(self, cartId: str) -> float:
""" Count the items in a cart
Args:
cartId (str):
Returns:
number of items
"""
pybus = maglev.maglev_MagLevPy.getInstance("default")
args = [cartId]
ret = None
def CountItems_Ret(async_ret):
nonlocal ret
ret = async_ret
pybus.call('ShoppingCart.CountItems', args, CountItems_Ret)
return ret
def GetCartSummary(self, cartId: str) -> object:
""" Get a summary for a shopping cart
Args:
cartId (str):
Returns:
summary
"""
pybus = maglev.maglev_MagLevPy.getInstance("default")
args = [cartId]
ret = None
def GetCartSummary_Ret(async_ret):
nonlocal ret
ret = async_ret
pybus.call('ShoppingCart.GetCartSummary', args, GetCartSummary_Ret)
return ret
def Clear(self, cartId: str):
""" Clear all items from a shopping cart
Args:
cartId (str):
"""
pybus = maglev.maglev_MagLevPy.getInstance("default")
args = [cartId]
ret = None
def Clear_Ret(async_ret):
nonlocal ret
ret = async_ret
pybus.call('ShoppingCart.Clear', args, Clear_Ret)
Classes
class ShoppingCart-
An Shopping Cart Library Add items and show a summary at checkout
Expand source code
class ShoppingCart: """ An Shopping Cart Library Add items and show a summary at checkout """ def __init__(self): bus = maglev.maglev_MagLev.getInstance("default") lib = shoppingcart.shoppingcart_ShoppingCart(bus) def Create(self, storeId: str) -> str: """ Create a new shopping cart Args: storeId (str): Returns: cartId """ pybus = maglev.maglev_MagLevPy.getInstance("default") args = [storeId] ret = None def Create_Ret(async_ret): nonlocal ret ret = async_ret pybus.call('ShoppingCart.Create', args, Create_Ret) return ret def AddItem(self, cartId: str, itemId: str, qty: float, price: float) -> float: """ Add an item to a cart Args: cartId (str): itemId (str): qty (float):quantity price (float):price Returns: cart item index """ pybus = maglev.maglev_MagLevPy.getInstance("default") args = [cartId, itemId, qty, price] ret = None def AddItem_Ret(async_ret): nonlocal ret ret = async_ret pybus.call('ShoppingCart.AddItem', args, AddItem_Ret) return ret def ListItems(self, cartId: str) -> List[Any]: """ Get a list of items in a cart Args: cartId (str): Returns: array of item objects """ pybus = maglev.maglev_MagLevPy.getInstance("default") args = [cartId] ret = None def ListItems_Ret(async_ret): nonlocal ret ret = async_ret pybus.call('ShoppingCart.ListItems', args, ListItems_Ret) return ret def RemoveItem(self, cartId: str, idx: float): """ Remove an item from a cart Args: cartId (str): idx (float):item index """ pybus = maglev.maglev_MagLevPy.getInstance("default") args = [cartId, idx] ret = None def RemoveItem_Ret(async_ret): nonlocal ret ret = async_ret pybus.call('ShoppingCart.RemoveItem', args, RemoveItem_Ret) def UpdateQty(self, cartId: str, idx: float, qty: float): """ Update cart item quantity Args: cartId (str): idx (float):item index qty (float):quantity """ pybus = maglev.maglev_MagLevPy.getInstance("default") args = [cartId, idx, qty] ret = None def UpdateQty_Ret(async_ret): nonlocal ret ret = async_ret pybus.call('ShoppingCart.UpdateQty', args, UpdateQty_Ret) def CountItems(self, cartId: str) -> float: """ Count the items in a cart Args: cartId (str): Returns: number of items """ pybus = maglev.maglev_MagLevPy.getInstance("default") args = [cartId] ret = None def CountItems_Ret(async_ret): nonlocal ret ret = async_ret pybus.call('ShoppingCart.CountItems', args, CountItems_Ret) return ret def GetCartSummary(self, cartId: str) -> object: """ Get a summary for a shopping cart Args: cartId (str): Returns: summary """ pybus = maglev.maglev_MagLevPy.getInstance("default") args = [cartId] ret = None def GetCartSummary_Ret(async_ret): nonlocal ret ret = async_ret pybus.call('ShoppingCart.GetCartSummary', args, GetCartSummary_Ret) return ret def Clear(self, cartId: str): """ Clear all items from a shopping cart Args: cartId (str): """ pybus = maglev.maglev_MagLevPy.getInstance("default") args = [cartId] ret = None def Clear_Ret(async_ret): nonlocal ret ret = async_ret pybus.call('ShoppingCart.Clear', args, Clear_Ret)Methods
def AddItem(self, cartId: str, itemId: str, qty: float, price: float) ‑> float-
Add an item to a cart
Args
cartId (str): itemId (str): qty (float):quantity price (float):price
Returns
cart item index
Expand source code
def AddItem(self, cartId: str, itemId: str, qty: float, price: float) -> float: """ Add an item to a cart Args: cartId (str): itemId (str): qty (float):quantity price (float):price Returns: cart item index """ pybus = maglev.maglev_MagLevPy.getInstance("default") args = [cartId, itemId, qty, price] ret = None def AddItem_Ret(async_ret): nonlocal ret ret = async_ret pybus.call('ShoppingCart.AddItem', args, AddItem_Ret) return ret def Clear(self, cartId: str)-
Clear all items from a shopping cart
Args
cartId (str):
Expand source code
def Clear(self, cartId: str): """ Clear all items from a shopping cart Args: cartId (str): """ pybus = maglev.maglev_MagLevPy.getInstance("default") args = [cartId] ret = None def Clear_Ret(async_ret): nonlocal ret ret = async_ret pybus.call('ShoppingCart.Clear', args, Clear_Ret) def CountItems(self, cartId: str) ‑> float-
Count the items in a cart
Args
cartId (str):
Returns
number of items
Expand source code
def CountItems(self, cartId: str) -> float: """ Count the items in a cart Args: cartId (str): Returns: number of items """ pybus = maglev.maglev_MagLevPy.getInstance("default") args = [cartId] ret = None def CountItems_Ret(async_ret): nonlocal ret ret = async_ret pybus.call('ShoppingCart.CountItems', args, CountItems_Ret) return ret def Create(self, storeId: str) ‑> str-
Create a new shopping cart
Args
storeId (str):
Returns
cartId
Expand source code
def Create(self, storeId: str) -> str: """ Create a new shopping cart Args: storeId (str): Returns: cartId """ pybus = maglev.maglev_MagLevPy.getInstance("default") args = [storeId] ret = None def Create_Ret(async_ret): nonlocal ret ret = async_ret pybus.call('ShoppingCart.Create', args, Create_Ret) return ret def GetCartSummary(self, cartId: str) ‑> object-
Get a summary for a shopping cart
Args
cartId (str):
Returns
summary
Expand source code
def GetCartSummary(self, cartId: str) -> object: """ Get a summary for a shopping cart Args: cartId (str): Returns: summary """ pybus = maglev.maglev_MagLevPy.getInstance("default") args = [cartId] ret = None def GetCartSummary_Ret(async_ret): nonlocal ret ret = async_ret pybus.call('ShoppingCart.GetCartSummary', args, GetCartSummary_Ret) return ret def ListItems(self, cartId: str) ‑> List[Any]-
Get a list of items in a cart
Args
cartId (str):
Returns
array of item objects
Expand source code
def ListItems(self, cartId: str) -> List[Any]: """ Get a list of items in a cart Args: cartId (str): Returns: array of item objects """ pybus = maglev.maglev_MagLevPy.getInstance("default") args = [cartId] ret = None def ListItems_Ret(async_ret): nonlocal ret ret = async_ret pybus.call('ShoppingCart.ListItems', args, ListItems_Ret) return ret def RemoveItem(self, cartId: str, idx: float)-
Remove an item from a cart
Args
cartId (str): idx (float):item index
Expand source code
def RemoveItem(self, cartId: str, idx: float): """ Remove an item from a cart Args: cartId (str): idx (float):item index """ pybus = maglev.maglev_MagLevPy.getInstance("default") args = [cartId, idx] ret = None def RemoveItem_Ret(async_ret): nonlocal ret ret = async_ret pybus.call('ShoppingCart.RemoveItem', args, RemoveItem_Ret) def UpdateQty(self, cartId: str, idx: float, qty: float)-
Update cart item quantity
Args
cartId (str): idx (float):item index qty (float):quantity
Expand source code
def UpdateQty(self, cartId: str, idx: float, qty: float): """ Update cart item quantity Args: cartId (str): idx (float):item index qty (float):quantity """ pybus = maglev.maglev_MagLevPy.getInstance("default") args = [cartId, idx, qty] ret = None def UpdateQty_Ret(async_ret): nonlocal ret ret = async_ret pybus.call('ShoppingCart.UpdateQty', args, UpdateQty_Ret)