mirror of
https://github.com/andvikt/mega_hacs.git
synced 2025-12-11 00:54:28 +05:00
fix some timeouts
This commit is contained in:
@@ -91,8 +91,6 @@ class MegaD:
|
|||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize."""
|
"""Initialize."""
|
||||||
if DOMAIN not in hass.data:
|
|
||||||
hass.data[DOMAIN] = {}
|
|
||||||
if config is not None:
|
if config is not None:
|
||||||
lg.debug(f'load config: %s', config.data)
|
lg.debug(f'load config: %s', config.data)
|
||||||
self.config = config
|
self.config = config
|
||||||
@@ -159,11 +157,10 @@ class MegaD:
|
|||||||
if force_d is not None:
|
if force_d is not None:
|
||||||
self.customize[CONF_FORCE_D] = force_d
|
self.customize[CONF_FORCE_D] = force_d
|
||||||
try:
|
try:
|
||||||
if allow_hosts is not None:
|
if allow_hosts is not None and DOMAIN in hass.data:
|
||||||
allow_hosts = set(allow_hosts.split(';'))
|
allow_hosts = set(allow_hosts.split(';'))
|
||||||
hass.data[DOMAIN][CONF_HTTP].allowed_hosts |= allow_hosts
|
hass.data[DOMAIN][CONF_HTTP].allowed_hosts |= allow_hosts
|
||||||
hass.data[DOMAIN][CONF_HTTP].protected = protected
|
hass.data[DOMAIN][CONF_HTTP].protected = protected
|
||||||
|
|
||||||
except Exception:
|
except Exception:
|
||||||
self.lg.exception('while setting allowed hosts')
|
self.lg.exception('while setting allowed hosts')
|
||||||
|
|
||||||
@@ -292,14 +289,20 @@ class MegaD:
|
|||||||
url = f"{url}/?{cmd}"
|
url = f"{url}/?{cmd}"
|
||||||
self.lg.debug('request: %s', url)
|
self.lg.debug('request: %s', url)
|
||||||
async with self._http_lck(priority):
|
async with self._http_lck(priority):
|
||||||
async with aiohttp.request("get", url=url) as req:
|
for _ntry in range(3):
|
||||||
if req.status != 200:
|
try:
|
||||||
self.lg.warning('%s returned %s (%s)', url, req.status, await req.text())
|
async with aiohttp.request("get", url=url) as req:
|
||||||
return None
|
if req.status != 200:
|
||||||
else:
|
self.lg.warning('%s returned %s (%s)', url, req.status, await req.text())
|
||||||
ret = await req.text()
|
return None
|
||||||
self.lg.debug('response %s', ret)
|
else:
|
||||||
return ret
|
ret = await req.text()
|
||||||
|
self.lg.debug('response %s', ret)
|
||||||
|
return ret
|
||||||
|
except asyncio.TimeoutError:
|
||||||
|
self.lg.warning(f'timeout while requesting {url}')
|
||||||
|
await asyncio.sleep(1)
|
||||||
|
raise asyncio.TimeoutError('after 3 tries')
|
||||||
|
|
||||||
async def save(self):
|
async def save(self):
|
||||||
await self.send_command(cmd='s')
|
await self.send_command(cmd='s')
|
||||||
|
|||||||
Reference in New Issue
Block a user