Skip to content

Commit df69f43

Browse files
committed
Prevent file corruption on code generation errors
1 parent 12882a5 commit df69f43

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

studio/parsers/loader.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -389,10 +389,11 @@ def write(self, path):
389389
pref = Preferences.acquire()
390390
pref_path = f"designer::{file_loader.name.lower()}"
391391
pref.set_default(pref_path, {})
392+
# generate an upto-date tree first
393+
self.generate()
394+
content = file_loader(node=self.root).generate(**pref.get(pref_path))
392395
with open(path, 'w') as dump:
393-
# generate an upto-date tree first
394-
self.generate()
395-
dump.write(file_loader(node=self.root).generate(**pref.get(pref_path)))
396+
dump.write(content)
396397

397398
def __eq__(self, other):
398399
if isinstance(other, DesignBuilder):

0 commit comments

Comments
 (0)