storage: replace assert in append() with named exception
for nicer bug reports related https://github.com/spesmilo/electrum/issues/8664
This commit is contained in:
@@ -54,6 +54,9 @@ class StorageEncryptionVersion(IntEnum):
|
|||||||
class StorageReadWriteError(Exception): pass
|
class StorageReadWriteError(Exception): pass
|
||||||
|
|
||||||
|
|
||||||
|
class StorageOnDiskUnexpectedlyChanged(Exception): pass
|
||||||
|
|
||||||
|
|
||||||
# TODO: Rename to Storage
|
# TODO: Rename to Storage
|
||||||
class WalletStorage(Logger):
|
class WalletStorage(Logger):
|
||||||
|
|
||||||
@@ -108,7 +111,8 @@ class WalletStorage(Logger):
|
|||||||
assert not self.is_encrypted()
|
assert not self.is_encrypted()
|
||||||
with open(self.path, "rb+") as f:
|
with open(self.path, "rb+") as f:
|
||||||
pos = f.seek(0, os.SEEK_END)
|
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"))
|
f.write(data.encode("utf-8"))
|
||||||
self.pos = f.seek(0, os.SEEK_END)
|
self.pos = f.seek(0, os.SEEK_END)
|
||||||
f.flush()
|
f.flush()
|
||||||
|
|||||||
Reference in New Issue
Block a user