refactoring

This commit is contained in:
Maxim Devaev
2022-07-23 11:17:36 +03:00
parent baeb2bc35b
commit de14053725
3 changed files with 20 additions and 23 deletions

View File

@@ -187,15 +187,22 @@ class MsdImageWriter:
async def close(self) -> None:
assert self.__file is not None
if self.__written == self.__size:
(log, result) = (get_logger().info, "OK")
elif self.__written < self.__size:
(log, result) = (get_logger().error, "INCOMPLETE")
else: # written > size
(log, result) = (get_logger().warning, "OVERFLOW")
log("Written %d of %d bytes to MSD image %r: %s", self.__written, self.__size, self.__name, result)
await aiofs.afile_sync(self.__file)
await self.__file.close() # type: ignore
logger = get_logger()
logger.info("Closing image writer ...")
try:
if self.__written == self.__size:
(log, result) = (logger.info, "OK")
elif self.__written < self.__size:
(log, result) = (logger.error, "INCOMPLETE")
else: # written > size
(log, result) = (logger.warning, "OVERFLOW")
log("Written %d of %d bytes to MSD image %r: %s", self.__written, self.__size, self.__name, result)
try:
await aiofs.afile_sync(self.__file)
finally:
await self.__file.close() # type: ignore
except Exception:
logger.exception("Can't close image writer")
# =====

View File

@@ -388,13 +388,8 @@ class Plugin(BaseMsd): # pylint: disable=too-many-instance-attributes
# =====
async def __close_writer(self) -> None:
try:
if self.__writer:
get_logger().info("Closing new image file ...")
await self.__writer.close()
except Exception:
get_logger().exception("Can't close image file")
finally:
if self.__writer:
await self.__writer.close()
self.__writer = None
# =====

View File

@@ -262,13 +262,8 @@ class Plugin(BaseMsd): # pylint: disable=too-many-instance-attributes
get_logger().error("Can't write image info because device is full")
async def __close_device_writer(self) -> None:
try:
if self.__device_writer:
get_logger().info("Closing device file ...")
await self.__device_writer.close() # type: ignore
except Exception:
get_logger().exception("Can't close device file")
finally:
if self.__device_writer:
await self.__device_writer.close() # type: ignore
self.__device_writer = None
async def __load_device_info(self) -> None: