moved AioExclusiveRegion to aiotools

This commit is contained in:
Devaev Maxim
2020-02-29 17:23:57 +03:00
parent 5ef5e00da9
commit 75d9b858d7
6 changed files with 51 additions and 80 deletions

View File

@@ -45,7 +45,6 @@ from ....validators.os import valid_abs_dir
from ....validators.os import valid_command
from .... import aiotools
from .... import aioregion
from .. import MsdError
from .. import MsdIsBusyError
@@ -111,7 +110,7 @@ class _State:
self.vd: Optional[_VirtualDriveState] = None
self._lock = asyncio.Lock()
self._region = aioregion.AioExclusiveRegion(MsdIsBusyError)
self._region = aiotools.AioExclusiveRegion(MsdIsBusyError)
@contextlib.asynccontextmanager
async def busy(self, check_online: bool=True) -> AsyncGenerator[None, None]:

View File

@@ -40,7 +40,6 @@ import aiofiles.base
from ...logging import get_logger
from ... import aiotools
from ... import aioregion
from ... import gpio
from ...yamlconf import Option
@@ -174,7 +173,7 @@ class Plugin(BaseMsd): # pylint: disable=too-many-instance-attributes
self.__init_retries = init_retries
self.__reset_delay = reset_delay
self.__region = aioregion.AioExclusiveRegion(MsdIsBusyError)
self.__region = aiotools.AioExclusiveRegion(MsdIsBusyError)
self.__device_info: Optional[_DeviceInfo] = None
self.__connected = False
@@ -235,7 +234,7 @@ class Plugin(BaseMsd): # pylint: disable=too-many-instance-attributes
@aiotools.atomic
async def reset(self) -> None:
with aiotools.unregion_only_on_exception(self.__region):
with self.__region.exit_only_on_exception():
await self.__inner_reset()
@aiotools.tasked