import re from fastapi import FastAPI import networks import lora # noqa:F401 # pylint: disable=unused-import from network import NetworkOnDisk from ui_extra_networks_lora import ExtraNetworksPageLora from extra_networks_lora import ExtraNetworkLora # import lora # noqa:F401 # pylint: disable=unused-import from modules import script_callbacks, ui_extra_networks, extra_networks, shared def before_ui(): ui_extra_networks.register_page(ExtraNetworksPageLora()) networks.extra_network_lora = ExtraNetworkLora() extra_networks.register_extra_network(networks.extra_network_lora) # extra_networks.register_extra_network_alias(networks.extra_network_lora, "lyco") # networks.originals = lora_patches.LoraPatches() script_callbacks.on_model_loaded(networks.assign_network_names_to_compvis_modules) # script_callbacks.on_script_unloaded(unload) script_callbacks.on_before_ui(before_ui) script_callbacks.on_infotext_pasted(networks.infotext_pasted) def create_lora_json(obj: NetworkOnDisk): return { "name": obj.name, "alias": obj.alias, "path": obj.filename, "metadata": obj.metadata, } def api_networks(_, app: FastAPI): @app.get("/sdapi/v1/loras") async def get_loras(): return [create_lora_json(obj) for obj in networks.available_networks.values()] @app.post("/sdapi/v1/refresh-loras") async def refresh_loras(): return networks.list_available_networks() script_callbacks.on_app_started(api_networks) re_lora = re.compile("