From 43749cab5902c2822a4e375a1e6a8ce3ff498cea Mon Sep 17 00:00:00 2001 From: "Ilya (Marshal)" Date: Sat, 10 Sep 2022 12:18:21 +0200 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D1=8B=20type=20hints=20=D1=83=20=D0=B4=D0=B5=D0=BA?= =?UTF-8?q?=D0=BE=D1=80=D0=B0=D1=82=D0=BE=D1=80=D0=B0=20log?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- generate_async_version.py | 10 ++-------- yandex_music/client.py | 8 +++++--- yandex_music/client_async.py | 8 +++++--- 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/generate_async_version.py b/generate_async_version.py index 19d247b..68f6b57 100644 --- a/generate_async_version.py +++ b/generate_async_version.py @@ -69,14 +69,8 @@ def gen_client(output_client_filename): code = code.replace(f'self.{method}(', f'await self.{method}(') # specific cases - code = code.replace( - 'self.users_playlists_change(', - 'await self.users_playlists_change(' - ) - code = code.replace( - 'self.rotor_station_feedback(', - 'await self.rotor_station_feedback(' - ) + code = code.replace('self.users_playlists_change(', 'await self.users_playlists_change(') + code = code.replace('self.rotor_station_feedback(', 'await self.rotor_station_feedback(') code = code.replace('return DownloadInfo.de_list', 'return await DownloadInfo.de_list_async') code = DISCLAIMER + code diff --git a/yandex_music/client.py b/yandex_music/client.py index 5542a16..2f7027d 100644 --- a/yandex_music/client.py +++ b/yandex_music/client.py @@ -1,7 +1,7 @@ import functools import logging from datetime import datetime -from typing import Dict, List, Optional, Union +from typing import Dict, List, Optional, Union, TypeVar, Callable, Any from yandex_music import ( Album, @@ -55,12 +55,14 @@ de_list = { logging.getLogger(__name__).addHandler(logging.NullHandler()) +F = TypeVar('F', bound=Callable[..., Any]) -def log(method): + +def log(method: F) -> F: logger = logging.getLogger(method.__module__) @functools.wraps(method) - def wrapper(*args, **kwargs): + def wrapper(*args, **kwargs) -> Any: logger.debug(f'Entering: {method.__name__}') result = method(*args, **kwargs) diff --git a/yandex_music/client_async.py b/yandex_music/client_async.py index f3992e5..a3daa9c 100644 --- a/yandex_music/client_async.py +++ b/yandex_music/client_async.py @@ -5,7 +5,7 @@ import functools import logging from datetime import datetime -from typing import Dict, List, Optional, Union +from typing import Dict, List, Optional, Union, TypeVar, Callable, Any from yandex_music import ( Album, @@ -59,12 +59,14 @@ de_list = { logging.getLogger(__name__).addHandler(logging.NullHandler()) +F = TypeVar('F', bound=Callable[..., Any]) -def log(method): + +def log(method: F) -> F: logger = logging.getLogger(method.__module__) @functools.wraps(method) - async def wrapper(*args, **kwargs): + async def wrapper(*args, **kwargs) -> Any: logger.debug(f'Entering: {method.__name__}') result = await method(*args, **kwargs)