Exemplo n.º 1
0
    def response_dom(self):
        """ Deprecated: use self.response.dom() instead
        Returns the response DOM (xml.dom.minidom).
        """
        log.warn('response_dom() DEPRECATED, use response.dom instead')

        if not self._response_dom:
            dom = None
            content = None

            try:
                if self.response.content:
                    regex = re.compile(b'xmlns="[^"]+"')
                    content = regex.sub(b'', self.response.content)
                else:
                    content = "<%sResponse></%sResponse>" % (self.verb,
                                                             self.verb)

                dom = parseString(content)
                self._response_dom = dom.getElementsByTagName(self.verb +
                                                              'Response')[0]

            except ExpatError as e:
                raise ConnectionResponseError(
                    "Invalid Verb: %s (%s)" % (self.verb, e), self.response)
            except IndexError:
                self._response_dom = dom

        return self._response_dom
Exemplo n.º 2
0
def request_completed(ebay_seller='balearic1', category_id=None):
    """Returns completed results from findCompletedItems.

	Parameters
	----------
	ebay_seller='balearic1'
	category_id=None

	Returns
	-------
	r : response object
	"""

    payload = {'itemFilter': {'name': 'Seller', 'value': ebay_seller}}
    if category_id is not None:
        payload['categoryId'] = category_id

    try:
        r = f_api.execute('findCompletedItems', payload)
    except ConnectionError:
        raise

    try:
        assert r.dict()['ack'] == 'Success'
    except AssertionError:
        raise ConnectionResponseError(r.dict()['errorMessage'], response=r)

    return f_api
Exemplo n.º 3
0
    def response_dom(self):
        "Returns the response DOM (xml.dom.minidom)."

        if not self._response_dom:
            dom = None
            content = None

            try:
                if self._response_content:
                    content = self._response_content
                else:
                    content = "<%sResponse></%sResponse>" % (self.verb,
                                                             self.verb)

                dom = parseString(content)
                self._response_dom = dom.getElementsByTagName(self.verb +
                                                              'Response')[0]

            except ExpatError as e:
                raise ConnectionResponseError("Invalid Verb: %s (%s)" %
                                              (self.verb, e))
            except IndexError:
                self._response_dom = dom

        return self._response_dom
Exemplo n.º 4
0
    def response_dict(self):
        "Return the HTTP response dictionary."

        try:

            return self.response.dict()

        except ExpatError:
            raise ConnectionResponseError('response is not well-formed', self.response)
Exemplo n.º 5
0
    def response_dom(self):
        "Returns the HTTP response dom."

        try:
            if not self._response_dom:
                self._response_dom = parseString(self._response_content)

            return self._response_dom
        except ExpatError:
            raise ConnectionResponseError('response is not well-formed')
Exemplo n.º 6
0
    def response_dict(self):
        "Return the HTTP response dictionary."

        try:
            if not self._response_dict and self.response_content:
                self._response_dict = xml2dict().fromstring(
                    self._response_content)

            return self._response_dict
        except ExpatError:
            raise ConnectionResponseError('response is not well-formed')
Exemplo n.º 7
0
def request_items(min_price=None,
                  min_bids=None,
                  ebay_seller='balearic1',
                  as_json=False,
                  category_id=None):
    payload = {
        'itemFilter': [{
            'name': 'Seller',
            'value': ebay_seller
        }, {
            'name': 'listingType',
            'value': 'Auction'
        }, {
            'name': 'MinBids',
            'value': min_bids
        }, {
            'name': 'MinPrice',
            'value': min_price
        }]
        # 'itemFilter': {'name': 'MinBids', 'value': min_bids}
        # 'itemFilter': {'name': 'MinPrice', 'value': min_price}
    }
    if category_id is not None:
        payload['categoryId'] = category_id

    try:
        r = f_api.execute('findItemsAdvanced', payload)
    except ConnectionError:
        raise

    try:
        assert r.dict()['ack'] == 'Success'
    except AssertionError:
        raise ConnectionResponseError(r.dict()['errorMessage'], response=r)

    if as_json:
        return r.json()
    else:
        return r.dict()
Exemplo n.º 8
0
def get_seller_items(self, seller_id, items_category=None):
	"""Returns a JSON response of all items a <seller_id> has available. Uses
	the findItemsAdvanced ebay API. If items_category is provided, that will be
	used as an item filter in the payload.

	Returns
	-------
	response : json
	"""
	payload = {'itemFilter': {'name': 'Seller', 'value': seller_id}}
	if items_category:
		payload['categoryId'] = items_category
	try:
		response = f_api.execute('findItemsAdvanced', payload)
	except ConnectionError:
		raise

	r_dict = response.dict()
	if r_dict['ack'] != 'Success':
		raise ConnectionResponseError(r_dict['errorMessage'], response=response)

	return response.json()