Исправил декораторы, чтобы они не подменяли название, строку документации и т.д.
Добавил в зависимости typing-extensions (также есть в зависимостях у pydantic).
Исправил подсказки типов для декораторов, чтобы показывались аргументы, а не три точки (на скриншоте показано как теперь это выглядит).
Код:
from shikithon import ShikimoriAPI
import asyncio
async def main():
api = ShikimoriAPI("Api Test", logging=False)
m = api.animes.create_video
print(m.__module__)
print(m.__name__)
print(m.__qualname__)
print(m.__doc__)
print(m.__annotations__)
asyncio.run(main())
Раньше:
shikithon.decorators.protected_method
protected_method_wrapper
protected_method.<locals>.protected_method_decorator.<locals>.protected_method_wrapper
Decorator's wrapper function.
Check for token expire time.
If needed, triggers token refresh function.
:param self: Resource instance
:type self: BaseResource
:param args: Positional arguments
:type args: Tuple[Any]
:param kwargs: Keyword arguments
:type kwargs: Any
:return: Fallback function if API object is in restricted mode
or if required scope is missing
:rtype: RT
{'self': 'BaseResource', 'args': 'Tuple[Any]', 'kwargs': 'Any', 'return': 'RT'}
Теперь:
shikithon.resources.animes
create_video
Animes.create_video
Creates anime video.
:param anime_id: Anime ID to create video
:type anime_id: int
:param kind: Kind of video
:type kind: str
:param name: Name of video
:type name: str
:param url: URL of video
:type url: str
:return: Created video info
:rtype: Optional[Video]
{'anime_id': <class 'int'>, 'kind': <class 'str'>, 'name': <class 'str'>, 'url': <class 'str'>, 'return': typing.Union[shikithon.models.video.Video, NoneType]}
Исправил декораторы, чтобы они не подменяли название, строку документации и т.д. Добавил в зависимости typing-extensions (также есть в зависимостях у pydantic). Исправил подсказки типов для декораторов, чтобы показывались аргументы, а не три точки (на скриншоте показано как теперь это выглядит).
Код:
Раньше:
Теперь: