Files
malkuthro-ComfyUI-Koolook/k_easy_version.py
T
malkuthroandClaude Opus 4.7 7121094780 ci: add lint + bandit security gate, wire main protections (#29) (#30)
* ci: add lint, syntax-smoke, and bandit security gate

Two gating jobs for PRs to main: ruff + python -m compileall ("Lint & Smoke")
and bandit static analysis ("Security Gate"). Bandit excludes vendored sub-trees
(forks/, upscaler_FIX/, nuke_CAM_exporter/).

Pattern lifted from malkuthro/ForgeFlow's CI. Status checks will be wired into
the Protect-main ruleset after first green run on main.

Refs #29

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* ci: exclude vendored sub-trees from lint and smoke

Ruff was flagging 93 errors in upscaler_FIX/github_repos/ComfyUI-multigpu/
(vendored upstream copies). Match bandit's exclude list so lint only checks
this repo's own code.

De-vendoring is tracked separately in #28.

Refs #29

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* chore: remove unused imports, add ruff config

- Drop unused os/json from k_easy_version.py and torch from k_easy_wan22_prompt.py.
- Add [tool.ruff] in pyproject.toml: extend-exclude vendored sub-trees,
  per-file-ignores F841 for k_easy_resize.py (intentional symmetry vars
  pad_b/pad_r/original_B/original_C are kept for clarity).
- CI workflow simplifies to plain `ruff check .` since config is now centralized.

Refs #29

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-03 16:31:18 +02:00

40 lines
1.1 KiB
Python

class Easy_Version:
"""
A custom node that generates a version string like 'v001' based on an integer input.
The integer is padded to three digits with leading zeros.
Useful for VFX versioning in ComfyUI workflows, such as naming renders or sequences.
"""
@classmethod
def INPUT_TYPES(cls):
return {
"required": {
"version": ("INT", {
"default": 1,
"min": 0,
"max": 999,
"step": 1,
"display": "number"
}),
}
}
RETURN_TYPES = ("STRING",)
RETURN_NAMES = ("version_string",)
FUNCTION = "generate_version"
CATEGORY = "VFX/Utils"
OUTPUT_NODE = False
def generate_version(self, version):
# Format the version as 'v' followed by three-digit padded number
version_str = f"v{version:03d}"
return (version_str,)
# Node mappings for ComfyUI integration
NODE_CLASS_MAPPINGS = {
"Easy_Version": Easy_Version
}
NODE_DISPLAY_NAME_MAPPINGS = {
"Easy_Version": "Easy Version"
}