From ea9f707f3d3dfdcb966010dc54740131c87d8c3d Mon Sep 17 00:00:00 2001 From: Grosan Flaviu Gheorghe Date: Fri, 3 Nov 2017 23:13:06 +0000 Subject: [PATCH 1/3] Defaults number of node children to empty list, for nodes which do not have sub-nodes. This will prevent errors such as from occuring: 'AttributeError: no such child: {http://webservices.amazon.com/AWSECommerceService/2013-08-01}Children'. --- amazon/api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/amazon/api.py b/amazon/api.py index 7df6483..4c0db3c 100644 --- a/amazon/api.py +++ b/amazon/api.py @@ -654,7 +654,7 @@ def children(self): A list of this browse node's children in the browse node tree. """ children = [] - child_nodes = getattr(self.parsed_response, 'Children') + child_nodes = getattr(self.parsed_response, 'Children', []) for child in getattr(child_nodes, 'BrowseNode', []): children.append(AmazonBrowseNode(child)) return children From ec80bf3070bb73f843c43f3035b84f00deee7b84 Mon Sep 17 00:00:00 2001 From: Grosan Flaviu Gheorghe Date: Sun, 12 Nov 2017 21:11:32 +0000 Subject: [PATCH 2/3] Offers and dimensions. --- amazon/api.py | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) diff --git a/amazon/api.py b/amazon/api.py index 4c0db3c..4a01e55 100644 --- a/amazon/api.py +++ b/amazon/api.py @@ -742,6 +742,123 @@ def asin(self): """ return self._safe_get_element_text('ASIN') + @property + def total_offers(self): + """Total offers + + :return: + Total offers (integer). + """ + return self._safe_get_element_text('Offers.TotalOffers') + + @property + def total_new(self): + """Total offers + + :return: + Total offers (integer). + """ + return self._safe_get_element_text('Offers.TotalNew') + + @property + def total_used(self): + """Total used + + :return: + Total used (integer). + """ + return self._safe_get_element_text('Offers.TotalUsed') + + @property + def total_refurbished(self): + """Total refurbished + + :return: + Total refurbished (integer). + """ + return self._safe_get_element_text('Offers.TotalRefurbished') + + @property + def total_collectible(self): + """Total collectible + + :return: + Total collectible (integer). + """ + return self._safe_get_element_text('Offers.TotalCollectible') + + @property + def item_height(self): + """Item height + + :return: + Item height (integer). + """ + return self._safe_get_element_text('ItemAttributes.ItemDimensions.Height') + + @property + def item_width(self): + """Item width + + :return: + Item width (integer). + """ + return self._safe_get_element_text('ItemAttributes.ItemDimensions.Width') + + @property + def item_length(self): + """Item length + + :return: + Item length (integer). + """ + return self._safe_get_element_text('ItemAttributes.ItemDimensions.Length') + + @property + def item_weight(self): + """Item weight + + :return: + Item weight (integer). + """ + return self._safe_get_element_text('ItemAttributes.ItemDimensions.Weight') + + @property + def package_height(self): + """Package height + + :return: + Package height (integer). + """ + return self._safe_get_element_text('ItemAttributes.PackageDimensions.Height') + + @property + def package_width(self): + """Package width + + :return: + Package width (integer). + """ + return self._safe_get_element_text('ItemAttributes.PackageDimensions.Width') + + @property + def package_length(self): + """Package length + + :return: + Package length (integer). + """ + return self._safe_get_element_text('ItemAttributes.PackageDimensions.Length') + + @property + def package_weight(self): + """Package weight + + :return: + Package weight (integer). + """ + return self._safe_get_element_text('ItemAttributes.PackageDimensions.Weight') + @property def sales_rank(self): """Sales Rank From 997491c44579227f0ee5fdc074417971b25ee062 Mon Sep 17 00:00:00 2001 From: Grosan Flaviu Gheorghe Date: Sun, 12 Nov 2017 21:57:15 +0000 Subject: [PATCH 3/3] Fixed totals. --- amazon/api.py | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/amazon/api.py b/amazon/api.py index 4a01e55..b0df373 100644 --- a/amazon/api.py +++ b/amazon/api.py @@ -742,15 +742,6 @@ def asin(self): """ return self._safe_get_element_text('ASIN') - @property - def total_offers(self): - """Total offers - - :return: - Total offers (integer). - """ - return self._safe_get_element_text('Offers.TotalOffers') - @property def total_new(self): """Total offers @@ -758,7 +749,7 @@ def total_new(self): :return: Total offers (integer). """ - return self._safe_get_element_text('Offers.TotalNew') + return self._safe_get_element_text('OfferSummary.TotalNew') @property def total_used(self): @@ -767,7 +758,7 @@ def total_used(self): :return: Total used (integer). """ - return self._safe_get_element_text('Offers.TotalUsed') + return self._safe_get_element_text('OfferSummary.TotalUsed') @property def total_refurbished(self): @@ -776,7 +767,7 @@ def total_refurbished(self): :return: Total refurbished (integer). """ - return self._safe_get_element_text('Offers.TotalRefurbished') + return self._safe_get_element_text('OfferSummary.TotalRefurbished') @property def total_collectible(self): @@ -785,7 +776,7 @@ def total_collectible(self): :return: Total collectible (integer). """ - return self._safe_get_element_text('Offers.TotalCollectible') + return self._safe_get_element_text('OfferSummary.TotalCollectible') @property def item_height(self):