From c97d938bb1a1f056c0fec65ede9bf73e9da69cdb Mon Sep 17 00:00:00 2001 From: John Andrews Date: Sat, 11 May 2024 10:08:57 +1200 Subject: [PATCH] FF-1539: Directory Iterator --- BasicNodes/Functions/DirectoryIterator.cs | 7 +++++-- BasicNodes/i18n/en.json | 14 +++++++------- FileFlows.Plugin.dll | Bin 140800 -> 140800 bytes FileFlows.Plugin.pdb | Bin 34356 -> 34356 bytes 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/BasicNodes/Functions/DirectoryIterator.cs b/BasicNodes/Functions/DirectoryIterator.cs index 29ecc315..7cb4f1cf 100644 --- a/BasicNodes/Functions/DirectoryIterator.cs +++ b/BasicNodes/Functions/DirectoryIterator.cs @@ -3,6 +3,7 @@ using FileFlows.Plugin.Attributes; using System.ComponentModel.DataAnnotations; namespace FileFlows.BasicNodes.Functions; + /// /// A special flow element that iterates all files in a directory and process them through a sub flow /// @@ -13,12 +14,14 @@ public class DirectoryIterator : Node /// public override int Outputs => 1; /// - public override FlowElementType Type => FlowElementType.SubFlow; + public override FlowElementType Type => FlowElementType.Process; /// public override string HelpUrl => "https://fileflows.com/docs/plugins/basic-nodes/directory-iterator"; /// public override string Icon => "fas fa-sitemap"; - + /// + public override string CustomColor => "var(--flow-subflow)"; + /// /// Gets or sets the flow to execute /// diff --git a/BasicNodes/i18n/en.json b/BasicNodes/i18n/en.json index 1a287caf..585e2b29 100644 --- a/BasicNodes/i18n/en.json +++ b/BasicNodes/i18n/en.json @@ -130,13 +130,6 @@ "Outputs": { "1": "Directory files iterated" }, - "Fields": { - "FileName": "Path", - "FileName-Help": "A path to either a file or folder to delete.\n\nIf left blank the current working file will be deleted." - } - }, - "FailFlow": { - "Description": "Fails a flow immediately, useful if you want a certain path to just fail.", "Fields": { "Flow": "Flow", "Flow-Help": "The sub flow to execute the files against.", @@ -148,6 +141,13 @@ "Recursive-Help": "If files in all sub directories should also be iterated, or if only the top level files should be iterated." } }, + "FailFlow": { + "Description": "Fails a flow immediately, useful if you want a certain path to just fail.", + "Fields": { + "Reason": "Reason", + "Reason-Help": "An optional reason to record why the flow failed." + } + }, "FileSize": { "Description": "Checks if the file size matches the configured parameters. The values are in megabytes.\n\nOutput 1: Matches\nOutput 2: Does not match", "Outputs": { diff --git a/FileFlows.Plugin.dll b/FileFlows.Plugin.dll index e1ef1775532ab6bc8a0b19dea0bc29a2e6b140d7..14ac576eb9f7ac36b0e9c58485ea19a8d5202698 100644 GIT binary patch delta 250 zcmZoT!_jbtV?qaujLfMkjXkYBj9Yt{IyePhwaJ#rebsheVm)`&O!K)K+f}%ja)dO@ zO^glFl1)rgO_LH0OpVM9QZ0~17jnDRAUR1wB$4+L(}a$WSANlS)O_`&X{f^ z#}pu-ux|aX?;m%2tcjVls%7Gw!0B`3nCumxq7gb!QJ{JWmva90Sfh+Yr)PD++keY3 znX>qsGngj<(N!a z{EZn*7%Ul584?+i7}9`j3ozRd$hTlHXE0_k0E!v`S*bwz6rf6TAPM6q0(of+hCnh2 RsNR?%nIUa^y)siH698tEOX~mt diff --git a/FileFlows.Plugin.pdb b/FileFlows.Plugin.pdb index 15576e5ff61dc81f3f9ab8dfb6413818ce99ee60..680859b9062955ace5c0aa482e76acf09faee594 100644 GIT binary patch delta 2820 zcmZwHeN8~WfL=waVt2_1x^a0>no z=iwUMg0JAeFanR^J9rM$z*{0AD-eP+cz_QCfF=|r9HJl|Sjd3YkO%p&4T_)~_QPQ~ z4s~!AbZ{B2K{xcn5Ill$n1X3AT`D1KaD)ZmwN#=Z2|_3=0~I7f8e~B(7f^ygo zwa@?;p&dHm7WBa&jKWiR1}}jZE+IGYh5$GWmtZtpBOzv)gj^v2(>SPglQ4_l4%rL+^d1a?Cu9Dx&12My2!nl_ZH(DnKx zGbff(55~uSU2Ghg7iHKdB}J5!Hp8b;LDUXkzzyhyJ1_xL@DjMuL1YPb;16NZAruWm z(T25T^JzL-Mm&`akAsY?REEJ|5~_m9S%v3whla%Dp%Rl11VAW+LlndV3mLE)@*p3! z!cHiG-B1Zfj4K;f_oEXkKdOTUXo5Dl3SH1+oF}3Im57EQYZT=PghLce!V6$xM3e++ z@Ee$f;aCyNaj%w3;<8b!|%_dA>>hbl59$5DW+r%4xoe# z_#KqPF=&FD@DP3hd)AcvSTjlhvlKH*Wz8vvG`L4RZ|G*pVvudu+I-h%e9mUJ0@ zP*~!PZ%LiVH{naT%UaP->>T2%tw{iLVF7qTeV8@*p$DsNC`m1#cht6&r?$g|+2O+M zs8B7WQaA)PYJ2)b?Lg;1r{3s5?P^Cn1CDeXyfL6DNUzJ$#kWZgezwz8hQx*lqR89 zS`*7YH%~oj=%&WZQJACijhVtM(XEU*XR$T94e)6|X+?LV848XO z;oyHs%vabxT0K${s5@yhqO8uk8(AG&q_XY; zh+P{W^=~-7WKViY?Zhqi(_{SftA{k1)@LJHPl@!klUsL8@Hg+{?7Grjlhz^LP?+dc zR?xOsecV&sI`po`h|RrQBG>DC>zs1Kc4^ny>18d?+M51!J#Mdl{l9$TRT*Pv#0?fP zo7|q>+af-1)AL#T#)_%OKTbA%`Lgj3?`7J5SJ%>6=Ju@CD`#IX$6;CaJnk?P%t)*3 zBi8uHWx;{D*|LzFkhN<9LxSXiIf|fAB-y&a;Gn>qV1+Cl65M3Js?+d^_y0yc@P7aR delta 2840 zcmZwHc~nzZ9tZH>O9B!$Ba5Jh)es0vAOr}Y$P$PsdqP2Nb;@F_gD{M=1x=>`X=~5a zq1M#WX|Xy*lv0<0Fl=g3=)u7SX8@&2r$p!xw@&R?!AiyXzMSG;ymLOk-|yXf-+kMC zuXPWnbq{Cn8%`X5YYXGk_mi7u9X;*`J`S-L_H;Jy)pESIMhMA5A*2#`4c>q{1z{6X zJL+DA;hd$DUP4zC5^{}{kOC4R3pPcv1N~_z(w}a?O}K4t3!)z*gJ=pIqk?EDc!3`T zLj=S?BBX#C*2Bx7gI!>VV&|69Cs9)Rn;xMNPC^@;fv@2r48nCV!Jnh0^Z|Sf2jK`D zhhDe<|Aud13~s>>@H5N+XN8pbAOII|2OkIoy&NGL;vpF_AO|)=ArwIw=%5vv zv5YRG{rlf0yN8;S$o9!7JW)o)(2y8PU2qQm30L46+=qwo1el~yvVw)+4-rY>lmMei z>|9~XXeKF)II1vw4q?Psv5j&PsO03L!uP4e`XF~z0Qo>5$RQfyAsI3t2R1?>6v1}b z0hO>DYGA*4W_I>Ks#670Jv2cxbU-)s!DaI}5e=(EGzy!>5$-@V#KQxahFM5mEg}tU zfCunxvWTv(5z#oz!qT-OQb9f(gI2f!KY>0)M0Zngi^+O1ok$f^8+-+QFaX!!JGce^ zg(;W?%QW^b#AKf)rp4e6Vvs@vtO6CJLk?^Lt@#*VDlum_I*{f@r_8lG#pu)BDKVX$ z)PqveJ*d=Nd(z=_PwM%t4$APNFj$enj+@)ODIvp~s?2Q+)n;(037Vk;x}gs)!!V4( zIB+sK2cofWK$*=v<}+U4~)cC@t{*Eoc<=INZs!Bwm&!*?qI@-L47{N+%AO?1A)1Ahsu9pS%_1t)IN-({aAOWs zs&S+$*av^rIME@EGaUn?W}7p0X%^!fSWK6YhcqsD0I&^M;CO$^PogZzFyb$;_thA+(B!)s( zJ7V7noWTyP&AC2JXPWUP3kuZ=d~u={#0B)kK}kFc5fqqXwK+~8 z`U|)W8|x9p0xpL~BEfP*Z^3ddk30oRbF4=66HFjV1zaAF0tHHQEMTMIOn{4HT(&9J zii|m?SUz3Ksf@FtP~&8PagpA1vUdHH)5jIHVSKCTgR?uGmwC@7o#mbQ{jDThzgqs) zs_eUXFvksJMLi*c^J6o)!d1n#FCIvEt)|LRsB?Yy!c@pqX>o9|XPWBG)F)%Xf7Cc# zzpV^j=vCf7`BnK#`wowNk+g<0ef!wmTG5*NhHzcM~Ia-mH`Z%;>pV4pU>Vn3B#Io`wHIv=VZ#Tte zMU)kVU#V;O^1H!ltz>xM>wueUrFz|nM{(A^p9X*FIy24d5XZmL818FT;Zr;y>8%jt z6kRYDt{u?@`OTjF&z?R_&z`^dzNM@?T+f_JlLQ>uy6E-P>mip*KQvxjpS!_X+P<;1 z?Bel5(zs_+p|(E^-I?SMJ#E?X>Pt=!j&wG>?eVCguSLAo%Vkx8FlmgDGcqQGF)WSU z>CW!lP_wrZyB zGp4PPY3pFx`k6KpyJGEJ#cqbIL`TDErM1CL>nEIVXuB=b?$5Nx81l3qE}nOQ$zZeP zw&OfqM$1>!jL$qBOuLEcoMbwmF