Skip to content

Commit d7fc118

Browse files
Merge pull request #88 from BrendanParmer/MaterialAddonBugFix
Addon packaging fixes
2 parents 50af817 + bcf580b commit d7fc118

File tree

4 files changed

+20
-8
lines changed

4 files changed

+20
-8
lines changed

compositor/operator.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,8 @@ def execute(self, context):
186186
self._outer = "\t\t"
187187
self._inner = "\t\t\t"
188188

189-
self._setup_addon_directories(context, comp_var)
189+
if not self._setup_addon_directories(context, comp_var):
190+
return {'CANCELLED'}
190191

191192
self._file = open(f"{self._addon_dir}/__init__.py", "w")
192193

geometry/operator.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,8 @@ def execute(self, context):
223223
self._outer = "\t\t"
224224
self._inner = "\t\t\t"
225225

226-
self._setup_addon_directories(context, nt_var)
226+
if not self._setup_addon_directories(context, nt_var):
227+
return {'CANCELLED'}
227228

228229
self._file = open(f"{self._addon_dir}/__init__.py", "w")
229230

material/operator.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,8 @@ def execute(self, context):
137137
self._outer = "\t\t"
138138
self._inner = "\t\t\t"
139139

140-
self._setup_addon_directories(context, mat_var)
140+
if not self._setup_addon_directories(context, mat_var):
141+
return {'CANCELLED'}
141142

142143
self._file = open(f"{self._addon_dir}/__init__.py", "w")
143144

@@ -171,7 +172,7 @@ def execute(self, context):
171172
self._file.close()
172173

173174
if self.mode == 'ADDON':
174-
self._zip_addon(self._zip_dir)
175+
self._zip_addon()
175176

176177
self._report_finished("material")
177178

ntp_operator.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -109,23 +109,32 @@ def _write(self, string: str, indent: str = None):
109109
indent = self._inner
110110
self._file.write(f"{indent}{string}\n")
111111

112-
def _setup_addon_directories(self, context: Context, nt_var: str) -> None:
112+
def _setup_addon_directories(self, context: Context, nt_var: str) -> bool:
113113
"""
114114
Finds/creates directories to save add-on to
115+
116+
Parameters:
117+
context (Context): the current scene context
118+
nt_var (str): variable name of the ndoe tree
119+
120+
Returns:
121+
(bool): success of addon directory setup
115122
"""
116123
# find base directory to save new addon
117124
self._dir = bpy.path.abspath(context.scene.ntp_options.dir_path)
118125
if not self._dir or self._dir == "":
119126
self.report({'ERROR'},
120-
("NodeToPython: Save your blend file before using "
121-
"NodeToPython!")) # TODO: Still valid??
122-
return {'CANCELLED'} # TODO
127+
("NodeToPython: No save location found. Please select "
128+
"one in the NodeToPython Options panel"))
129+
return False
123130

124131
self._zip_dir = os.path.join(self._dir, nt_var)
125132
self._addon_dir = os.path.join(self._zip_dir, nt_var)
126133

127134
if not os.path.exists(self._addon_dir):
128135
os.makedirs(self._addon_dir)
136+
137+
return True
129138

130139
def _create_header(self, name: str) -> None:
131140
"""

0 commit comments

Comments
 (0)