diff --git a/bp/cart/__init__.py b/bp/cart/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/bp/cart/services/__init__.py b/bp/cart/services/__init__.py new file mode 100644 index 0000000..80dd875 --- /dev/null +++ b/bp/cart/services/__init__.py @@ -0,0 +1 @@ +from .total import total diff --git a/bp/cart/services/total.py b/bp/cart/services/total.py new file mode 100644 index 0000000..15e074f --- /dev/null +++ b/bp/cart/services/total.py @@ -0,0 +1,6 @@ +def total(cart): + return sum( + (item.product.special_price or item.product.regular_price) * item.quantity + for item in cart + if (item.product.special_price or item.product.regular_price) is not None + )