Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 94 additions & 0 deletions amazon_paapi/models/item_result.py
Original file line number Diff line number Diff line change
Expand Up @@ -340,6 +340,99 @@ class ApiBrowseNodeInfo(sdk_models.BrowseNodeInfo):
website_sales_rank: ApiWebsiteSalesRank


class ApiMoney(sdk_models.Money):
"""Money representation for OffersV2 price fields."""

amount: float
currency: str
display_amount: str


class ApiOfferAvailabilityV2(sdk_models.OfferAvailabilityV2):
"""OffersV2 availability information."""

max_order_quantity: int
message: str
min_order_quantity: int
type: str


class ApiOfferConditionV2(sdk_models.OfferConditionV2):
"""OffersV2 condition information."""

condition_note: str
sub_condition: str
value: str


class ApiDealDetails(sdk_models.DealDetails):
"""Deal details for OffersV2 listings."""

access_type: str
badge: str
early_access_duration_in_milliseconds: int
end_time: str
percent_claimed: int
start_time: str


class ApiOfferLoyaltyPointsV2(sdk_models.OfferLoyaltyPointsV2):
"""OffersV2 loyalty points information."""

points: int


class ApiOfferMerchantInfoV2(sdk_models.OfferMerchantInfoV2):
"""OffersV2 merchant information."""

id: str
name: str


class ApiOfferSavingBasis(sdk_models.OfferSavingBasis):
"""Saving basis information for OffersV2."""

money: ApiMoney
saving_basis_type: str
saving_basis_type_label: str


class ApiOfferSavingsV2(sdk_models.OfferSavingsV2):
"""OffersV2 savings information."""

money: ApiMoney
percentage: int


class ApiOfferPriceV2(sdk_models.OfferPriceV2):
"""OffersV2 price information."""

money: ApiMoney
price_per_unit: ApiMoney
saving_basis: ApiOfferSavingBasis
savings: ApiOfferSavingsV2


class ApiListingsV2(sdk_models.OfferListingV2):
"""OffersV2 listing with all details."""

availability: ApiOfferAvailabilityV2
condition: ApiOfferConditionV2
deal_details: ApiDealDetails
is_buy_box_winner: bool
loyalty_points: ApiOfferLoyaltyPointsV2
merchant_info: ApiOfferMerchantInfoV2
price: ApiOfferPriceV2
type: sdk_models.OfferType
violates_map: bool


class ApiOffersV2(sdk_models.OffersV2):
"""Container for OffersV2 listings."""

listings: list[ApiListingsV2]


class Item(sdk_models.Item):
"""Amazon product item with all details."""

Expand All @@ -350,6 +443,7 @@ class Item(sdk_models.Item):
images: ApiImages
item_info: ApiItemInfo
offers: ApiOffers
offers_v2: ApiOffersV2
parent_asin: str
rental_offers: sdk_models.RentalOffers
score: float
Expand Down
20 changes: 19 additions & 1 deletion amazon_paapi/sdk/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from __future__ import absolute_import

"""
Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License").
You may not use this file except in compliance with the License.
Expand Down Expand Up @@ -38,6 +38,7 @@
from .configuration import Configuration
# import models into sdk package
from .models.availability import Availability
from .models.big_decimal import BigDecimal
from .models.browse_node import BrowseNode
from .models.browse_node_ancestor import BrowseNodeAncestor
from .models.browse_node_child import BrowseNodeChild
Expand All @@ -50,6 +51,7 @@
from .models.content_rating import ContentRating
from .models.contributor import Contributor
from .models.customer_reviews import CustomerReviews
from .models.deal_details import DealDetails
from .models.delivery_flag import DeliveryFlag
from .models.dimension_based_attribute import DimensionBasedAttribute
from .models.duration_price import DurationPrice
Expand Down Expand Up @@ -79,25 +81,39 @@
from .models.min_price import MinPrice
from .models.min_reviews_rating import MinReviewsRating
from .models.min_saving_percent import MinSavingPercent
from .models.money import Money
from .models.multi_valued_attribute import MultiValuedAttribute
from .models.offer_availability import OfferAvailability
from .models.offer_availability_v2 import OfferAvailabilityV2
from .models.offer_condition import OfferCondition
from .models.offer_condition_note import OfferConditionNote
from .models.offer_condition_v2 import OfferConditionV2
from .models.offer_count import OfferCount
from .models.offer_delivery_info import OfferDeliveryInfo
from .models.offer_listing import OfferListing
from .models.offer_listing_v2 import OfferListingV2
from .models.offer_listings import OfferListings
from .models.offer_listings_v2 import OfferListingsV2
from .models.offer_loyalty_points import OfferLoyaltyPoints
from .models.offer_loyalty_points_v2 import OfferLoyaltyPointsV2
from .models.offer_merchant_info import OfferMerchantInfo
from .models.offer_merchant_info_v2 import OfferMerchantInfoV2
from .models.offer_price import OfferPrice
from .models.offer_price_v2 import OfferPriceV2
from .models.offer_program_eligibility import OfferProgramEligibility
from .models.offer_promotion import OfferPromotion
from .models.offer_saving_basis import OfferSavingBasis
from .models.offer_savings import OfferSavings
from .models.offer_savings_v2 import OfferSavingsV2
from .models.offer_shipping_charge import OfferShippingCharge
from .models.offer_sub_condition import OfferSubCondition
from .models.offer_summary import OfferSummary
from .models.offer_type import OfferType
from .models.offers import Offers
from .models.offers_v2 import OffersV2
from .models.partner_type import PartnerType
from .models.price import Price
from .models.price_type import PriceType
from .models.product_advertising_api_client_exception import ProductAdvertisingAPIClientException
from .models.product_advertising_api_service_exception import ProductAdvertisingAPIServiceException
from .models.product_info import ProductInfo
Expand All @@ -107,6 +123,8 @@
from .models.refinement_bin import RefinementBin
from .models.rental_offer_listing import RentalOfferListing
from .models.rental_offers import RentalOffers
from .models.saving_basis_type import SavingBasisType
from .models.search_index import SearchIndex
from .models.search_items_request import SearchItemsRequest
from .models.search_items_resource import SearchItemsResource
from .models.search_items_response import SearchItemsResponse
Expand Down
5 changes: 2 additions & 3 deletions amazon_paapi/sdk/api/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from __future__ import absolute_import

"""
Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License").
You may not use this file except in compliance with the License.
Expand All @@ -25,6 +25,5 @@
https://webservices.amazon.com/paapi5/documentation/index.html # noqa: E501
"""


# import apis into api package
from .default_api import DefaultApi
from ..api.default_api import DefaultApi
3 changes: 1 addition & 2 deletions amazon_paapi/sdk/api/default_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from __future__ import absolute_import

"""
Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License").
You may not use this file except in compliance with the License.
Expand All @@ -25,7 +25,6 @@
https://webservices.amazon.com/paapi5/documentation/index.html # noqa: E501
"""


import re # noqa: F401

# python 2 and python 3 compatibility library
Expand Down
15 changes: 5 additions & 10 deletions amazon_paapi/sdk/api_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from __future__ import absolute_import

"""
Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License").
You may not use this file except in compliance with the License.
Expand Down Expand Up @@ -95,21 +95,16 @@ def __init__(self,
self.default_headers[header_name] = header_value
self.cookie = cookie
# Set default User-Agent.
self.user_agent = 'paapi5-python-sdk/1.0.0'
self.user_agent = 'paapi5-python-sdk/1.2.4'

self.access_key = access_key
self.secret_key = secret_key
self.host = host
self.region = region

def __del__(self):
try:
self.pool.close()
self.pool.join()
except (OSError, TypeError):
# Ignore errors during interpreter shutdown when file descriptors
# or other resources may already be deallocated
pass
self.pool.close()
self.pool.join()

@property
def user_agent(self):
Expand Down Expand Up @@ -529,7 +524,7 @@ def update_params_for_auth(self, headers, querys, auth_settings, api_name, metho
"""
if not auth_settings:
service = 'ProductAdvertisingAPI'
utc_timestamp = datetime.datetime.utcnow()
utc_timestamp = datetime.datetime.now(datetime.timezone.utc)
headers['x-amz-target'] = 'com.amazon.paapi5.v1.ProductAdvertisingAPIv1.' + api_name
headers['content-encoding'] = 'amz-1.0'
headers['Content-Type'] = 'application/json; charset=utf-8'
Expand Down
2 changes: 1 addition & 1 deletion amazon_paapi/sdk/auth/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,4 @@
"""

# import auth into sdk package
from .sign_helper import AWSV4Auth
from ..auth.sign_helper import AWSV4Auth
7 changes: 3 additions & 4 deletions amazon_paapi/sdk/configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from __future__ import absolute_import

"""
Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License").
You may not use this file except in compliance with the License.
Expand All @@ -25,7 +25,6 @@
https://webservices.amazon.com/paapi5/documentation/index.html # noqa: E501
"""


import copy
import logging
import multiprocessing
Expand Down Expand Up @@ -228,6 +227,6 @@ def to_debug_report(self):
return "Python SDK Debug Report:\n"\
"OS: {env}\n"\
"Python Version: {pyversion}\n"\
"Version of the API: 1.0.0\n"\
"SDK Package Version: 1.0.0".\
"Version of the API: 5.0.0\n"\
"SDK Package Version: 1.2.4".\
format(env=sys.platform, pyversion=sys.version)
Loading
Loading