diff --git a/comfy_cli/registry/api.py b/comfy_cli/registry/api.py index f7535833..980aab38 100644 --- a/comfy_cli/registry/api.py +++ b/comfy_cli/registry/api.py @@ -54,6 +54,7 @@ def publish_node_version(self, node_config: PyProjectConfig, token) -> PublishNo "name": node_config.tool_comfy.display_name, "license": license_json, "repository": node_config.project.urls.repository, + "banner_url": node_config.tool_comfy.banner_url, "supported_os": node_config.project.supported_os, "supported_accelerators": node_config.project.supported_accelerators, "supported_comfyui_version": node_config.project.supported_comfyui_version, diff --git a/comfy_cli/registry/config_parser.py b/comfy_cli/registry/config_parser.py index 4d93d7bc..63455172 100644 --- a/comfy_cli/registry/config_parser.py +++ b/comfy_cli/registry/config_parser.py @@ -295,6 +295,7 @@ def extract_node_configuration( icon=comfy_data.get("Icon", ""), models=[Model(location=m["location"], model_url=m["model_url"]) for m in comfy_data.get("Models", [])], includes=comfy_data.get("includes", []), + banner_url=comfy_data.get("Banner", ""), ) return PyProjectConfig(project=project, tool_comfy=comfy) diff --git a/comfy_cli/registry/types.py b/comfy_cli/registry/types.py index 980a42ab..9f4936a4 100644 --- a/comfy_cli/registry/types.py +++ b/comfy_cli/registry/types.py @@ -52,6 +52,7 @@ class ComfyConfig: icon: str = "" models: List[Model] = field(default_factory=list) includes: List[str] = field(default_factory=list) + banner_url: str = "" @dataclass diff --git a/tests/comfy_cli/registry/test_config_parser.py b/tests/comfy_cli/registry/test_config_parser.py index bf54312a..725954a7 100644 --- a/tests/comfy_cli/registry/test_config_parser.py +++ b/tests/comfy_cli/registry/test_config_parser.py @@ -38,6 +38,7 @@ def mock_toml_data(): "PublisherId": "test-publisher", "DisplayName": "Test Project", "Icon": "icon.png", + "Banner": "https://example.com/banner.png", "Models": [ { "location": "model1.bin", @@ -77,6 +78,7 @@ def test_extract_node_configuration_success(mock_toml_data): assert result.tool_comfy.publisher_id == "test-publisher" assert result.tool_comfy.display_name == "Test Project" assert result.tool_comfy.icon == "icon.png" + assert result.tool_comfy.banner_url == "https://example.com/banner.png" assert len(result.tool_comfy.models) == 2 assert result.tool_comfy.models[0] == Model(location="model1.bin", model_url="https://example.com/model1")