Python API for Prestashop
The Python API for prestashop
Running the test against an existing server:
This file is also a test written in the doctest format. To run the example in this file against your installation of prestashop, replace the api key in the below example and run this file from the doctest module
$ python -m doctest -v README.rst
Example Usage:
Connecting to your store:
>>> from pystashop import PrestaShopWebservice >>> from datetime import datetime, timedelta >>> client = PrestaShopWebservice( ... 'http://prestashop.openlabs.co.in', ... 'X76XVCPE71843TIY5CPJVV3NX56Z4MVD')
Getting a list of customers:
>>> customers = client.customers.get_list(as_ids=True) >>> type(customers) <type 'list'> >>> customers_count = len(customers)
Creating customers:
>>> new_customer = client.customers.get_schema() >>> new_customer.firstname = 'Sharoon' >>> new_customer.lastname = 'Thomas' >>> new_customer.email = 'st@openlabs.co.in' >>> customer = client.customers.create(new_customer) >>> customer.firstname 'Sharoon' >>> customer.lastname 'Thomas' >>> new_customer2 = client.customers.get_schema() >>> new_customer2.firstname = 'Test' >>> new_customer2.lastname = 'Customer' >>> new_customer2.email = 'test@openlabs.co.in' >>> customer2 = client.customers.create(new_customer2) >>> customers_list = client.customers.get_list(as_ids=True) >>> len(customers_list) == customers_count + 2 True >>> customer.id in customers_list True
Getting a single customer record:
>>> customer = client.customers.get(customer.id) >>> customer.firstname 'Sharoon' >>> customer.lastname 'Thomas'
Editing the customer details:
>>> customer.email = 'info@openlabs.co.in' >>> result = client.customers.update(customer.id, customer) >>> updated_data = client.customers.get(customer.id) >>> updated_data.email 'info@openlabs.co.in'
Choosing fields to display:
>>> customers = client.customers.get_list( ... display=['id', 'firstname', 'lastname'] ... ) >>> isinstance(customers[0].firstname.pyval, basestring) True >>> isinstance(customers[0].lastname.pyval, basestring) True >>> isinstance(customers[0].id.pyval, int) True
Filtering Records to Display:
>>> customers = client.customers.get_list(
... filters={'firstname': 'Sharoon'},
... display=['firstname']
... )
>>> customers[0].firstname.pyval
'Sharoon'
Filtering Records on basis of date:
>>> customers = client.customers.get_list(
... filters={
... 'date_add': '{0},{1}'.format(
... '2012-01-01 00:00:00',
... datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S')
... ),
... 'firstname': 'Sharoon',
... },
... display=['firstname'], date=True,
... )
>>> customers[0].firstname.pyval
'Sharoon'
>>> time_diff = timedelta(hours=5)
>>> time_now = datetime.utcnow()
>>> customers = client.customers.get_list(
... filters={
... 'date_add': '{0},{1}'.format(
... time_now.strftime('%Y-%m-%d %H:%M:%S'),
... (time_now + time_diff).strftime(
... '%Y-%m-%d %H:%M:%S')
... ),
... 'firstname': 'Sharoon',
... },
... display=['firstname'], date=True,
... )
>>> len(customers)
0
Sorting Records to be displayed:
>>> customers = client.customers.get_list(
... display=['firstname'],
... sort=[('firstname', 'DESC')]
... )
>>> customers[0].firstname.pyval
'Test'
>>> customers = client.customers.get_list(
... display=['lastname'],
... sort=[('lastname', 'DESC')]
... )
>>> customers[0].lastname.pyval
'Thomas'
Limiting and offsetting records to be displayed:
>>> customer_list1 = client.customers.get_list( ... as_ids=True, limit=1 ... ) >>> len(customer_list1) 1 >>> customer_list2 = client.customers.get_list( ... as_ids=True, offset=2, limit=1 ... ) >>> len(customer_list2) 1 >>> customer_list1 == customer_list2 False
Deleting a customer:
>>> client.customers.delete(customer.id) True >>> customers_list = client.customers.get_list(as_ids=True) >>> len(customers_list) == customers_count + 1 True >>> customer.id in customers_list False
Metadata
Release files for pystashop 0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| pystashop-0.4.tar.gz | 27.1 kB | Without provenance | Details |
Release files / pystashop-0.4.tar.gz
| Download URL | pystashop-0.4.tar.gz |
|---|---|
| Size | 27.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
490eec441574b2293b99e3431abbdd3bc001ebc61fdace44d17a9e4c1af41d1f
|
|
BLAKE2b-256 checksum How to use checksums |
89d9e37be064f33c64e8b4078e20123a85d314beebce2a38916dd3d7b3fdb3da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for pystashop 0.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.