Tags: alexdlaird/amazon-orders
Tags
Release 4.6.1 ### Added - Improved sign-in, session, and currency and date parsing for non-`.com` Amazon sites, including `amazon.co.jp`. - `DECIMAL_SEPARATOR`, `THOUSANDS_SEPARATOR`, and `CURRENCY_FORMAT` on `Constants`, and currency parsing for either decimal mark (e.g. `$1,234.56`, `1.234,56 €`, `12,99 €`, or `CHF 1'234.50`). ### Fixed - Bug fixes and stability improvements.
Release 4.6.0 ### Added - `Parsable.to_dict()`, serializing an entity and its nested entities to a `dict` of primitives. - `OutputFormatter`, which renders entities as `text`, `json`, `yaml`, or `csv`, and the `output_class` config key to override it. - CLI `--output` option on `history`, `order`, `transactions`, and `order-transactions`, for `text` (the default), `json`, `yaml`, or `csv` output. ### Changed - Constructing an `AmazonOrdersConfig` no longer creates the config, output, or cookie jar directories. Each is now provisioned by the code that writes to it (`save()`, the session's debug page writes, and the session's cookie persistence), so a config built only to drive the `parse_*` methods has no filesystem side effects. ### Fixed - Bug fixes and stability improvements.
Release 4.5.0 ### Added - `AmazonOrders.parse_order_history()`, `AmazonOrders.parse_order_details()`, and `AmazonTransactions.parse_transactions()`, which parse already-fetched page HTML without a session. ### Changed - **Breaking:** `Order.payment_method_last_4` is now a `str` rather than an `int`, preserving leading zeros and matching `Transaction.payment_method_last_4`. Numeric comparisons must become string comparisons (`== "1234"`). ### Fixed - `Shipment.items` and `Order.items` from the Order history page no longer omit Items when a Shipment holds more than one. - `get_order()` now parses the charge summary on digital (`D01-`) order details pages. - `get_order_history()` no longer raises on empty Order history pages (a digital window with no Orders, or a `start_index` past the end), or on Order counts containing a thousands separator.
Release 4.4.4 ### Added - `Order.is_whole_foods`, identifying Whole Foods Market in-store and receipt orders. - `Order.item_count`, for orders where Amazon shows an item count rather than a line-item list (e.g. Whole Foods Market, eGift orders). - Full-details parsing for Whole Foods Market in-store (FOPO) orders via their dedicated `/fopo/order-details` page, populating `items`, `subtotal`, `estimated_tax`, and `payment_method`. - `Item.asin`, the product ASIN parsed from `Item.link` (`None` when the link is not a product page). ### Changed - `Order.grand_total` now populated for Whole Foods Market orders (previously skipped as unsupported). - `Item.link` is now `Optional[str]` (`None` for items without an Amazon detail page).
Release 4.4.3 ### Added - `AmazonOrders.get_order_history()` `order_filter` parameter to filter by order type via Amazon's `orderFilter` query parameter. `--order-filter` added to the `history` CLI command. - `invoice` and `order-transactions` CLI commands, adding parity with `AmazonOrders.get_invoice()` and `AmazonTransactions.get_transactions(order_id=)`.
Release 4.4.2 ### Added - `request_timeout` config key (defaults to `None`) controlling the timeout passed to each HTTP request. ### Changed - `Order.order_number` now uses the caller-supplied value as a fallback when the order number cannot be parsed from the details page; previously documented but unintuitive behavior.
PreviousNext