MCPcopy Index your code
hub / github.com/vladmandic/sdnext / load_scripts

Function load_scripts

modules/scripts_manager.py:288–328  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

286
287
288def load_scripts():
289 t = timer.Timer()
290 t0 = time.time()
291 global current_basedir # pylint: disable=global-statement
292 scripts_data.clear()
293 postprocessing_scripts_data.clear()
294 script_callbacks.clear_callbacks()
295 scripts_list = list_scripts('scripts', '.py') + list_scripts(os.path.join('modules', 'face'), '.py')
296 scripts_list = sorted(scripts_list, key=lambda item: item.priority + item.path.lower(), reverse=False)
297 syspath = sys.path
298
299 def register_scripts_from_module(module: ModuleType, scriptfile):
300 for script_class in module.__dict__.values():
301 if type(script_class) != type:
302 continue
303 debug(f'Registering script: path="{scriptfile.path}"')
304 if issubclass(script_class, Script):
305 scripts_data.append(ScriptClassData(script_class, scriptfile.path, scriptfile.basedir, module))
306 elif issubclass(script_class, scripts_postprocessing.ScriptPostprocessing):
307 postprocessing_scripts_data.append(ScriptClassData(script_class, scriptfile.path, scriptfile.basedir, module))
308
309 for scriptfile in scripts_list:
310 try:
311 if scriptfile.basedir != paths.script_path:
312 sys.path = [scriptfile.basedir] + sys.path
313 current_basedir = scriptfile.basedir
314 script_module = script_loading.load_module(scriptfile.path)
315 register_scripts_from_module(script_module, scriptfile)
316 except Exception as e:
317 errors.display(e, f'Load script: {scriptfile.filename}')
318 finally:
319 current_basedir = paths.script_path
320 t.record(os.path.basename(scriptfile.basedir) if scriptfile.basedir != paths.script_path else scriptfile.filename)
321 sys.path = syspath
322
323 global scripts_txt2img, scripts_img2img, scripts_control, scripts_postproc # pylint: disable=global-statement
324 scripts_txt2img = ScriptRunner('txt2img')
325 scripts_img2img = ScriptRunner('img2img')
326 scripts_control = ScriptRunner('control')
327 scripts_postproc = scripts_postprocessing.ScriptPostprocessingRunner()
328 return t, time.time()-t0
329
330
331def wrap_call(func: Callable, filename: str, funcname: str, *args, default=None, **kwargs):

Callers

nothing calls this directly

Calls 6

recordMethod · 0.95
list_scriptsFunction · 0.85
ScriptRunnerClass · 0.85
clearMethod · 0.45
displayMethod · 0.45

Tested by

no test coverage detected