Split session JSON serialization and writing to file

To avoid writing invalid JSON in case of presence of unserializable data due to an internal bug.
This commit is contained in:
Jakub Roztocil 2020-07-07 13:25:36 +02:00
parent 9931747901
commit 0d480139e4

View File

@ -108,16 +108,14 @@ class BaseConfigDict(dict):
self.ensure_directory() self.ensure_directory()
try: json_string = json.dumps(
with self.path.open('w') as f:
json.dump(
obj=self, obj=self,
fp=f,
indent=4, indent=4,
sort_keys=True, sort_keys=True,
ensure_ascii=True, ensure_ascii=True,
) )
f.write('\n') try:
self.path.write_text(json_string + '\n')
except IOError: except IOError:
if not fail_silently: if not fail_silently:
raise raise