etsy-python 1.0.14__tar.gz → 1.0.16__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {etsy_python-1.0.14 → etsy_python-1.0.16}/PKG-INFO +1 -1
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/Session.py +11 -2
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python.egg-info/PKG-INFO +1 -1
- {etsy_python-1.0.14 → etsy_python-1.0.16}/setup.py +1 -1
- {etsy_python-1.0.14 → etsy_python-1.0.16}/LICENSE +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/README.md +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/__init__.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/__init__.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/auth/OAuth.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/auth/__init__.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/common/Env.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/common/Request.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/common/Utils.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/common/__init__.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/enums/Language.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/enums/Listing.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/enums/ListingInventory.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/enums/ShippingProfile.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/enums/ShopReceipt.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/enums/__init__.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/exceptions/BaseAPIException.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/exceptions/RequestException.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/exceptions/__init__.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/models/FileRequest.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/models/Listing.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/models/Miscellaneous.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/models/Product.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/models/Receipt.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/models/Request.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/models/ShippingProfile.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/models/Shop.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/models/ShopReturnPolicy.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/models/Utils.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/models/__init__.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/Listing.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ListingFile.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ListingImage.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ListingInventory.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ListingOffering.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ListingProduct.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ListingTranslation.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ListingVariationImages.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ListingVideo.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/Miscellaneous.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/Payment.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/PaymentLedgerEntry.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/Receipt.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ReceiptTransactions.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/Response.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/Review.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ShippingProfile.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/Shop.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ShopProductionPartner.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ShopReturnPolicy.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ShopSection.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/Taxonomy.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/User.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/UserAddress.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/__init__.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/enums/RateLimit.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/enums/Request.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/enums/__init__.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/tests/__init__.py +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python.egg-info/SOURCES.txt +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python.egg-info/dependency_links.txt +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python.egg-info/requires.txt +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python.egg-info/top_level.txt +0 -0
- {etsy_python-1.0.14 → etsy_python-1.0.16}/setup.cfg +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from datetime import datetime, timedelta
|
|
1
|
+
from datetime import datetime, timedelta, timezone
|
|
2
2
|
from typing import Any, Callable, Dict, Optional
|
|
3
3
|
|
|
4
4
|
from requests import Session
|
|
@@ -88,6 +88,14 @@ class EtsyClient:
|
|
|
88
88
|
@staticmethod
|
|
89
89
|
def _get_user_id(access_token: str):
|
|
90
90
|
return access_token.split(".")[0]
|
|
91
|
+
|
|
92
|
+
@staticmethod
|
|
93
|
+
def ensure_utc(expiry_time: datetime):
|
|
94
|
+
if expiry_time.tzinfo is None:
|
|
95
|
+
expiry_time = expiry_time.replace(tzinfo=timezone.utc)
|
|
96
|
+
else:
|
|
97
|
+
expiry_time = expiry_time.astimezone(timezone.utc)
|
|
98
|
+
return expiry_time
|
|
91
99
|
|
|
92
100
|
def make_request(
|
|
93
101
|
self,
|
|
@@ -99,7 +107,8 @@ class EtsyClient:
|
|
|
99
107
|
if method not in {Method.GET, Method.DELETE} and payload is None:
|
|
100
108
|
raise ValueError(f"Improper payload for {method}")
|
|
101
109
|
|
|
102
|
-
|
|
110
|
+
is_token_expired = datetime.now(tz=timezone.utc) >= self.ensure_utc(self.expiry)
|
|
111
|
+
if is_token_expired:
|
|
103
112
|
self.update_token()
|
|
104
113
|
|
|
105
114
|
uri_path = f"{environment.request_url}{uri_path}"
|
|
@@ -7,7 +7,7 @@ here = os.path.abspath(os.path.dirname(__file__))
|
|
|
7
7
|
with codecs.open(os.path.join(here, "README.md"), encoding="utf-8") as fh:
|
|
8
8
|
long_description = "\n" + fh.read()
|
|
9
9
|
|
|
10
|
-
VERSION = "1.0.
|
|
10
|
+
VERSION = "1.0.16"
|
|
11
11
|
DESCRIPTION = "Etsy API Client Library for Python"
|
|
12
12
|
|
|
13
13
|
# Setting up
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ListingVariationImages.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|