Skip to content
This repository was archived by the owner on Jul 23, 2024. It is now read-only.

Commit 0fad4da

Browse files
committed
feat: more readible exceptions in 'preset' module
* add .close() to file objects * remove __name__ == '__main__' statement
1 parent 83ef5db commit 0fad4da

File tree

1 file changed

+7
-15
lines changed

1 file changed

+7
-15
lines changed

gradience/utils/preset.py

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def __init__(self, preset_path=None, text=None, preset=None):
4949
elif preset: # css or dict
5050
self.load_preset(preset=preset)
5151
else:
52-
raise Exception("Preset created without content")
52+
raise Exception("Failed to create a new Preset object: Preset created without content")
5353

5454
def load_preset(self, preset_path=None, text=None, preset=None):
5555
try:
@@ -60,6 +60,7 @@ def load_preset(self, preset_path=None, text=None, preset=None):
6060
self.preset_path = preset_path
6161
with open(self.preset_path, "r", encoding="utf-8") as file:
6262
preset_text = file.read()
63+
file.close()
6364
else:
6465
raise Exception("load_preset must be called with a path, text, or preset")
6566

@@ -79,11 +80,11 @@ def load_preset(self, preset_path=None, text=None, preset=None):
7980
else:
8081
for app_type in settings_schema["custom_css_app_types"]:
8182
self.custom_css[app_type] = ""
82-
except Exception as error:
83+
except Exception as e:
8384
if self.preset_path:
84-
buglog(error, " -> preset : ", self.preset_path)
85+
buglog(f"Failed to load preset {self.preset_path}. Exc: {e}")
8586
else:
86-
buglog(error, " -> preset : unknown path")
87+
buglog(f"Failed to load preset with unknown path. Exc: {e}")
8788

8889
# Rename an existing preset
8990
def rename_preset(self, name):
@@ -125,11 +126,7 @@ def save_preset(self, name=None, plugins_list=None, to=None):
125126
else:
126127
plugins_list = plugins_list.save()
127128

128-
with open(
129-
self.preset_path,
130-
"w",
131-
encoding="utf-8",
132-
) as file:
129+
with open(self.preset_path, "w", encoding="utf-8") as file:
133130
object_to_write = {
134131
"name": self.display_name,
135132
"variables": self.variables,
@@ -138,12 +135,7 @@ def save_preset(self, name=None, plugins_list=None, to=None):
138135
"plugins": plugins_list,
139136
}
140137
file.write(json.dumps(object_to_write, indent=4))
138+
file.close()
141139

142140
def validate(self):
143141
return True
144-
145-
146-
if __name__ == "__main__":
147-
p = Preset("test", "user")
148-
buglog(p.variables)
149-
buglog(p.palette)

0 commit comments

Comments
 (0)