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

Method add_script

modules/scripts_manager.py:376–407  ·  view source on GitHub ↗
(self, script_class, path, is_img2img, is_control)

Source from the content-addressed store, hash-verified

374 self.time = 0
375
376 def add_script(self, script_class, path, is_img2img, is_control):
377 try:
378 script = script_class()
379 script.filename = path
380 script.is_txt2img = not is_img2img
381 script.is_img2img = is_img2img
382 if path.startswith(paths.extensions_dir) and not path.startswith(paths.extensions_builtin_dir):
383 script.external = True
384 if is_control and script.external:
385 title = script.title()
386 if title not in control_extensions:
387 log.debug(f'Script: fn="{script.filename}" type=control title="{title}" skip')
388 return
389 if is_control: # this is messy but show is a legacy function that is not aware of control tab
390 v1 = script.show(script.is_txt2img)
391 v2 = script.show(script.is_img2img)
392 if v1 == AlwaysVisible or v2 == AlwaysVisible:
393 visibility = AlwaysVisible
394 else:
395 visibility = v1 or v2
396 else:
397 visibility = script.show(script.is_img2img)
398 if visibility == AlwaysVisible:
399 self.scripts.append(script)
400 self.alwayson_scripts.append(script)
401 script.alwayson = True
402 elif visibility:
403 self.scripts.append(script)
404 self.selectable_scripts.append(script)
405 except Exception as e:
406 log.error(f'Script initialize: {path} {e}')
407 errors.display(e, 'script')
408
409 def initialize_scripts(self, is_img2img=False, is_control=False):
410 from modules import scripts_auto_postprocessing

Callers 1

initialize_scriptsMethod · 0.95

Calls 3

titleMethod · 0.45
showMethod · 0.45
displayMethod · 0.45

Tested by

no test coverage detected