mirror of
https://github.com/vladmandic/automatic
synced 2026-09-20 01:31:13 +02:00
refactor monolithic shared.py and separate legacy options with logging
Signed-off-by: Vladimir Mandic <mandic00@live.com>
This commit is contained in:
+71
-1
@@ -19,6 +19,76 @@ def active():
|
||||
return [x for x in extensions if x.enabled]
|
||||
|
||||
|
||||
def temp_disable_extensions():
|
||||
disable_safe = [
|
||||
'sd-webui-controlnet',
|
||||
'multidiffusion-upscaler-for-automatic1111',
|
||||
'a1111-sd-webui-lycoris',
|
||||
'sd-webui-agent-scheduler',
|
||||
'clip-interrogator-ext',
|
||||
'stable-diffusion-webui-images-browser',
|
||||
]
|
||||
disable_diffusers = [
|
||||
'sd-webui-controlnet',
|
||||
'multidiffusion-upscaler-for-automatic1111',
|
||||
'a1111-sd-webui-lycoris',
|
||||
'sd-webui-animatediff',
|
||||
]
|
||||
disable_themes = [
|
||||
'sd-webui-lobe-theme',
|
||||
'cozy-nest',
|
||||
'sdnext-modernui',
|
||||
]
|
||||
disabled = []
|
||||
if shared.cmd_opts.theme is not None:
|
||||
theme_name = shared.cmd_opts.theme
|
||||
else:
|
||||
theme_name = f'{shared.opts.theme_type.lower()}/{shared.opts.gradio_theme}'
|
||||
if theme_name == 'lobe':
|
||||
disable_themes.remove('sd-webui-lobe-theme')
|
||||
elif theme_name == 'cozy-nest' or theme_name == 'cozy':
|
||||
disable_themes.remove('cozy-nest')
|
||||
elif '/' not in theme_name: # set default themes per type
|
||||
if theme_name == 'standard' or theme_name == 'default':
|
||||
theme_name = 'standard/black-teal'
|
||||
if theme_name == 'modern':
|
||||
theme_name = 'modern/Default'
|
||||
if theme_name == 'gradio':
|
||||
theme_name = 'gradio/default'
|
||||
if theme_name == 'huggingface':
|
||||
theme_name = 'huggingface/blaaa'
|
||||
|
||||
if theme_name.lower().startswith('standard') or theme_name.lower().startswith('default'):
|
||||
shared.opts.data['theme_type'] = 'Standard'
|
||||
shared.opts.data['gradio_theme'] = theme_name[9:]
|
||||
elif theme_name.lower().startswith('modern'):
|
||||
shared.opts.data['theme_type'] = 'Modern'
|
||||
shared.opts.data['gradio_theme'] = theme_name[7:]
|
||||
disable_themes.remove('sdnext-modernui')
|
||||
elif theme_name.lower().startswith('huggingface') or theme_name.lower().startswith('gradio') or theme_name.lower().startswith('none'):
|
||||
shared.opts.data['theme_type'] = 'None'
|
||||
shared.opts.data['gradio_theme'] = theme_name
|
||||
else:
|
||||
shared.log.error(f'UI theme invalid: theme="{theme_name}" available={["standard/*", "modern/*", "none/*"]} fallback="standard/black-teal"')
|
||||
shared.opts.data['theme_type'] = 'Standard'
|
||||
shared.opts.data['gradio_theme'] = 'black-teal'
|
||||
|
||||
for ext in disable_themes:
|
||||
if ext.lower() not in shared.opts.disabled_extensions:
|
||||
disabled.append(ext)
|
||||
if shared.cmd_opts.safe:
|
||||
for ext in disable_safe:
|
||||
if ext.lower() not in shared.opts.disabled_extensions:
|
||||
disabled.append(ext)
|
||||
for ext in disable_diffusers:
|
||||
if ext.lower() not in shared.opts.disabled_extensions:
|
||||
disabled.append(ext)
|
||||
disabled.append('Lora')
|
||||
|
||||
shared.cmd_opts.controlnet_loglevel = 'WARNING'
|
||||
return disabled
|
||||
|
||||
|
||||
class Extension:
|
||||
def __init__(self, name, path, enabled=True, is_builtin=False):
|
||||
self.name = name
|
||||
@@ -152,7 +222,7 @@ def list_extensions():
|
||||
extension_paths.append((extension_dirname, path, dirname == extensions_builtin_dir))
|
||||
if shared.opts.theme_type == 'Modern' and 'sdnext-modernui' in shared.opts.disabled_extensions:
|
||||
shared.opts.disabled_extensions.remove('sdnext-modernui')
|
||||
disabled_extensions = [e.lower() for e in shared.opts.disabled_extensions + shared.temp_disable_extensions()]
|
||||
disabled_extensions = [e.lower() for e in shared.opts.disabled_extensions + temp_disable_extensions()]
|
||||
for dirname, path, is_builtin in extension_paths:
|
||||
enabled = dirname.lower() not in disabled_extensions
|
||||
extension = Extension(name=dirname, path=path, enabled=enabled, is_builtin=is_builtin)
|
||||
|
||||
Reference in New Issue
Block a user