Compare commits

..

No commits in common. "006c88b08440d2f89660e46d1c5505afd6fef721" and "12af531718eb22af6914d1e4b82f3be174af968d" have entirely different histories.

4 changed files with 6 additions and 38 deletions

View File

@ -1,5 +1,5 @@
[tool.bumpversion] [tool.bumpversion]
current_version = "0.3.10" current_version = "0.3.9"
parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)" parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
serialize = ["{major}.{minor}.{patch}"] serialize = ["{major}.{minor}.{patch}"]
replace = "{new_version}" replace = "{new_version}"

1
.gitignore vendored
View File

@ -12,4 +12,3 @@ test.py
.vscode/launch.json .vscode/launch.json
favourites.json favourites.json
.vscode/launch.json .vscode/launch.json
venv/*

View File

@ -4,7 +4,7 @@ FROM python:3.11-slim
# Set the working directory in the container # Set the working directory in the container
WORKDIR /app WORKDIR /app
# Set version label # Set version label
ARG VERSION="0.3.10" ARG VERSION="0.3.9"
LABEL version=$VERSION LABEL version=$VERSION
# Copy project files into the container # Copy project files into the container

View File

@ -32,17 +32,9 @@ def get_available_models() -> list:
response = requests.get(url) response = requests.get(url)
if response.status_code == 200: if response.status_code == 200:
data = response.json() data = response.json()
# Get SDXL models from CheckpointLoaderSimple general = data.get("CheckpointLoaderSimple", {}).get("input", {}).get("required", {}).get("ckpt_name", [])[0]
general = data.get("CheckpointLoaderSimple", {}).get("input", {}).get("required", {}).get("ckpt_name", [[]])[0] flux = data.get("UnetLoaderGGUF", {}).get("input", {}).get("required", {}).get("unet_name", [])[0]
# Get FLUX models from UnetLoaderGGUF return general + flux
flux = data.get("UnetLoaderGGUF", {}).get("input", {}).get("required", {}).get("unet_name", [[]])[0]
# Combine both lists, handling cases where one might be missing
all_models = []
if isinstance(general, list):
all_models.extend(general)
if isinstance(flux, list):
all_models.extend(flux)
return all_models
else: else:
print(f"Failed to fetch models: {response.status_code}") print(f"Failed to fetch models: {response.status_code}")
return [] return []
@ -133,25 +125,9 @@ def select_model(model: str) -> tuple[str, str]:
use_qwen = json.loads(user_config["comfyui"].get("Qwen", "false").lower()) use_qwen = json.loads(user_config["comfyui"].get("Qwen", "false").lower())
if model == "Random Image Model": if model == "Random Image Model":
# Create a list of available workflows based on configuration selected_workflow = "FLUX" if (use_flux and (only_flux or random.choice([True, False]))) else "SDXL"
available_workflows = []
if not only_flux:
available_workflows.append("SDXL")
if use_flux:
available_workflows.append("FLUX")
if use_qwen:
available_workflows.append("Qwen")
# If no workflows are available, default to SDXL
if not available_workflows:
available_workflows.append("SDXL")
# Randomly select a workflow
selected_workflow = random.choice(available_workflows)
elif "flux" in model.lower(): elif "flux" in model.lower():
selected_workflow = "FLUX" selected_workflow = "FLUX"
elif "qwen" in model.lower():
selected_workflow = "Qwen"
else: else:
selected_workflow = "SDXL" selected_workflow = "SDXL"
@ -163,13 +139,6 @@ def select_model(model: str) -> tuple[str, str]:
else: # SDXL else: # SDXL
available_model_list = user_config["comfyui"]["models"].split(",") available_model_list = user_config["comfyui"]["models"].split(",")
valid_models = list(set(get_available_models()) & set(available_model_list)) valid_models = list(set(get_available_models()) & set(available_model_list))
# If no valid models found, fall back to configured models
if not valid_models:
valid_models = available_model_list
# Ensure we have at least one model to choose from
if not valid_models:
# Fallback to a default model
valid_models = ["zavychromaxl_v100.safetensors"]
model = random.choice(valid_models) model = random.choice(valid_models)
return selected_workflow, model return selected_workflow, model