mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-03-24 14:42:11 -03:00
Refactor and optimize code for improved readability and maintainability
This commit is contained in:
37
config.py
Normal file
37
config.py
Normal file
@@ -0,0 +1,37 @@
|
||||
import os
|
||||
import folder_paths # type: ignore
|
||||
from typing import List
|
||||
|
||||
class Config:
|
||||
"""Global configuration for LoRA Manager"""
|
||||
|
||||
def __init__(self):
|
||||
self.loras_roots = self._init_lora_paths()
|
||||
self.templates_path = os.path.join(os.path.dirname(__file__), 'templates')
|
||||
self.static_path = os.path.join(os.path.dirname(__file__), 'static')
|
||||
|
||||
def _init_lora_paths(self) -> List[str]:
|
||||
"""Initialize and validate LoRA paths from ComfyUI settings"""
|
||||
paths = [path.replace(os.sep, "/")
|
||||
for path in folder_paths.get_folder_paths("loras")
|
||||
if os.path.exists(path)]
|
||||
|
||||
if not paths:
|
||||
raise ValueError("No valid loras folders found in ComfyUI configuration")
|
||||
|
||||
return paths
|
||||
|
||||
def get_preview_static_url(self, preview_path: str) -> str:
|
||||
"""Convert local preview path to static URL"""
|
||||
if not preview_path:
|
||||
return ""
|
||||
|
||||
for idx, root in enumerate(self.loras_roots, start=1):
|
||||
if preview_path.startswith(root):
|
||||
relative_path = os.path.relpath(preview_path, root)
|
||||
return f'/loras_static/root{idx}/preview/{relative_path.replace(os.sep, "/")}'
|
||||
|
||||
return ""
|
||||
|
||||
# Global config instance
|
||||
config = Config()
|
||||
Reference in New Issue
Block a user