







diff --git a/extensions-builtin/Lora/extra_networks_lora.py b/extensions-builtin/Lora/extra_networks_lora.py
index cb6989fb7..22d8265d7 100644
--- a/extensions-builtin/Lora/extra_networks_lora.py
+++ b/extensions-builtin/Lora/extra_networks_lora.py
@@ -1,6 +1,6 @@
+import re
import time
import numpy as np
-import re
import networks
import lora_patches
from modules import extra_networks, shared
@@ -30,8 +30,6 @@ def get_stepwise(param, step, steps):
step = (step) / (max_steps - step_offset)
else:
step = 1.0
- else:
- step = step
v = np.interp(step, m[1], m[0])
return v
else:
diff --git a/extensions-builtin/Lora/lyco_helpers.py b/extensions-builtin/Lora/lyco_helpers.py
index e0e1afa78..a105695ff 100644
--- a/extensions-builtin/Lora/lyco_helpers.py
+++ b/extensions-builtin/Lora/lyco_helpers.py
@@ -65,4 +65,3 @@ def factorization(dimension: int, factor:int=-1) -> tuple[int, int]:
if m > n:
n, m = m, n
return m, n
-
diff --git a/extensions-builtin/Lora/network_full.py b/extensions-builtin/Lora/network_full.py
index ba9f2e359..346893706 100644
--- a/extensions-builtin/Lora/network_full.py
+++ b/extensions-builtin/Lora/network_full.py
@@ -9,7 +9,7 @@ class ModuleTypeFull(network.ModuleType):
return None
-class NetworkModuleFull(network.NetworkModule):
+class NetworkModuleFull(network.NetworkModule): # pylint: disable=abstract-method
def __init__(self, net: network.Network, weights: network.NetworkWeights):
super().__init__(net, weights)
diff --git a/extensions-builtin/Lora/network_hada.py b/extensions-builtin/Lora/network_hada.py
index 4e5924d04..278436c5e 100644
--- a/extensions-builtin/Lora/network_hada.py
+++ b/extensions-builtin/Lora/network_hada.py
@@ -9,7 +9,7 @@ class ModuleTypeHada(network.ModuleType):
return None
-class NetworkModuleHada(network.NetworkModule):
+class NetworkModuleHada(network.NetworkModule): # pylint: disable=abstract-method
def __init__(self, net: network.Network, weights: network.NetworkWeights):
super().__init__(net, weights)
if hasattr(self.sd_module, 'weight'):
diff --git a/extensions-builtin/Lora/network_ia3.py b/extensions-builtin/Lora/network_ia3.py
index 75316d97c..61c05ca02 100644
--- a/extensions-builtin/Lora/network_ia3.py
+++ b/extensions-builtin/Lora/network_ia3.py
@@ -9,7 +9,7 @@ class ModuleTypeIa3(network.ModuleType):
return None
-class NetworkModuleIa3(network.NetworkModule):
+class NetworkModuleIa3(network.NetworkModule): # pylint: disable=abstract-method
def __init__(self, net: network.Network, weights: network.NetworkWeights):
super().__init__(net, weights)
self.w = weights.w["weight"]
diff --git a/extensions-builtin/Lora/network_lokr.py b/extensions-builtin/Lora/network_lokr.py
index cafdb968a..0bdce7154 100644
--- a/extensions-builtin/Lora/network_lokr.py
+++ b/extensions-builtin/Lora/network_lokr.py
@@ -19,7 +19,7 @@ def make_kron(orig_shape, w1, w2):
return torch.kron(w1, w2).reshape(orig_shape)
-class NetworkModuleLokr(network.NetworkModule):
+class NetworkModuleLokr(network.NetworkModule): # pylint: disable=abstract-method
def __init__(self, net: network.Network, weights: network.NetworkWeights):
super().__init__(net, weights)
self.w1 = weights.w.get("lokr_w1")
diff --git a/extensions-builtin/Lora/network_norm.py b/extensions-builtin/Lora/network_norm.py
index f327b9754..0980dacb1 100644
--- a/extensions-builtin/Lora/network_norm.py
+++ b/extensions-builtin/Lora/network_norm.py
@@ -8,7 +8,7 @@ class ModuleTypeNorm(network.ModuleType):
return None
-class NetworkModuleNorm(network.NetworkModule):
+class NetworkModuleNorm(network.NetworkModule): # pylint: disable=abstract-method
def __init__(self, net: network.Network, weights: network.NetworkWeights):
super().__init__(net, weights)
self.w_norm = weights.w.get("w_norm")
diff --git a/extensions-builtin/Lora/network_oft.py b/extensions-builtin/Lora/network_oft.py
index 6cadc36d0..802492ca2 100644
--- a/extensions-builtin/Lora/network_oft.py
+++ b/extensions-builtin/Lora/network_oft.py
@@ -13,7 +13,7 @@ class ModuleTypeOFT(network.ModuleType):
# Supports both kohya-ss' implementation of COFT https://github.com/kohya-ss/sd-scripts/blob/main/networks/oft.py
# and KohakuBlueleaf's implementation of OFT/COFT https://github.com/KohakuBlueleaf/LyCORIS/blob/dev/lycoris/modules/diag_oft.py
-class NetworkModuleOFT(network.NetworkModule):
+class NetworkModuleOFT(network.NetworkModule): # pylint: disable=abstract-method
def __init__(self, net: network.Network, weights: network.NetworkWeights):
super().__init__(net, weights)
diff --git a/extensions-builtin/sdnext-modernui b/extensions-builtin/sdnext-modernui
index 6cd3da6ab..bd9134513 160000
--- a/extensions-builtin/sdnext-modernui
+++ b/extensions-builtin/sdnext-modernui
@@ -1 +1 @@
-Subproject commit 6cd3da6abd7e59760cc57f3f7dde6d947655e425
+Subproject commit bd9134513371aee6e26ed196a71d3937188e52df
diff --git a/html/screenshot-modernui.jpg b/html/screenshot-modernui.jpg
new file mode 100644
index 000000000..dafadc28f
Binary files /dev/null and b/html/screenshot-modernui.jpg differ
diff --git a/modules/ui_extra_networks.py b/modules/ui_extra_networks.py
index 7183b11e9..6c1a83c6d 100644
--- a/modules/ui_extra_networks.py
+++ b/modules/ui_extra_networks.py
@@ -128,6 +128,9 @@ class ExtraNetworksPage:
def refresh(self):
pass
+ def patch(self, text: str, tabname: str):
+ return text.replace('~tabname', tabname)
+
def create_xyz_grid(self):
xyz_grid = [x for x in scripts.scripts_data if x.script_class.__module__ == "xyz_grid.py"][0].module
@@ -209,7 +212,7 @@ class ExtraNetworksPage:
def create_page(self, tabname, skip = False):
debug(f'EN create-page: {self.name}')
if self.page_time > refresh_time and len(self.html) > 0: # cached page
- return self.html
+ return self.patch(self.html, tabname)
self_name_id = self.name.replace(" ", "_")
if skip:
return f""
@@ -267,11 +270,11 @@ class ExtraNetworksPage:
htmls.append(self.create_html(item, tabname))
self.html += ''.join(htmls)
self.page_time = time.time()
- self.html = f""
+ self.html = f""
shared.log.debug(f"Extra networks: page='{self.name}' items={len(self.items)} subfolders={len(subdirs)} tab={tabname} folders={self.allowed_directories_for_previews()} list={self.list_time:.2f} thumb={self.preview_time:.2f} desc={self.desc_time:.2f} info={self.info_time:.2f} workers={shared.max_workers} sort={shared.opts.extra_networks_sort}")
if len(self.missing_thumbs) > 0:
threading.Thread(target=self.create_thumb).start()
- return self.html
+ return self.patch(self.html, tabname)
def list_items(self):
raise NotImplementedError
@@ -624,7 +627,7 @@ def create_ui(container, button_parent, tabname, skip_indexing = False):
for page in get_pages():
page.create_page(ui.tabname, skip_indexing)
with gr.Tab(page.title, id=page.title.lower().replace(" ", "_"), elem_classes="extra-networks-tab") as tab:
- page_html = gr.HTML(page.html, elem_id=f'{tabname}{page.name}_extra_page', elem_classes="extra-networks-page")
+ page_html = gr.HTML(page.patch(page.html, tabname), elem_id=f'{tabname}{page.name}_extra_page', elem_classes="extra-networks-page")
ui.pages.append(page_html)
tab.select(ui_tab_change, _js="getENActivePage", inputs=[ui.button_details], outputs=[ui.button_scan, ui.button_save, ui.button_model])
if shared.cmd_opts.profile: