From 59694993ffc129e64de91f73c5236c9d4e6d201c Mon Sep 17 00:00:00 2001 From: Timmy Welch Date: Sun, 24 Dec 2023 18:28:38 -0800 Subject: [PATCH] Fix loading previous existing xml --- comicapi/metadata/comet.py | 7 +++++-- comicapi/metadata/comicrack.py | 5 ++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/comicapi/metadata/comet.py b/comicapi/metadata/comet.py index e87616b..d8b67e7 100644 --- a/comicapi/metadata/comet.py +++ b/comicapi/metadata/comet.py @@ -119,10 +119,13 @@ class CoMet(Metadata): def set_metadata(self, metadata: GenericMetadata, archive: Archiver) -> bool: if self.supports_metadata(archive): success = True + xml = b"" + if self.has_metadata(archive): + xml = archive.read_file(self.file) if self.file != self.comet_filename: success = self.remove_metadata(archive) - xml = self._bytes_from_metadata(metadata, archive.read_file(self.comet_filename)) - return success and archive.write_file(self.comet_filename, xml) + + return success and archive.write_file(self.comet_filename, self._bytes_from_metadata(metadata, xml)) else: logger.warning(f"Archive ({archive.name()}) does not support {self.name()} metadata") return False diff --git a/comicapi/metadata/comicrack.py b/comicapi/metadata/comicrack.py index e1faca0..7fea529 100644 --- a/comicapi/metadata/comicrack.py +++ b/comicapi/metadata/comicrack.py @@ -118,7 +118,10 @@ class ComicRack(Metadata): def set_metadata(self, metadata: GenericMetadata, archive: Archiver) -> bool: if self.supports_metadata(archive): - return archive.write_file(self.file, self._bytes_from_metadata(metadata, archive.read_file(self.file))) + xml = b"" + if self.has_metadata(archive): + xml = archive.read_file(self.file) + return archive.write_file(self.file, self._bytes_from_metadata(metadata, xml)) else: logger.warning(f"Archive ({archive.name()}) does not support {self.name()} metadata") return False