PamGram/utils/patch/methods.py
omg-xtao ec71907701
♻️ 重写 Aiohttp 超时抛出异常
Co-authored-by: Karako <karakohear@gmail.com>
2022-09-28 08:22:47 +08:00

18 lines
436 B
Python

def patch(obj):
def is_patchable(item):
return getattr(item[1], 'patchable', False)
def wrapper(container):
for name, func in filter(is_patchable, container.__dict__.items()):
old = getattr(obj, name, None)
setattr(obj, f'old_{name}', old)
setattr(obj, name, func)
return container
return wrapper
def patchable(func):
func.patchable = True
return func