Skip to main content

A library to access Prestashop Web Service from Python.

Project description

Prestapyt

prestapyt is a library for Python to interact with the PrestaShop’s Web Service API.

Learn more about the PrestaShop Web Service from the [Official Prestashop Documentation].

prestapyt is a direct port of the PrestaShop PHP API Client, PSWebServiceLibrary.php

Similar to PSWebServiceLibrary.php, prestapyt is a thin wrapper around the PrestaShop Web Service: it takes care of making the call to your PrestaShop instance’s Web Service, supports the Web Service’s HTTP-based CRUD operations (handling any errors) and then returns the XML ready for you to work with in Python (as well as prestasac if you work with scala).

Installation

The easiest way to install prestapyt (needs setuptools):

easy_install prestapyt

Or, better, using pip:

pip install prestapyt

If you do not have setuptools, download prestapyt as a .tar.gz or .zip from [Prestapyt Source Archives], untar it and run:

python setup.py install

Usage

from prestapyt import PrestaShopWebServiceError, PrestaShopWebService

prestashop = PrestaShopWebService(’http://localhost:8080/api’, ‘BVWPFFYBT97WKM959D7AVVD0M4815Y1L’) # messages will be as xml # or prestashop = PrestaShopWebServiceDict(’http://localhost:8080/api’, ‘BVWPFFYBT97WKM959D7AVVD0M4815Y1L’) # messages will be as dict

# search / get all addresses prestashop.get(‘addresses’) # will return the same xml message than prestashop.search(‘addresses’) # but when using PrestaShopWebServiceDict prestashop.search(‘addresses’) will return a list of ids

# search with filters prestashop.search(‘addresses’, options={‘limit’: 10}) prestashop.search(‘addresses’, options={‘display’: ‘[firstname,lastname]’, ‘filter[id]’: ‘[1|5]’}) # reference for the options : http://doc.prestashop.com/display/PS14/Cheat+Sheet_+Concepts+Outlined+in+this+Tutorial

# get address 1 prestashop.get(‘addresses’, resource_id=1) # returns ElementTree (PrestaShopWebService) or dict (PrestaShopWebServiceDict) prestashop.get(‘addresses/1’)

# full url prestashop.get(’http://localhost:8080/api/addresses/1’)

# head print prestashop.head(‘addresses’)

# delete a resource prestashop.delete(‘addresses’, resource_ids=4)

# delete many resources prestashop.delete(‘addresses’, resource_ids=[5,6])

# add prestashop.add(‘addresses’, xml)

# edit prestashop.edit(‘addresses’, 5, xml)

# get a blank xml prestashop.get(‘addresses’, options={‘schema’: ‘blank’})

# add product image file_name = ‘sample.jpg’ fd = io.open(file_name, “rb”) content = fd.read() fd.close()

prestashop.add(‘/images/products/123’, files=[(‘image’, file_name, content)])

API Documentation

Documentation for the PrestaShop Web Service can be found on the PrestaShop wiki: [Using the REST webservice]

Credits:

Thanks to Prestashop SA for their PHP API Client PSWebServiceLibrary.php

Thanks to Alex Dean for his port of PSWebServiceLibrary.php to the Scala language, [prestasac] from which I also inspired my library.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

prestapyt-0.6.1.tar.gz (11.6 kB view details)

Uploaded Source

Built Distributions

prestapyt-0.6.1-py2.7.egg (26.9 kB view details)

Uploaded Source

prestapyt-0.6.1-py2.6.egg (27.0 kB view details)

Uploaded Source

File details

Details for the file prestapyt-0.6.1.tar.gz.

File metadata

  • Download URL: prestapyt-0.6.1.tar.gz
  • Upload date:
  • Size: 11.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for prestapyt-0.6.1.tar.gz
Algorithm Hash digest
SHA256 fffe39dbf12074a62919c7d2a76573b38dfe3a985b7b835f6a228e17aebc7d29
MD5 9f72628adf2519383f214cab8b938e9d
BLAKE2b-256 51ca6a689b5f9c54fbb90a54dae10e46e3bc59c237e92cf9eade4d0cebd84705

See more details on using hashes here.

File details

Details for the file prestapyt-0.6.1-py2.7.egg.

File metadata

File hashes

Hashes for prestapyt-0.6.1-py2.7.egg
Algorithm Hash digest
SHA256 a06727ab7f617ec549360665678dede3348485c0b9ec8b52d8c905f112034c89
MD5 ad01acef147f8937b0091155a2eae7b9
BLAKE2b-256 5589510e3561e0b18ffe5460cfecc11c76024db18a7fbe9d7a4d35cc754b9935

See more details on using hashes here.

File details

Details for the file prestapyt-0.6.1-py2.6.egg.

File metadata

File hashes

Hashes for prestapyt-0.6.1-py2.6.egg
Algorithm Hash digest
SHA256 2ca26f8326e8c51f0f8e033793103f69bfc902125145d7821b3da6e3951403d4
MD5 c285cd16306b72a28e2cb843bfb7cd0c
BLAKE2b-256 cd3f0beb97a08b7e94bfce4e65bfcf60a40024735d06a393e8f8479e8deb7697

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page