From 4845db4e324dd5194ea82cc5f772237242a89a92 Mon Sep 17 00:00:00 2001
From: Ftps <63702646+Tps-F@users.noreply.github.com>
Date: Wed, 15 Mar 2023 20:29:50 +0900
Subject: Update ui_extensions.py
Add git submodule and Fix WinError
---
modules/ui_extensions.py | 21 +++++----------------
1 file changed, 5 insertions(+), 16 deletions(-)
(limited to 'modules/ui_extensions.py')
diff --git a/modules/ui_extensions.py b/modules/ui_extensions.py
index df75a925..b24b67fc 100644
--- a/modules/ui_extensions.py
+++ b/modules/ui_extensions.py
@@ -141,22 +141,11 @@ def install_extension_from_url(dirname, url):
try:
shutil.rmtree(tmpdir, True)
-
- repo = git.Repo.clone_from(url, tmpdir)
- repo.remote().fetch()
-
- try:
- os.rename(tmpdir, target_dir)
- except OSError as err:
- # TODO what does this do on windows? I think it'll be a different error code but I don't have a system to check it
- # Shouldn't cause any new issues at least but we probably want to handle it there too.
- if err.errno == errno.EXDEV:
- # Cross device link, typical in docker or when tmp/ and extensions/ are on different file systems
- # Since we can't use a rename, do the slower but more versitile shutil.move()
- shutil.move(tmpdir, target_dir)
- else:
- # Something else, not enough free space, permissions, etc. rethrow it so that it gets handled.
- raise(err)
+ with git.Repo.clone_from(url, tmpdir) as repo:
+ repo.remote().fetch()
+ for submodule in repo.submodules:
+ submodule.update()
+ os.rename(tmpdir, target_dir)
import launch
launch.run_extension_installer(target_dir)
--
cgit v1.2.3
From 79ed567b12c73231b712eb97106a565330968e34 Mon Sep 17 00:00:00 2001
From: Ftps <63702646+Tps-F@users.noreply.github.com>
Date: Wed, 15 Mar 2023 22:42:53 +0900
Subject: remove unused library
I'm sorry I forgot.
---
modules/ui_extensions.py | 2 --
1 file changed, 2 deletions(-)
(limited to 'modules/ui_extensions.py')
diff --git a/modules/ui_extensions.py b/modules/ui_extensions.py
index b24b67fc..3d9c4261 100644
--- a/modules/ui_extensions.py
+++ b/modules/ui_extensions.py
@@ -1,6 +1,5 @@
import json
import os.path
-import shutil
import sys
import time
import traceback
@@ -10,7 +9,6 @@ import git
import gradio as gr
import html
import shutil
-import errno
from modules import extensions, shared, paths
from modules.call_queue import wrap_gradio_gpu_call
--
cgit v1.2.3
From 147d2922ff573f757b8940446b925c2e658e40ac Mon Sep 17 00:00:00 2001
From: Ftps <63702646+Tps-F@users.noreply.github.com>
Date: Thu, 16 Mar 2023 12:35:48 +0900
Subject: Cross device link
---
.fleet/settings.json | 0
modules/ui_extensions.py | 12 +++++++++++-
2 files changed, 11 insertions(+), 1 deletion(-)
create mode 100644 .fleet/settings.json
(limited to 'modules/ui_extensions.py')
diff --git a/.fleet/settings.json b/.fleet/settings.json
new file mode 100644
index 00000000..e69de29b
diff --git a/modules/ui_extensions.py b/modules/ui_extensions.py
index 3d9c4261..d9def96e 100644
--- a/modules/ui_extensions.py
+++ b/modules/ui_extensions.py
@@ -9,6 +9,7 @@ import git
import gradio as gr
import html
import shutil
+import errno
from modules import extensions, shared, paths
from modules.call_queue import wrap_gradio_gpu_call
@@ -143,7 +144,16 @@ def install_extension_from_url(dirname, url):
repo.remote().fetch()
for submodule in repo.submodules:
submodule.update()
- os.rename(tmpdir, target_dir)
+ try:
+ os.rename(tmpdir, target_dir)
+ except OSError as err:
+ if err.errno == errno.EXDEV:
+ # Cross device link, typical in docker or when tmp/ and extensions/ are on different file systems
+ # Since we can't use a rename, do the slower but more versitile shutil.move()
+ shutil.move(tmpdir, target_dir)
+ else:
+ # Something else, not enough free space, permissions, etc. rethrow it so that it gets handled.
+ raise err
import launch
launch.run_extension_installer(target_dir)
--
cgit v1.2.3
From af2db25c84c9a226ab34959e868fc18740418b4b Mon Sep 17 00:00:00 2001
From: AUTOMATIC <16777216c@gmail.com>
Date: Tue, 21 Mar 2023 08:49:08 +0300
Subject: enable queue by default more stylistic changes
---
modules/shared.py | 3 ++-
modules/ui.py | 4 ++--
modules/ui_extensions.py | 2 +-
style.css | 39 ++++++++++++++++++++++++++++-----------
webui.py | 2 +-
5 files changed, 34 insertions(+), 16 deletions(-)
(limited to 'modules/ui_extensions.py')
diff --git a/modules/shared.py b/modules/shared.py
index f28a12cc..0b70d104 100644
--- a/modules/shared.py
+++ b/modules/shared.py
@@ -107,7 +107,8 @@ parser.add_argument("--cors-allow-origins-regex", type=str, help="Allowed CORS o
parser.add_argument("--tls-keyfile", type=str, help="Partially enables TLS, requires --tls-certfile to fully function", default=None)
parser.add_argument("--tls-certfile", type=str, help="Partially enables TLS, requires --tls-keyfile to fully function", default=None)
parser.add_argument("--server-name", type=str, help="Sets hostname of server", default=None)
-parser.add_argument("--gradio-queue", action='store_true', help="Uses gradio queue; experimental option; breaks restart UI button")
+parser.add_argument("--gradio-queue", action='store_true', help="does not do anything", default=True)
+parser.add_argument("--no-gradio-queue", action='store_true', help="Disables gradio queue; causes the webpage to use http requests instead of websockets; was the defaul in earlier versions")
parser.add_argument("--skip-version-check", action='store_true', help="Do not check versions of torch and xformers")
parser.add_argument("--no-hashing", action='store_true', help="disable sha256 hashing of checkpoints to help loading performance", default=False)
parser.add_argument("--no-download-sd-model", action='store_true', help="don't download SD1.5 model even if no model is found in --ckpt-dir", default=False)
diff --git a/modules/ui.py b/modules/ui.py
index c5b0e876..9b9bfa8b 100644
--- a/modules/ui.py
+++ b/modules/ui.py
@@ -478,7 +478,7 @@ def create_ui():
width = gr.Slider(minimum=64, maximum=2048, step=8, label="Width", value=512, elem_id="txt2img_width")
height = gr.Slider(minimum=64, maximum=2048, step=8, label="Height", value=512, elem_id="txt2img_height")
- with gr.Column(elem_id="txt2img_dimensions_row", scale=1):
+ with gr.Column(elem_id="txt2img_dimensions_row", scale=1, elem_classes="dimensions-tools"):
res_switch_btn = ToolButton(value=switch_values_symbol, elem_id="txt2img_res_switch_btn")
if opts.dimensions_and_batch_together:
@@ -758,7 +758,7 @@ def create_ui():
width = gr.Slider(minimum=64, maximum=2048, step=8, label="Width", value=512, elem_id="img2img_width")
height = gr.Slider(minimum=64, maximum=2048, step=8, label="Height", value=512, elem_id="img2img_height")
- with gr.Column(elem_id="img2img_dimensions_row", scale=1):
+ with gr.Column(elem_id="img2img_dimensions_row", scale=1, elem_classes="dimensions-tools"):
res_switch_btn = ToolButton(value=switch_values_symbol, elem_id="img2img_res_switch_btn")
if opts.dimensions_and_batch_together:
diff --git a/modules/ui_extensions.py b/modules/ui_extensions.py
index df75a925..50173e68 100644
--- a/modules/ui_extensions.py
+++ b/modules/ui_extensions.py
@@ -244,7 +244,7 @@ def refresh_available_extensions_from_data(hide_tags, sort_column):
hidden += 1
continue
- install_code = f""""""
+ install_code = f""""""
tags_text = ", ".join([f"{x}" for x in extension_tags])
diff --git a/style.css b/style.css
index 677f03cd..cee13cf7 100644
--- a/style.css
+++ b/style.css
@@ -70,6 +70,15 @@ div.compact{
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
+.gradio-dropdown .wrap-inner.wrap-inner.wrap-inner{
+ flex-wrap: unset;
+}
+
+.gradio-dropdown .single-select{
+ white-space: nowrap;
+ overflow: hidden;
+}
+
.gradio-dropdown .token-remove.remove-all.remove-all{
display: none;
}
@@ -125,6 +134,22 @@ div.gradio-html.min{
min-width: auto;
}
+button.custom-button{
+ border-radius: var(--button-large-radius);
+ padding: var(--button-large-padding);
+ font-weight: var(--button-large-text-weight);
+ border: var(--button-border-width) solid var(--button-secondary-border-color);
+ background: var(--button-secondary-background-fill);
+ color: var(--button-secondary-text-color);
+ font-size: var(--button-large-text-size);
+ display: inline-flex;
+ justify-content: center;
+ align-items: center;
+ transition: var(--button-transition);
+ box-shadow: var(--button-shadow);
+ text-align: center;
+}
+
/* txt2img/img2img specific */
@@ -250,10 +275,11 @@ div.gradio-html.min{
min-width: min(13.5em, 100%) !important;
}
-[id$=_dimensions_row]{
+div.dimensions-tools{
min-width: 0 !important;
max-width: fit-content;
- padding: 0 1em;
+ flex-direction: row;
+ align-content: center;
}
#mode_img2img .gradio-image > div.fixed-height, #mode_img2img .gradio-image > div.fixed-height img{
@@ -281,15 +307,6 @@ div.gradio-html.min{
background: none;
}
-#quicksettings .gradio-dropdown .wrap-inner{
- flex-wrap: unset;
-}
-
-#quicksettings .gradio-dropdown .single-select{
- white-space: nowrap;
- overflow: hidden;
-}
-
#settings{
display: block;
}
diff --git a/webui.py b/webui.py
index aaec79fd..ca725b7d 100644
--- a/webui.py
+++ b/webui.py
@@ -240,7 +240,7 @@ def webui():
shared.demo = modules.ui.create_ui()
startup_timer.record("create ui")
- if cmd_opts.gradio_queue:
+ if not cmd_opts.no_gradio_queue:
shared.demo.queue(64)
gradio_auth_creds = []
--
cgit v1.2.3