This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

ECS CART

This is a package from the ecs suite, that provide a cart object for ecommerce projects.

In standart use it provide classical functionnalities:
  • Add/delete product from cart
  • Price manipulation and amount (with vat)
  • Weight amount
  • Reductions (in % or value)

But this package also provide rules system that add the posibility to improve his functionnalities (like connection with database, logistic function, …)

Read docs/source/module/README.txt or inline http://docs.emencia.net/ecs.cart

Ecs cart Changelog

0.4 (January 13, 2008)

  • fix small bugs
  • improve documentation (logo + spec doc)

O.3 (December 15, 2008)

  • fix docstest
  • fix bug in rules config

O.2 (December 10, 2008)

  • use now sphinx for doc and nose for testing
  • re-develop the rules config with classical python conf files and paste for import modules

0.1 (October 22, 2008)

  • project creation

ecscart

ecscart is a module who can manage the caddy of an user. This module save the product reference, price and quantity.

The caddy has two states, valided or not valided. The caddy has the possibility to compute rules for the total amount, like reductions, taxes, delivery prices.

The computed caddy can be published as many format, like xml, json.

Finally the caddy will be persistant in database, to ensure data integrity during a crash.

Launching the cart

A few initialisation procedure is mandatory to instatiate the Cart class. ;;

>>> from ecs.cart import Cart
>>> user_id = 'Doriane'
>>> cart = Cart(user_id)

Adding a product in the caddy

To add a product into the caddy we must use the add_product method. The first parameters is the reference of the product, the second the price, and the optional quantity parameters.

>>> cart.add_product('brosse a cheveux', 12.4)
>>> cart.add_product('lime a ongle', price=3.32, quantity=5)

Set quantity of the product

You can eventualy change the quantity of a product in a cart by the set_quantity method.

>>> cart.get_product_property('brosse a cheveux', 'quantity')
1.0
>>> cart.set_quantity('brosse a cheveux', 2)
>>> cart.get_product_property('brosse a cheveux', 'quantity')
2.0

Delete a product

You can delete a product by setting his quantity to 0, or most symply with the del_product method.

>>> cart.add_product('fond de teint', 19)
>>> cart.add_product('mascara', 12)
...
>>> cart.set_quantity('fond de teint', 0)
>>> cart.del_product('mascara')
...
>>> cart.get_product_property('fond de teint', 'price')
Traceback (most recent call last):
...
ValueError: Invalid reference fond de teint
>>> cart.get_product_property('mascara', 'quantity')
Traceback (most recent call last):
...
ValueError: Invalid reference mascara

Getting the amount of the caddy

It’s symply to have the amount of the caddy using the get_cart_amount

>>> amount = cart.get_cart_amount()
>>> round(amount)
41.0

Add reductions

You could add reduction on the cart.

>>> cart.add_reduction(5)
>>> amount = cart.get_cart_amount()
>>> round(amount)
36.0

You could delete the reduction

Confirm the caddy

A flag is provided to manage is the caddy is valided. The validation method is also provided validation can take a parameters wich will be the flag value:

>>> cart.validation_statut
False
>>> cart.validation()
>>> cart.validation_statut
True
>>> cart.validation('Not yet')
>>> cart.validation_statut
'Not yet'

Removing a caddy for an user

To delete the caddy from the persistence you must use the remove method

>>> cart.remove()
>>> cart.products
{}
Release History

Release History

0.4dev-r2383

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.3dev

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2dev

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1dev-r2330

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
ecs.cart-0.4dev_r2383-py2.5.egg (25.1 kB) Copy SHA256 Checksum SHA256 2.5 Egg Jan 13, 2009
ecs.cart-0.4dev-r2383.tar.gz (35.0 kB) Copy SHA256 Checksum SHA256 Source Jan 13, 2009

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting