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.
Files changed (68) hide show
  1. {etsy_python-1.0.14 → etsy_python-1.0.16}/PKG-INFO +1 -1
  2. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/Session.py +11 -2
  3. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python.egg-info/PKG-INFO +1 -1
  4. {etsy_python-1.0.14 → etsy_python-1.0.16}/setup.py +1 -1
  5. {etsy_python-1.0.14 → etsy_python-1.0.16}/LICENSE +0 -0
  6. {etsy_python-1.0.14 → etsy_python-1.0.16}/README.md +0 -0
  7. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/__init__.py +0 -0
  8. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/__init__.py +0 -0
  9. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/auth/OAuth.py +0 -0
  10. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/auth/__init__.py +0 -0
  11. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/common/Env.py +0 -0
  12. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/common/Request.py +0 -0
  13. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/common/Utils.py +0 -0
  14. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/common/__init__.py +0 -0
  15. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/enums/Language.py +0 -0
  16. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/enums/Listing.py +0 -0
  17. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/enums/ListingInventory.py +0 -0
  18. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/enums/ShippingProfile.py +0 -0
  19. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/enums/ShopReceipt.py +0 -0
  20. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/enums/__init__.py +0 -0
  21. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/exceptions/BaseAPIException.py +0 -0
  22. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/exceptions/RequestException.py +0 -0
  23. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/exceptions/__init__.py +0 -0
  24. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/models/FileRequest.py +0 -0
  25. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/models/Listing.py +0 -0
  26. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/models/Miscellaneous.py +0 -0
  27. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/models/Product.py +0 -0
  28. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/models/Receipt.py +0 -0
  29. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/models/Request.py +0 -0
  30. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/models/ShippingProfile.py +0 -0
  31. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/models/Shop.py +0 -0
  32. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/models/ShopReturnPolicy.py +0 -0
  33. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/models/Utils.py +0 -0
  34. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/models/__init__.py +0 -0
  35. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/Listing.py +0 -0
  36. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ListingFile.py +0 -0
  37. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ListingImage.py +0 -0
  38. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ListingInventory.py +0 -0
  39. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ListingOffering.py +0 -0
  40. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ListingProduct.py +0 -0
  41. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ListingTranslation.py +0 -0
  42. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ListingVariationImages.py +0 -0
  43. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ListingVideo.py +0 -0
  44. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/Miscellaneous.py +0 -0
  45. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/Payment.py +0 -0
  46. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/PaymentLedgerEntry.py +0 -0
  47. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/Receipt.py +0 -0
  48. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ReceiptTransactions.py +0 -0
  49. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/Response.py +0 -0
  50. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/Review.py +0 -0
  51. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ShippingProfile.py +0 -0
  52. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/Shop.py +0 -0
  53. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ShopProductionPartner.py +0 -0
  54. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ShopReturnPolicy.py +0 -0
  55. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/ShopSection.py +0 -0
  56. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/Taxonomy.py +0 -0
  57. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/User.py +0 -0
  58. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/UserAddress.py +0 -0
  59. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/__init__.py +0 -0
  60. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/enums/RateLimit.py +0 -0
  61. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/enums/Request.py +0 -0
  62. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/resources/enums/__init__.py +0 -0
  63. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python/v3/tests/__init__.py +0 -0
  64. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python.egg-info/SOURCES.txt +0 -0
  65. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python.egg-info/dependency_links.txt +0 -0
  66. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python.egg-info/requires.txt +0 -0
  67. {etsy_python-1.0.14 → etsy_python-1.0.16}/etsy_python.egg-info/top_level.txt +0 -0
  68. {etsy_python-1.0.14 → etsy_python-1.0.16}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: etsy-python
3
- Version: 1.0.14
3
+ Version: 1.0.16
4
4
  Summary: Etsy API Client Library for Python
5
5
  Author: Amit Ray
6
6
  Author-email: mail@amitray.dev
@@ -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
- if datetime.utcnow() >= self.expiry:
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}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: etsy-python
3
- Version: 1.0.14
3
+ Version: 1.0.16
4
4
  Summary: Etsy API Client Library for Python
5
5
  Author: Amit Ray
6
6
  Author-email: mail@amitray.dev
@@ -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.14"
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