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
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
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
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)
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')
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')
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()
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()