From 53a7ce46306e852f161b31b482ae3e78a4a0a3a5 Mon Sep 17 00:00:00 2001 From: Oleksii K Date: Fri, 5 Jul 2024 12:03:04 +0300 Subject: [PATCH 1/4] Add __init__.py files --- TonTools/Contracts/__init__.py | 0 TonTools/Enums/__init__.py | 0 TonTools/Providers/__init__.py | 0 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 TonTools/Contracts/__init__.py create mode 100644 TonTools/Enums/__init__.py create mode 100644 TonTools/Providers/__init__.py diff --git a/TonTools/Contracts/__init__.py b/TonTools/Contracts/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/TonTools/Enums/__init__.py b/TonTools/Enums/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/TonTools/Providers/__init__.py b/TonTools/Providers/__init__.py new file mode 100644 index 0000000..e69de29 From b9cbb97e71b1647d32cc5b96b2d10a588c350c34 Mon Sep 17 00:00:00 2001 From: Oleksii K Date: Fri, 5 Jul 2024 12:13:35 +0300 Subject: [PATCH 2/4] Update TonTools version to 2.2.1 This update in setup.py file determines the new version of TonTools is now 2.2.1. It's a small but necessary update for the maintenance and version tracking of the project. --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 964a175..3afdb6c 100644 --- a/setup.py +++ b/setup.py @@ -12,7 +12,7 @@ setup( name='TonTools', - version='2.2.0', + version='2.2.1', packages=find_packages(), include_package_data=True, url='', From f2daccc3fda1da9e827d5bb2b06da802a47e969b Mon Sep 17 00:00:00 2001 From: Oleksii K Date: Fri, 5 Jul 2024 13:01:15 +0300 Subject: [PATCH 3/4] Add logging for DTon errors The code change introduces logging for errors returned from DTon. Instead of raising an error when the response status is not 200, we now log a warning if the response contains 'errors'. This enables the function to return the response dictionary irrespective of its status. --- TonTools/Providers/DtonClient.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/TonTools/Providers/DtonClient.py b/TonTools/Providers/DtonClient.py index 0c1e7e4..23f1f6e 100644 --- a/TonTools/Providers/DtonClient.py +++ b/TonTools/Providers/DtonClient.py @@ -1,4 +1,5 @@ import asyncio +import logging from datetime import datetime import base64 import aiohttp @@ -23,10 +24,9 @@ async def process_response(response: aiohttp.ClientResponse): response_dict = await response.json() except Exception: raise DtonError(f'Failed to parse response: {response.text}') - if response.status != 200: - raise DtonError(f'dton failed with error: {response_dict}') - else: - return response_dict + if 'errors' in response_dict.keys(): + logging.warning(f"DTon return errors: {response_dict['errors']}") + return response_dict class DtonClient: From e3dcafe78a41ba571975e45e0db8cd72fbe76794 Mon Sep 17 00:00:00 2001 From: Oleksii K Date: Sat, 6 Jul 2024 14:04:38 +0300 Subject: [PATCH 4/4] Refactor response handling in DtonClient This update changes the way responses are handled in DtonClient. It defines the type of the `response_dict` and replaces the use of `keys()` in the error checking with a more efficient `get()` call. --- TonTools/Providers/DtonClient.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TonTools/Providers/DtonClient.py b/TonTools/Providers/DtonClient.py index 23f1f6e..8708df1 100644 --- a/TonTools/Providers/DtonClient.py +++ b/TonTools/Providers/DtonClient.py @@ -21,10 +21,10 @@ class DtonError(BaseException): async def process_response(response: aiohttp.ClientResponse): try: - response_dict = await response.json() + response_dict: dict = await response.json() except Exception: raise DtonError(f'Failed to parse response: {response.text}') - if 'errors' in response_dict.keys(): + if response_dict.get('errors'): logging.warning(f"DTon return errors: {response_dict['errors']}") return response_dict