Source code for shiba.marketplacemanagement

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# class MarketplaceManagement


from __future__ import unicode_literals

from shibaconnection import ShibaConnection
from shibatools import ShibaTools
from shibaexceptions import *


[docs]class MarketplaceManagement(object): """ Marketplace informations retrieving, such as product lists and category mapping""" def __init__(self, connection): if isinstance(connection, ShibaConnection) is False: raise ShibaCallingError("Shiba subclass init error : expecting a ShibaConnection instance") self.connection = connection
[docs] def get_product_list(self, scope="", kw="", nav="", refs="", productids="", nbproductsperpage="", pagenumber=""): """Prints a search list result from given parameters. :param scope: none (classic results), "PRICING" (classic results plus 10 best announces) or "LIMITED" (search in categories in which rapid put on sale is possible through WS) :param kw: research keyword :param nav: navigation category (url friendly ones, can be found on PriceMinister categories' URLs) :param refs: EAN, or ISBN, as a string, each value separated by a coma ','. :param productids: same as refs but as products ID. :param nbproductsperpage: products per page, default is 20. :param pagenumber: page number, default is 1. """ if (type(refs) is not list and type(refs) is not str and type(refs) is not unicode) or \ (type(productids) is not list and type(productids) is not str and type(productids) is not unicode): raise ShibaCallingError \ ("Shiba code error : expected list or str/unicode as refs and/or productids parameters" ", got " + unicode(type(refs)) + " as refs and " + unicode(type(productids)) + " as productids instead.") if type(refs) is list: refs = ','.join(refs) if type(productids) is list: productids = ','.join(productids) inf = ShibaTools.inf_constructor(self.connection, "listing", **locals()) url = ShibaTools.url_constructor(self.connection, inf, domain="http://ws.priceminister.com") obj = ShibaTools.retrieve_obj_from_url(url) return obj
[docs] def get_category_map(self): """Lists items categories from the PriceMinister platform""" inf = ShibaTools.inf_constructor(self.connection, "categorymap", **locals()) url = ShibaTools.url_constructor(self.connection, inf, domain="http://ws.priceminister.com") obj = ShibaTools.retrieve_obj_from_url(url) return obj