- Block 1: Refactored path logic into a centralized PathResolver for OS-agnostic and relative path handling. - Block 2: Improved platform compatibility (shutdown, macOS menu, System Tray fallback). - Block 3: Added Power-User features (Model Updater, Smart Cleanup, Thumbnails, Node Sync, Remote Status). - Fixes: Recursive subfolder scanning, archive detection logic, and UI progress throttling.
58 lines
1.7 KiB
Java
58 lines
1.7 KiB
Java
package de.tki.comfymodels.domain;
|
|
|
|
public enum ModelFolder {
|
|
CHECKPOINTS("checkpoints"),
|
|
LORAS("loras"),
|
|
VAE("vae"),
|
|
CLIP("clip"),
|
|
CONTROLNET("controlnet"),
|
|
UPSCALE_MODELS("upscale_models"),
|
|
VAEECODE("vae_approx"),
|
|
UNET("unet"),
|
|
CLIP_VISION("clip_vision"),
|
|
STYLE_MODELS("style_models"),
|
|
HYPERNETWORKS("hypernetworks"),
|
|
PHOTOMAKER("photomaker"),
|
|
IP_ADAPTER("ipadapter"),
|
|
ONNX("onnx"),
|
|
LLM("llm"),
|
|
DIFFUSION_MODELS("diffusion_models"),
|
|
GLIGEN("gligen"),
|
|
EMBEDDINGS("embeddings"),
|
|
AUDIO_ENCODERS("audio_encoders"),
|
|
DIFFUSERS("diffusers"),
|
|
CONFIGS("configs"),
|
|
MODEL_PATCHES("model_patches"),
|
|
LATENT_UPSCALE_MODELS("latent_upscale_models"),
|
|
ARCHIVE("archive");
|
|
|
|
private final String defaultFolderName;
|
|
|
|
ModelFolder(String defaultFolderName) {
|
|
this.defaultFolderName = defaultFolderName;
|
|
}
|
|
|
|
public String getDefaultFolderName() {
|
|
return defaultFolderName;
|
|
}
|
|
|
|
public static ModelFolder fromString(String text) {
|
|
if (text == null) return CHECKPOINTS;
|
|
for (ModelFolder b : ModelFolder.values()) {
|
|
if (b.defaultFolderName.equalsIgnoreCase(text) || b.name().equalsIgnoreCase(text)) {
|
|
return b;
|
|
}
|
|
}
|
|
|
|
// Handle common variations
|
|
String lower = text.toLowerCase();
|
|
if (lower.contains("checkpoint")) return CHECKPOINTS;
|
|
if (lower.contains("lora")) return LORAS;
|
|
if (lower.contains("vae")) return VAE;
|
|
if (lower.contains("controlnet")) return CONTROLNET;
|
|
if (lower.contains("embedding")) return EMBEDDINGS;
|
|
|
|
return CHECKPOINTS; // Default fallback
|
|
}
|
|
}
|