Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
S
Stable Diffusion Webui
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
novelai-storage
Stable Diffusion Webui
Commits
8a6e4bda
Commit
8a6e4bda
authored
Nov 27, 2023
by
w-e-w
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
catch uncaught exception with ui creation scripts
prevent total webui crash
parent
f0f100e6
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
29 additions
and
25 deletions
+29
-25
modules/scripts.py
modules/scripts.py
+29
-25
No files found.
modules/scripts.py
View file @
8a6e4bda
...
...
@@ -570,40 +570,44 @@ class ScriptRunner:
if
controls
is
None
:
return
script
.
name
=
wrap_call
(
script
.
title
,
script
.
filename
,
"title"
,
default
=
script
.
filename
)
.
lower
()
api_args
=
[]
try
:
script
.
name
=
wrap_call
(
script
.
title
,
script
.
filename
,
"title"
,
default
=
script
.
filename
)
.
lower
()
api_args
=
[]
for
control
in
controls
:
control
.
custom_script_source
=
os
.
path
.
basename
(
script
.
filename
)
for
control
in
controls
:
control
.
custom_script_source
=
os
.
path
.
basename
(
script
.
filename
)
arg_info
=
api_models
.
ScriptArg
(
label
=
control
.
label
or
""
)
arg_info
=
api_models
.
ScriptArg
(
label
=
control
.
label
or
""
)
for
field
in
(
"value"
,
"minimum"
,
"maximum"
,
"step"
):
v
=
getattr
(
control
,
field
,
None
)
if
v
is
not
None
:
setattr
(
arg_info
,
field
,
v
)
for
field
in
(
"value"
,
"minimum"
,
"maximum"
,
"step"
):
v
=
getattr
(
control
,
field
,
None
)
if
v
is
not
None
:
setattr
(
arg_info
,
field
,
v
)
choices
=
getattr
(
control
,
'choices'
,
None
)
# as of gradio 3.41, some items in choices are strings, and some are tuples where the first elem is the string
if
choices
is
not
None
:
arg_info
.
choices
=
[
x
[
0
]
if
isinstance
(
x
,
tuple
)
else
x
for
x
in
choices
]
choices
=
getattr
(
control
,
'choices'
,
None
)
# as of gradio 3.41, some items in choices are strings, and some are tuples where the first elem is the string
if
choices
is
not
None
:
arg_info
.
choices
=
[
x
[
0
]
if
isinstance
(
x
,
tuple
)
else
x
for
x
in
choices
]
api_args
.
append
(
arg_info
)
api_args
.
append
(
arg_info
)
script
.
api_info
=
api_models
.
ScriptInfo
(
name
=
script
.
name
,
is_img2img
=
script
.
is_img2img
,
is_alwayson
=
script
.
alwayson
,
args
=
api_args
,
)
script
.
api_info
=
api_models
.
ScriptInfo
(
name
=
script
.
name
,
is_img2img
=
script
.
is_img2img
,
is_alwayson
=
script
.
alwayson
,
args
=
api_args
,
)
if
script
.
infotext_fields
is
not
None
:
self
.
infotext_fields
+=
script
.
infotext_fields
if
script
.
infotext_fields
is
not
None
:
self
.
infotext_fields
+=
script
.
infotext_fields
if
script
.
paste_field_names
is
not
None
:
self
.
paste_field_names
+=
script
.
paste_field_names
if
script
.
paste_field_names
is
not
None
:
self
.
paste_field_names
+=
script
.
paste_field_names
self
.
inputs
+=
controls
script
.
args_to
=
len
(
self
.
inputs
)
self
.
inputs
+=
controls
script
.
args_to
=
len
(
self
.
inputs
)
except
Exception
:
errors
.
report
(
f
"Error creating UI for {script.name}: "
,
exc_info
=
True
)
def
setup_ui_for_section
(
self
,
section
,
scriptlist
=
None
):
if
scriptlist
is
None
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment