PaiGram/utils/patch/aiohttp.py

21 lines
487 B
Python
Raw Permalink Normal View History

import asyncio
2022-10-11 06:45:07 +00:00
from typing import Optional
import aiohttp # pylint: disable=W0406
from utils.patch.methods import patch, patchable
class AioHttpTimeoutException(asyncio.TimeoutError):
pass
@patch(aiohttp.helpers.TimerContext)
class TimerContext:
@patchable
def __exit__(self, *args, **kwargs) -> Optional[bool]:
try:
return self.old___exit__(*args, **kwargs)
except asyncio.TimeoutError:
raise AioHttpTimeoutException from None