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: async def close(self) -> None:
assert self.__file is not None assert self.__file is not None
if self.__written == self.__size: logger = get_logger()
(log, result) = (get_logger().info, "OK") logger.info("Closing image writer ...")
elif self.__written < self.__size: try:
(log, result) = (get_logger().error, "INCOMPLETE") if self.__written == self.__size:
else: # written > size (log, result) = (logger.info, "OK")
(log, result) = (get_logger().warning, "OVERFLOW") elif self.__written < self.__size:
log("Written %d of %d bytes to MSD image %r: %s", self.__written, self.__size, self.__name, result) (log, result) = (logger.error, "INCOMPLETE")
await aiofs.afile_sync(self.__file) else: # written > size
await self.__file.close() # type: ignore (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: async def __close_writer(self) -> None:
try: if self.__writer:
if self.__writer: await self.__writer.close()
get_logger().info("Closing new image file ...")
await self.__writer.close()
except Exception:
get_logger().exception("Can't close image file")
finally:
self.__writer = None 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") get_logger().error("Can't write image info because device is full")
async def __close_device_writer(self) -> None: async def __close_device_writer(self) -> None:
try: if self.__device_writer:
if self.__device_writer: await self.__device_writer.close() # type: ignore
get_logger().info("Closing device file ...")
await self.__device_writer.close() # type: ignore
except Exception:
get_logger().exception("Can't close device file")
finally:
self.__device_writer = None self.__device_writer = None
async def __load_device_info(self) -> None: async def __load_device_info(self) -> None: