diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2023-04-29 14:22:24 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-29 14:22:24 +0000 |
commit | 78d0ee3bbaa2b48b7918e8088ad91c34f1ff2f1e (patch) | |
tree | ef6f32229611cab72bc1cfe088e2c60a70dbf41a /modules/styles.py | |
parent | 3ccf6f5ae8e57233200f9cac52da8d5d88ecee93 (diff) | |
parent | c018eefe9173ae8f3669340479569dda78643a8a (diff) | |
download | stable-diffusion-webui-gfx803-78d0ee3bbaa2b48b7918e8088ad91c34f1ff2f1e.tar.gz stable-diffusion-webui-gfx803-78d0ee3bbaa2b48b7918e8088ad91c34f1ff2f1e.tar.bz2 stable-diffusion-webui-gfx803-78d0ee3bbaa2b48b7918e8088ad91c34f1ff2f1e.zip |
Merge branch 'dev' into extension-settings-backup
Diffstat (limited to 'modules/styles.py')
-rw-r--r-- | modules/styles.py | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/modules/styles.py b/modules/styles.py index 990d5623..9ed85991 100644 --- a/modules/styles.py +++ b/modules/styles.py @@ -72,16 +72,14 @@ class StyleDatabase: return apply_styles_to_prompt(prompt, [self.styles.get(x, self.no_style).negative_prompt for x in styles])
def save_styles(self, path: str) -> None:
- # Write to temporary file first, so we don't nuke the file if something goes wrong
- fd, temp_path = tempfile.mkstemp(".csv")
+ # Always keep a backup file around
+ if os.path.exists(path):
+ shutil.copy(path, path + ".bak")
+
+ fd = os.open(path, os.O_RDWR|os.O_CREAT)
with os.fdopen(fd, "w", encoding="utf-8-sig", newline='') as file:
# _fields is actually part of the public API: typing.NamedTuple is a replacement for collections.NamedTuple,
# and collections.NamedTuple has explicit documentation for accessing _fields. Same goes for _asdict()
writer = csv.DictWriter(file, fieldnames=PromptStyle._fields)
writer.writeheader()
writer.writerows(style._asdict() for k, style in self.styles.items())
-
- # Always keep a backup file around
- if os.path.exists(path):
- shutil.move(path, path + ".bak")
- shutil.move(temp_path, path)
|