common.py 文件源码

python
阅读 26 收藏 0 点赞 0 评论 0

项目:toapy 作者: endreman0 项目源码 文件源码
def __get__(desc, obj, cls):
        if obj is None: return desc # no classmethod-style replacement
        attrs = vars(obj)
        if desc.fn.__name__ in attrs:
            return attrs[desc.fn.__name__]

        try:
            fetcher = obj._get
        except AttributeError:
            raise TypeError('TOA object %r must declare _get' % obj) from None
        meth = desc.fn.__get__(obj)
        if inspect.iscoroutinefunction(fetcher):
            @functools.wraps(desc.fn)
            async def wrapper(self, *args, **kwargs):
                url = desc.get_url(args, kwargs)
                json = await self._get(url)
                return meth(json)
        else:
            @functools.wraps(desc.fn)
            def wrapper(self, *args, **kwargs):
                url = desc.get_url(args, kwargs)
                json = self._get(url)
                return meth(json)
        ret = wrapper.__get__(obj)
        attrs[desc.fn.__name__] = ret
        return ret
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号