Amazon module: skip 'Not yet shipped' orders. Fixes #1699
This commit is contained in:
parent
70cf2db1ea
commit
f2ea735c78
1 changed files with 26 additions and 31 deletions
|
|
@ -75,19 +75,22 @@ class HistoryPage(AmazonPage):
|
||||||
) if x.startswith('year-')]
|
) if x.startswith('year-')]
|
||||||
|
|
||||||
|
|
||||||
class OrderNewPage(AmazonPage):
|
class OrderPage(AmazonPage):
|
||||||
is_here = u'//*[contains(text(),"Ordered on")]'
|
def shouldSkip(self):
|
||||||
|
|
||||||
def order(self):
|
|
||||||
# Reports only fully shipped and delivered orders, because they have
|
# Reports only fully shipped and delivered orders, because they have
|
||||||
# finalized payment amounts.
|
# finalized payment amounts.
|
||||||
# Payment for not yet shipped orders may change, and is not always
|
# Payment for not yet shipped orders may change, and is not always
|
||||||
# available.
|
# available.
|
||||||
for s in [u'Not Yet Shipped', u'Preparing for Shipment',
|
return bool([x for s in [u'Not Yet Shipped', u'Not yet shipped',
|
||||||
u'Shipping now', u'In transit']:
|
u'Preparing for Shipment', u'Shipping now', u'In transit']
|
||||||
if self.doc.xpath(u'//*[contains(text(),"%s")]' % s):
|
for x in self.doc.xpath(u'//*[contains(text(),"%s")]' % s)])
|
||||||
return None
|
|
||||||
|
|
||||||
|
|
||||||
|
class OrderNewPage(OrderPage):
|
||||||
|
is_here = u'//*[contains(text(),"Ordered on")]'
|
||||||
|
|
||||||
|
def order(self):
|
||||||
|
if not self.shouldSkip():
|
||||||
order = Order(id=self.order_number())
|
order = Order(id=self.order_number())
|
||||||
order.date = self.order_date()
|
order.date = self.order_date()
|
||||||
order.tax = self.tax()
|
order.tax = self.tax()
|
||||||
|
|
@ -207,19 +210,11 @@ class OrderNewPage(AmazonPage):
|
||||||
yield itm
|
yield itm
|
||||||
|
|
||||||
|
|
||||||
class OrderOldPage(AmazonPage):
|
class OrderOldPage(OrderPage):
|
||||||
is_here = u'//*[contains(text(),"Amazon.com order number")]'
|
is_here = u'//*[contains(text(),"Amazon.com order number")]'
|
||||||
|
|
||||||
def order(self):
|
def order(self):
|
||||||
# Reports only fully shipped and delivered orders, because they have
|
if not self.shouldSkip():
|
||||||
# finalized payment amounts.
|
|
||||||
# Payment for not yet shipped orders may change, and are not always
|
|
||||||
# available.
|
|
||||||
for s in [u'Not Yet Shipped', u'Preparing for Shipment',
|
|
||||||
u'Shipping now']:
|
|
||||||
if self.doc.xpath(u'//b[contains(text(),"%s")]' % s):
|
|
||||||
return None
|
|
||||||
|
|
||||||
order = Order(id=self.order_number())
|
order = Order(id=self.order_number())
|
||||||
order.date = self.order_date()
|
order.date = self.order_date()
|
||||||
order.tax = self.tax()
|
order.tax = self.tax()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue