From 391230fdecdd819c1481c5f98b8a78ace16fc4d4 Mon Sep 17 00:00:00 2001 From: Rocky-PC Date: Sun, 25 Jan 2026 03:18:27 +0800 Subject: [PATCH] First Commit --- README.md | 36 ++++++++++++ __init__.py | 4 ++ __pycache__/__init__.cpython-312.pyc | Bin 0 -> 303 bytes __pycache__/nodes.cpython-312.pyc | Bin 0 -> 3080 bytes nodes.py | 84 +++++++++++++++++++++++++++ 5 files changed, 124 insertions(+) create mode 100644 README.md create mode 100644 __init__.py create mode 100644 __pycache__/__init__.cpython-312.pyc create mode 100644 __pycache__/nodes.cpython-312.pyc create mode 100644 nodes.py diff --git a/README.md b/README.md new file mode 100644 index 0000000..9fde566 --- /dev/null +++ b/README.md @@ -0,0 +1,36 @@ +# ComfyUI-FilePathsFromFolder + +A simple ComfyUI custom node pack for loading and selecting files from folders. + +## Nodes + +### LoadFilePathsFromFolder +Scans a folder for files matching a specific extension pattern. + +**Parameters:** +- `folder_path`: Path to the folder to scan +- `extension`: File extension pattern (e.g., "*.png", "*.jpg", "*.txt") + +**Outputs:** +- `filepaths`: Line-break separated list of full file paths +- `filenames`: Line-break separated list of filenames without extensions +- `count`: Number of files matched + +### GetPathByIndex +Selects a specific file from the lists by index. + +**Inputs:** +- `filenames`: Line-break separated filenames (from LoadFilePathsFromFolder) +- `filepaths`: Line-break separated filepaths (from LoadFilePathsFromFolder) + +**Parameters:** +- `index`: Index of the file to select (0-based) + +**Outputs:** +- `filename`: Selected filename +- `filepath`: Selected filepath + +## Installation + +Place this folder in your ComfyUI `custom_nodes` directory and restart ComfyUI. + diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..af0819b --- /dev/null +++ b/__init__.py @@ -0,0 +1,4 @@ +from .nodes import NODE_CLASS_MAPPINGS, NODE_DISPLAY_NAME_MAPPINGS + +__all__ = ['NODE_CLASS_MAPPINGS', 'NODE_DISPLAY_NAME_MAPPINGS'] + diff --git a/__pycache__/__init__.cpython-312.pyc b/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3e63b41a42d039b92bb5c6071d15ec0e83779416 GIT binary patch literal 303 zcmX@j%ge<81nr`wnVmrTF^B^LOi;#W86aaiLkdF*V-7;Lkd$0b2?KL zb0v!=>q|zU5>2LC!hZfPuJO)3j={n4zK#I_o__AZx1_*=E}p>wK8}&`evZDbaJeF8 zpuQp&AmOLUa*H)DKP9yoA$E&BK0YxgCq8~9!)KrphF|{9RxzQ)sYS(LGR7r8ximL5 zucSD}IX^e8GSo9BxwN<>KQ|t14opzjEi)(8ttda&Ek7qEwJ0V&J~J<~BtBlRpz;=n tO>TZlX-=wL5hxfyo+uUu5+9fu85!?0I6dH2xS(Wrfy=&;y@&%S4gh_dP`3a8 literal 0 HcmV?d00001 diff --git a/__pycache__/nodes.cpython-312.pyc b/__pycache__/nodes.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0199d9fdfc1570033b3c26668f131e46b9544b77 GIT binary patch literal 3080 zcmb_ePizxs7XRk2XB?Y^Cc$w?sEZ-Q1wupGvP8`;A%r9?m_Qt9v9cN&&m=hYpYY9C zG|^bffrAe{bWZ^Z33_TOF41Za-CK{9wg-n$;r-e}SM6nQjL>Hd$ zu4R&UbRy`ahE6beL(t`id{WeXy5exsG8a?-gOlQEcdAS4>yVwZAg>XFBsrZVaXxpC zJgHm4I($;ng`}*DNuMqyVaH&)2aFV9ZRrHiIj$Z7e4ZZwpq_qo%YV==I_%vz@6)3XUJadUcnW+nOx7YsBR z$#4?$43Je)lSwdCjr6ad-?+7Yrt;=+^+?}(cw?f{|3Rg9WLpx#2Wo=U=C2V+_3ywG z5)-Ho{v5)DsdyqLFm)b$ju$swHlNBFCX>>IV%}o@ECfYE3zN0)bCEO#!yA}&PH?^j zcdZf2)00InI~p277BQ52hRxZ$mwhF{!lOE45ih-G*us-~Vw6N%TvYdb2GPqpjx3Op z1V7mpFOk0(gp_=?wAk|U4BO|e$-VCM!T&Y8q`cuQUoLX8k@;Xy)rAz}ei7Dn%He*3aF(GT@V?i)9vhx(Ni(&}a0ngpQ&`|Lbl}1qPKoPgl?q;mpg`%b5CPB~0)J%)IqLa}m z(oUFYV(22xgJL-7As{P9UsZv-b%19vzX7sJehwdg6nYSP)bpU{@y8qIx56Xk1OJst zxc8CzKz%&0)iqcSR+Y}@O82JH{Y>eBg6#~I)oRC~vieik@$zIf(D^*jvl-~Q|L13c zzMn(kwYz`4`#f}FGjw8I*$NGoCx3_@|Ki-|=blH0HlsrulUvb|uTq=Q3za~mF}Kn? z_+8*^t%Zd9YHi-;v8}FCuz6RHa}-zlp{@P1t6ObH%hHc+z4uG&My2)Lit;YS=*MGz zrf8buPmTFCEmzQsSwquUK-2CNQ`!2LmUK2{nmGeJuG2P{$O1RU6SFtsE`&9t_~_N~ z8KzvGjgKX!t^p2@jV8t?uHCrl_?ZS^rn9f>dqfV31VO<;w|k^2wQcjVXmBy`#@R`uTEB5kF8Gbh+Wcq?pnCQ@7$FROc>TQfaAsGsl0A{@|$La_~hW- zJHYHVBVBsP*V~a;=Vj=h&_Nx&`cQD1lRr)o)?7eF_)5fhs=z-}bI_hL*-YM`Z=eO1 zp7%}2W%7XHyHz1&@LaA#F|*xP<+>H)v(o+B8#MP4JhwRl#OozT`Zg|po!IREu+sYx zG?ONw`_1+18+SI}I$sG7Z~H{-EHZW$S@k=+%{^-f zKBh5N-ay`Q+NhoCi;N4gg)Wd9dXF4@=1wEZo5vyCC;5xRy$` zXbT9rd3a4glW4YVz-ZkP)@fM!Y}xkB^DaE1mSPm)H6b~WM~|YU&?tUs#EYH-aTleu zY{smEmQ!FTI?khi06P=Y!9yxHq~}4ia(GWjo4xxdoRYwI&yJ2;*@txrrkKV7fE9k z)*iohXvoivre>zEjNa4`?;79s+>R+9xM=!EdI1*3yf%@k z2^`0LPt@;8%M1Ag_ue)E@*=^7xntV|NNt!z&Q%W`gO^;0uaNdyfJ8>BhhiWf;WtUQ HbLU?HN