From c178be74b70b26b6038cd817c58876c6892b1c21 Mon Sep 17 00:00:00 2001 From: SomberNight Date: Wed, 17 Jan 2024 20:20:24 +0000 Subject: [PATCH] storage: replace assert in append() with named exception for nicer bug reports related https://github.com/spesmilo/electrum/issues/8664 --- electrum/storage.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/electrum/storage.py b/electrum/storage.py index a941d5d1f..eaf63b32a 100644 --- a/electrum/storage.py +++ b/electrum/storage.py @@ -54,6 +54,9 @@ class StorageEncryptionVersion(IntEnum): class StorageReadWriteError(Exception): pass +class StorageOnDiskUnexpectedlyChanged(Exception): pass + + # TODO: Rename to Storage class WalletStorage(Logger): @@ -108,7 +111,8 @@ class WalletStorage(Logger): assert not self.is_encrypted() with open(self.path, "rb+") as f: pos = f.seek(0, os.SEEK_END) - assert pos == self.pos, (self.pos, pos) + if pos != self.pos: + raise StorageOnDiskUnexpectedlyChanged(f"expected size {self.pos}, found {pos}") f.write(data.encode("utf-8")) self.pos = f.seek(0, os.SEEK_END) f.flush()