commit
7585fb1f45
|
|
@ -11,17 +11,42 @@ function ch_img_node_str(path){
|
||||||
return `<img src='${ch_convert_file_path_to_url(path)}' style="width:24px"/>`;
|
return `<img src='${ch_convert_file_path_to_url(path)}' style="width:24px"/>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
function ch_sd_version(){
|
function ch_sd_version() {
|
||||||
let foot = gradioApp().getElementById("footer");
|
let foot = gradioApp().getElementById("footer");
|
||||||
if (!foot){return null;}
|
if (!foot) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
let versions = foot.querySelector(".versions");
|
let versions = foot.querySelector(".versions");
|
||||||
if (!versions){return null;}
|
if (!versions) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
let links = versions.getElementsByTagName("a");
|
let [webui_version] = versions.getElementsByTagName("a");
|
||||||
if (links == null || links.length == 0){return null;}
|
if (!webui_version) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
return links[0].innerHTML.substring(1);
|
return extract_version(webui_version.innerHTML);
|
||||||
|
}
|
||||||
|
|
||||||
|
function extract_version(text) {
|
||||||
|
let matches;
|
||||||
|
// for forge
|
||||||
|
if (text[0] == 'f')
|
||||||
|
matches = text.match(/v[0-9]\.[0-9]\.[0-9]/);
|
||||||
|
else
|
||||||
|
matches = text.match(/[0-9]\.[0-9]\.[0-9]/);
|
||||||
|
|
||||||
|
if (matches === null || matches.length == 0) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Because forge includes v at the beginning of the version text
|
||||||
|
if (text[0] == 'f')
|
||||||
|
return matches[0].substring(1);
|
||||||
|
|
||||||
|
return matches[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -673,6 +698,29 @@ function ch_dl_model_new_version(event, model_path, version_id, download_url){
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {string} version1 - version1 (x.y.z)
|
||||||
|
* @param {string} version2 - version2 (x.y.z)
|
||||||
|
* @returns {number} - 1: version1 is higher, -1: version2 is higher, 0: same version
|
||||||
|
*/
|
||||||
|
function compareVersions(version1, version2) {
|
||||||
|
const v1Parts = version1.split('.').map(Number);
|
||||||
|
const v2Parts = version2.split('.').map(Number);
|
||||||
|
|
||||||
|
for (let i = 0; i < Math.max(v1Parts.length, v2Parts.length); i++) {
|
||||||
|
const v1Part = v1Parts[i] || 0;
|
||||||
|
const v2Part = v2Parts[i] || 0;
|
||||||
|
|
||||||
|
if (v1Part > v2Part) {
|
||||||
|
return 1;
|
||||||
|
} else if (v1Part < v2Part) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0; // same version
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
onUiLoaded(() => {
|
onUiLoaded(() => {
|
||||||
|
|
||||||
|
|
@ -1117,7 +1165,7 @@ onUiLoaded(() => {
|
||||||
//from sd version 1.8.0, extra network's toolbar is fully rewrited. This extension need to re-write this part too.
|
//from sd version 1.8.0, extra network's toolbar is fully rewrited. This extension need to re-write this part too.
|
||||||
let sd_version = ch_sd_version();
|
let sd_version = ch_sd_version();
|
||||||
console.log(`sd version is: ${sd_version}`);
|
console.log(`sd version is: ${sd_version}`);
|
||||||
if (sd_version >= "1.8.0"){
|
if (compareVersions(sd_version, "1.8.0") >= 0){
|
||||||
|
|
||||||
for (let prefix of tab_prefix_list) {
|
for (let prefix of tab_prefix_list) {
|
||||||
toolbar_id = prefix + "_lora_controls";
|
toolbar_id = prefix + "_lora_controls";
|
||||||
|
|
@ -1220,6 +1268,3 @@ onUiLoaded(() => {
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue