From e90abb93fd304235dfae13ac95f007fd46809e73 Mon Sep 17 00:00:00 2001 From: reven Date: Fri, 4 Feb 2022 14:21:54 +1300 Subject: [PATCH] added file size compare node --- BasicNodes/BasicNodes.csproj | Bin 3778 -> 3778 bytes BasicNodes/BasicNodes.en.json | 9 ++ BasicNodes/File/FileSizeCompare.cs | 74 +++++++++++ BasicNodes/Tests/FileSizeCompareTests.cs | 115 ++++++++++++++++++ ChecksumNodes/ChecksumNodes.csproj | Bin 2872 -> 2872 bytes CollectionNodes/CollectionNodes.csproj | Bin 3256 -> 3256 bytes EmailNodes/EmailNodes.csproj | Bin 3398 -> 3398 bytes FileFlows.Plugin.dll | Bin 35840 -> 35840 bytes FileFlows.Plugin.pdb | Bin 20264 -> 20336 bytes MetaNodes/MetaNodes.csproj | Bin 4504 -> 4504 bytes MusicNodes/MusicNodes.csproj | Bin 4228 -> 4228 bytes VideoNodes/VideoNodes.csproj | Bin 3926 -> 3926 bytes .../PluginInfoGenerator/FileFlows.Plugin.dll | Bin 35840 -> 35840 bytes .../PluginInfoGenerator/FileFlows.Plugin.pdb | Bin 20264 -> 20336 bytes .../FileFlows.ServerShared.dll | Bin 40448 -> 41472 bytes .../FileFlows.ServerShared.pdb | Bin 20304 -> 20588 bytes .../FileFlows.ServerShared.xml | 7 ++ .../PluginInfoGenerator/FileFlows.Shared.dll | Bin 58880 -> 59392 bytes .../PluginInfoGenerator/FileFlows.Shared.pdb | Bin 29048 -> 29168 bytes .../PluginInfoGenerator/FileFlows.Shared.xml | 5 + .../PluginInfoGenerator.dll | Bin 15360 -> 15360 bytes .../PluginInfoGenerator.pdb | Bin 13516 -> 13516 bytes ref/FileFlows.Plugin.dll | Bin 16384 -> 16384 bytes 23 files changed, 210 insertions(+) create mode 100644 BasicNodes/File/FileSizeCompare.cs create mode 100644 BasicNodes/Tests/FileSizeCompareTests.cs diff --git a/BasicNodes/BasicNodes.csproj b/BasicNodes/BasicNodes.csproj index c9ece637a8e21a8a8d582fbdf4ab76df907481a8..0c1d32925084f6428919c8118002893bbbb839c6 100644 GIT binary patch delta 20 ccmX>kdq{S}D@I0>$*&nB8BI33GS%_`099iL9{>OV delta 20 ccmX>kdq{S}D@I1+$*&nB8I3o)GS%_`098>39RL6T diff --git a/BasicNodes/BasicNodes.en.json b/BasicNodes/BasicNodes.en.json index ed8275cf..d02974f9 100644 --- a/BasicNodes/BasicNodes.en.json +++ b/BasicNodes/BasicNodes.en.json @@ -121,6 +121,15 @@ "Upper-Help": "The value it must be less than than this number of megabytes. Leave as 0 to not test the upper limit." } }, + "FileSizeCompare": { + "Description": "Checks if the file size has changed sized from the original file. \n\nOutput 1: File is smaller than original\nOutput 2: File is same size\nOutput 3: File is larger than original", + "Outputs": { + "1": "Smaller than original", + "2": "Same size as original", + "3": "Larger than original" + } + + }, "Function": { "Outputs": { "1": "returned 1", diff --git a/BasicNodes/File/FileSizeCompare.cs b/BasicNodes/File/FileSizeCompare.cs new file mode 100644 index 00000000..2de83b33 --- /dev/null +++ b/BasicNodes/File/FileSizeCompare.cs @@ -0,0 +1,74 @@ +namespace FileFlows.BasicNodes.File +{ + using System.ComponentModel; + using FileFlows.Plugin; + using FileFlows.Plugin.Attributes; + + public class FileSizeCompare : Node + { + public override int Inputs => 1; + public override int Outputs => 3; + public override FlowElementType Type => FlowElementType.Logic; + public override string Icon => "fas fa-sitemap"; + + public override int Execute(NodeParameters args) + { + FileInfo fiOriginal = new FileInfo(args.FileName); + float origSize = 0; + if (fiOriginal.Exists == false) + { + // try get from variables + if (args.Variables.ContainsKey("file.Orig.Size") && args.Variables["file.Orig.Size"] is long tSize && tSize > 0) + { + origSize = tSize; + } + else + { + args.Logger?.ELog("Original file does not exists, cannot check size"); + return -1; + } + } + else + { + origSize = fiOriginal.Length; + } + + float wfSize = 0; + FileInfo fiWorkingFile = new FileInfo(args.WorkingFile); + if (fiWorkingFile.Exists == false) + { + if (args.WorkingFileSize > 0) + { + wfSize = args.WorkingFileSize; + } + else + { + args.Logger?.ELog("Working file does not exists, cannot check size"); + return -1; + } + } + else + { + wfSize = fiWorkingFile.Length; + } + + + args.Logger?.ILog("Original File Size: " + String.Format("{0:n0}", origSize)); + args.Logger?.ILog("Working File Size: " + String.Format("{0:n0}", wfSize)); + + + if (wfSize > origSize) + { + args.Logger?.ILog("Working file is larger than original"); + return 3; + } + if (origSize == wfSize) + { + args.Logger?.ILog("Working file is same size as the original"); + return 2; + } + args.Logger?.ILog("Working file is smaller than original"); + return 1; + } + } +} \ No newline at end of file diff --git a/BasicNodes/Tests/FileSizeCompareTests.cs b/BasicNodes/Tests/FileSizeCompareTests.cs new file mode 100644 index 00000000..614c9425 --- /dev/null +++ b/BasicNodes/Tests/FileSizeCompareTests.cs @@ -0,0 +1,115 @@ +#if(DEBUG) + +namespace BasicNodes.Tests +{ + using FileFlows.BasicNodes.File; + using Microsoft.VisualStudio.TestTools.UnitTesting; + + [TestClass] + public class FileSizeCompareTests + { + private string CreateFile(int size) + { + string tempFile = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); + File.WriteAllText(tempFile, new string('a', size)); + return tempFile; + + } + [TestMethod] + public void FileSize_Shrunk() + { + string tempFile = CreateFile(2); + var logger = new TestLogger(); + var args = new FileFlows.Plugin.NodeParameters(tempFile, logger, false, string.Empty); + + string wfFile = CreateFile(1); + args.SetWorkingFile(wfFile); + + FileSizeCompare node = new(); + int result = node.Execute(args); + Assert.AreEqual(1, result); + } + + [TestMethod] + public void FileSize_Grew() + { + string tempFile = CreateFile(2); + var logger = new TestLogger(); + var args = new FileFlows.Plugin.NodeParameters(tempFile, logger, false, string.Empty); + + string wfFile = CreateFile(20); + args.SetWorkingFile(wfFile); + + FileSizeCompare node = new (); + int result = node.Execute(args); + Assert.AreEqual(3, result); + } + + [TestMethod] + public void FileSize_SameSize() + { + string tempFile = CreateFile(2); + var logger = new TestLogger(); + var args = new FileFlows.Plugin.NodeParameters(tempFile, logger, false, string.Empty); + + string wfFile = CreateFile(2); + args.SetWorkingFile(wfFile); + + FileSizeCompare node = new(); + int result = node.Execute(args); + Assert.AreEqual(2, result); + } + + + [TestMethod] + public void FileSize_Shrunk_OriginalDeleted() + { + string tempFile = CreateFile(2); + var logger = new TestLogger(); + var args = new FileFlows.Plugin.NodeParameters(tempFile, logger, false, string.Empty); + Assert.IsTrue(args.WorkingFileSize > 0); + File.Delete(tempFile); + + string wfFile = CreateFile(1); + args.SetWorkingFile(wfFile); + + FileSizeCompare node = new(); + int result = node.Execute(args); + Assert.AreEqual(1, result); + } + + [TestMethod] + public void FileSize_Grew_OriginalDeleted() + { + string tempFile = CreateFile(2); + var logger = new TestLogger(); + var args = new FileFlows.Plugin.NodeParameters(tempFile, logger, false, string.Empty); + File.Delete(tempFile); + + string wfFile = CreateFile(20); + args.SetWorkingFile(wfFile); + + FileSizeCompare node = new(); + int result = node.Execute(args); + Assert.AreEqual(3, result); + } + + [TestMethod] + public void FileSize_SameSize_OriginalDeleted() + { + string tempFile = CreateFile(2); + var logger = new TestLogger(); + var args = new FileFlows.Plugin.NodeParameters(tempFile, logger, false, string.Empty); + File.Delete(tempFile); + + string wfFile = CreateFile(2); + args.SetWorkingFile(wfFile); + + FileSizeCompare node = new(); + int result = node.Execute(args); + Assert.AreEqual(2, result); + } + } +} + +#endif \ No newline at end of file diff --git a/ChecksumNodes/ChecksumNodes.csproj b/ChecksumNodes/ChecksumNodes.csproj index e5577fa5f2b2aed2ab4e7e18ebb4a9feb311605f..2afab6e7b4905a112d2bb2d355409540bdeb332c 100644 GIT binary patch delta 37 tcmdlXwnJ>g2_|+E1`7ro2K~tknItFQg2_|-91`7ro2K~tknItFQ(P?+QKu delta 38 ucmdlXxkGZp4Muij1`7ro2K~t!86_vj@o-Jv!^}5XfJu(gc(XoJCl>(P%L+UI diff --git a/EmailNodes/EmailNodes.csproj b/EmailNodes/EmailNodes.csproj index 82889806fb0e0c41bb47c4492526f3f5454be318..a60a12ba7fa76a53fe67576d75afa4ad7f7d1c49 100644 GIT binary patch delta 34 qcmX>mbxdl56AQZug9U>PgZ^Y`7RkwbShyzVuxK%wY@W`to&x}(4hbXx delta 34 qcmX>mbxdl56AQaBg9U>PgZ^Y`7RkwbShyzVuxK$FZ=TMwo&x}&?g=6Q diff --git a/FileFlows.Plugin.dll b/FileFlows.Plugin.dll index a6073e53f19611eba3567b4044daa52ea9fb54af..c8557727ab1f8eb803b82ccf357c865b73310b86 100644 GIT binary patch delta 15844 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 delta 15518 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 HALG9ORd+I| diff --git a/FileFlows.Plugin.pdb b/FileFlows.Plugin.pdb index f8687446869f8a161ae67192da4273467e70797b..fafcc263cdfe1cc68909df83b9cf99444d59eb80 100644 GIT binary patch delta 1192 zcmZwGe`p(J7zgn0`{t5d+9c*zFJ5PDyT)oV#$uAC7rR;8W@|@VL2J;ej8!pR(R9^K zB_OtODl#Ut+ytl6(W$dTXDK&vW1_M-Wd30OwQ7Yi#VO*Dl_9c$&hM>G6g>FkeV*sN z_uls&E;Cc&{FIo;+}|Apnw|#oA>bSs_iuY_cw}fRLnOn1V%G}&$S@wYak&RC$0@X$+-{cOOkYa^6-P=kX0vs z6JsB*(lAd=Neyi@K$pq5S;K8KN5^P^7U?3zQc+}SE#;|)?xcYfAO4?9$EK8yAsV5_ z=_%SyJ7_YckKttod#)_hv5)ZqI!H(8D4n3MXr4~fSvp4-{%5mGtjE&!33RMT>uCQw z-pcqjI-ah@0`+F>dqUWs84KZ3CWMLAA*8b*%xCQhfgiFGztf-OY;izqQLvoil%$Qc zjdsv99io%;6J4gLp{5d~rbJy??0W|0A1KO8{)Iaf3p39kyG7{D?m18T(x^jbt?UuvY?&$d5 z0o)2FKLLRnE(wdJ+`+ua{3zM;3iFkmo8`A+=T7E2<72`ss@IE?)^q9&p1Mfdf$ogJ zw;7e|JXA#r&S%*Q^V49Tuf4S)>c+jTo1!ipu^K~*u7;udQ=hfneR1F6o`+vAeC~68 zJ$J&lc`p9KqZb0jXLlBNTPb}e?i%JnJw@|OM`X<5l4wJXifRND)s2*dS7mK{7CcwO zb!E55&K6LkUA<+cgfGNmWfmeaED^NdSKuZN${m`0*70|JD%^+&BxT75ADhn}d17b60tkjcTrJH23C5H$20AyogA2%aX?Cc`7fmvKEngWMwG` zzr<2`H_K~Sc1L9C7We~jv(0*Ce=JdLud>Yh)+NM;=JV@*m6oucSf3OkZobuZK*X&= z_h|>GGQAJUO2B-zw{}HBB5F4xhI$1-+^F*HGjcw>x-=mIY=0Yv@Y&=)3N^11sx zzvsE<`Sq9H&2cd~E{-@))klD(hk!a0_!W%%pWm}{*Y>>(5v~L@FSn^5QO3hw+`Vai z7oUeYo@nEE?cmU}9M`vZf0KRs%gizDkMnbX4!@`--aT{lNIbHibJO%KN&4#OXIsR_ z#e}#m@+VeV_>}IFm9&tgS*mEX5TjSbcOCU#t=%y5T!*_OAVAvar6INHd<0P z+9^Z5)K3GnnRcY?JcbzTpMTNDLB@yaH5#Kg={TLHv-A;7(*?TpKZjjq{@y=($tD}| zCa)SB8yN4Ux0@DXik3QF-bBI4o4D$j*xqcSG;QK++M5vgJS{Op-_y0U55J`~+#$4R z@KZBwq|J1IUZ+#^18^%qw*+hGPPzo^Tpdrier%!VXg3|`<1OzR_|Oet+AZa? z3>V!X4-fM2Aii@$_{lBDEw_S2gmK^X3iK`ufz}7ngS&-rt6CzXl{WUZvX%7e`~nLD zMPEsWuXfT0w4;Q70f7a4>38zR8pmM)j7c?WREu2kr14N7aUx#<(b)D(OvhNU!@Q-}6s}~(pKPj%4-7_5*LB~m2w!d+Y}vQ%Qtj54 zr&fG2+EaYoo@~%Ju#mvkvCe27D+n925NA&QJF`S)%i))Xz%rSuM6+f@@GuWUT*6nT>xPM{ zDmC315f{`<=OQtqe(6kzS!Hyc5G&PtU2dQwH_TtYY-FRl(KTE-#EpZ9O7zIA#cl*f zUQoL-R?R5$s}Wu7kIL*LC=bKWHrXR@)GaUb79Cd;ndRbrbvZL9&;3w5zb+{R)XnY> z1d8K5*L~ucI@r4{QMkWgescq+G<5GPbu`40(Q

sK0s>A)f4YVI`ZR^%ooZN~M@m J&ZDaZ{sv=Q(yagh diff --git a/MetaNodes/MetaNodes.csproj b/MetaNodes/MetaNodes.csproj index ac36980cc0f7bb3fe3d6b32d2bfb3f4002f34483..1927880cc1df9513903e2d3985980797d320bcbe 100644 GIT binary patch delta 20 ccmbQCJVSZIEha{j$+wvz8BI2uGAHu^08SSMk^lez delta 20 ccmbQCJVSZIEha|e$+wvz8I3oaGAHu^08Rx4kN^Mx diff --git a/MusicNodes/MusicNodes.csproj b/MusicNodes/MusicNodes.csproj index 3a4a031598ba41cde736df0ac18e9e3cc3cd26dc..8a85e8fa568f08e2c1e7ccb49bb759de20eae13f 100644 GIT binary patch delta 20 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 delta 15539 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 TZv0A9>-z8a-|(r@($DxWhsZQC diff --git a/build/utils/PluginInfoGenerator/FileFlows.Plugin.pdb b/build/utils/PluginInfoGenerator/FileFlows.Plugin.pdb index 851cf586055f6c23c4aec5bc3a5952458e2386e0..e488b5acf9fd604e65f940a821c10467863c65eb 100644 GIT binary patch delta 1192 zcmZwGZERCj7zgnGIlXOfySDait#>%Lu{muCp|+*Fbzt4rxseSM#Kuew0gW9C7N+1! z6JuLZV+bZ&?iZ(KW?*1^z-76705PZ_G58Yv#B?SEjl>wq!a|Gzqxio}j3(aX*YiBj zx#ym9pWIGQip!H?Ed5x20BC&)$OnN-V7zhHGb7uFcQQmG1SnRmun}p-qgLEkSeNJc z9`i3dnRh?6<8kKOJ~{Y%!JY5@pkg0h*syTog=*`>_}Hz1=Q;NweMOQ^j~{zN95oxo zucGqtstD$&H4#CMhUhx!cSmp^&C)5Fr$xF-ZOJGyw3hNTKo8PTk`MpSrD1bY!!T{9 zXX!=SO?zlOsa5bMgLiK%)Np|DVLC#`=_H+@uW63X(?z;OSN>eKDmO3OR!*r7X6)t%T&2E9d7>-jUStN2!T;iB&5ScgU3 z!_7V1+=D-KFML@a8nUI z2ODrN?EC}->bWE&mU0{OBJ-1E%`41Ta&Cs-ij~`$Ym83`qp034&YG{PceonEDI5CJ z0^g-ou5*!_6kN`*6~<|=BN{obZ(A1aNKMOE;^cro6dcnd-&>sV*}gv7ryY? zznMMb-8vh4{pl5o&>gPW91=OytEhutQJqLicvRM^GvK+J zZ!0@pRyL3N$jw_;N_c}T)@C5$BN74YeFg5~plpa(XRW^PRpCTfAR$X$2w5Jm{$gIv z9Jx8uB1=BxqKeuEr}cn#r5wU)MGYV)kurAtOrx z_#~Ff6D+S`*%_9ld*JiK$u?`XLv8UoYn5p{+8Y-qjMsV>q$$kj?oS92GY<0Yp}t+hHUsA+mluSOhQo3_(-V;0#czR;<-No%W} z&M2DHNg4V=?df1+bPE3IHYTfKf5fse+?WWf3a_shZ*mZvLOkM18`< zQc6=hby63tq4yGI7QGC%O}%Jh7vsIOpN8mDI!dSLG<`>7be=B$&tX@XfBa%ES!*I% z>sDi88RLHXymmT9X}0C&b>yt9jw_aq4RtySlR8c(-3ftnNr`d#lddN{xSdomNvK!g zr8-(pYiK(ipp*0yP0$@uZ3X3a0bZraWC2=i6>r;Ktfh^#nYMTEmbEo}Yx^)}7xGzz z3$~w!`+2w@SM309*u}VKm#~N+p4e`I?q$H&@H~2cHxO)aX321=iLDK6CGDG9V4y4S zDQNUmj(C8jDBxc}U>aX~NbXqSI4FQ2=?rS+B9lL%&GE%Z?+GE<5=MGN5-9)_rdr$|*b9c5+C zSW`%xcgCA$h;iqirkI#;wB}=Cq4QO+-?0v zAV1vpmq#3NcD1jM<(^EN+FXM!HP!t}Ed^1emCP1c&eQf-fG4|MSjgrmo%!mHLMcWa J>&+zs&j2BZ(boU~ diff --git a/build/utils/PluginInfoGenerator/FileFlows.ServerShared.dll b/build/utils/PluginInfoGenerator/FileFlows.ServerShared.dll index 92c9de258094a4d6a3f79ac6568aa02d46e572cd..ba82ce4c4b7f63e41c474a48898f902bd3a56408 100644 GIT binary patch delta 18183 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 WmF?d9zOtyJN4Eza{6yI@*#5uNk^M;k delta 17074 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 diff --git a/build/utils/PluginInfoGenerator/FileFlows.ServerShared.pdb b/build/utils/PluginInfoGenerator/FileFlows.ServerShared.pdb index 80370867c1c47b6f1854d2e3f277f8f5caf17a41..57d0a28cfc991ed8154cce3003c69b370ed2ee8a 100644 GIT binary patch delta 3206 zcma);du&ui6o=2fcV8`(cH6GBg+6EtEd`d+cDvmcwk?Iewq1~lfW}9$izRL$wDr+Q z*cx95h}6*lN-L>A02^q!fQSSOA-?eSk0@Y_Mq@-p3<2>KqELRmd?sH#m$bf)GFH{*kOYz*7;E5g5-3N4{0F`-poL85Xjq>+y!k~tRs64;fJ zGsV;Q>>? zJVB@AR4^CDgObz0kAN3To&f&E;GYN{qu%tVgS)`DVt#rCHI;!5eyorU2IgwpXke73 z&RK|e!mfsFf`5|C-vE9VoGbYa$&>$9pgrfO+uuq<wxDc=#b|GXC38nId zc!DTLCt!9PCfEfolkqtiKgt|G2x0cXe~|aT79D%gQ7#kS2JbcSHwNYbUWM$3ze2{( z!30s}diet~1pjR5zh+?0=fXY!{~Y%7{(oTTz;#G3K!y?El>_h>L^=8e%$4vTL@a;6 z2rir|8GizN$iUgik22?TbOhdu&KfgC}?Tsgpb1FwV4m3|cd8tLaPi1KFGb0Ejy zpC|oZOc-UJkhl0aF24EFuioSkaRA@?98imZS75s!C%| zWIr`rLmbJMj2W-Rk@rGdsSVmjSx?`L`zYH=20jDoCVQEJl)UC!?77 zIRa7WEVPMU;||%g7M3b|cm++=4sF&eiRdzH1tW3Hm%4Yk?&Vjs=o4GztIy*4SM(!A z^aJe3@luEnohDa>ZIf>QSHG&q|Cf&BM!XR_GBWFGen+0b=>9)8(G_GtiwpLOB{jt+ z+6-xN4d5o-iQ8}xH{LE>GJ9}p_TpshNA(Y(zz^X2hp|B;bUO~^GOXtkoTa5WFL&Sw z+=sGnL+J)ko-63I=t%U0Mw2Xb-bKk4$}g>g?kVksey4O4I>t>73oUY2LHE0Rp}%vF zLT8rIE%+BxRt0^qtQT7Kj6&CXXuO3sc&ea3^z=ecC?ADhSxzYydcC{~`jhfr=w$wR zs%gocEhZ=VrnR?rwNq!HHP{qbb$@p|-PisAbp?Xd77S8XHyj@n}+- zh2sOA;)SFcrsX}|0r6JS!f--zj*@jDrMsi-p&e(QnY(e(M(3fIKc4f{v4nSG>KAMZ zY;9}#aap*aWev^jZx zQug_GU*a+v5&Pb{_NKXUkN?W%{;Tib7QQ&~a(<{|0#SCh-Ad^y4nneO!%b=Gu~3GJ zV$3$-5M*0yW67=JfVfl~+Cmk5xXv(Qo((D4Dud2ET5WGdz6kj0 zwf&x{Vi-I$wLtvtE7cBor-`B_pEg`HUGz3pY9lo>#Hpr*+MyDsa5PtIM@nXjWoVBU z7mEJoD(#qemiVgKryche38&wuo$wZmwSHgXXbkSy+=W;M99=wKmpJG56`W4M1vP!9 YBc5VZn@Xu_kKWN}zuCcyF|)PeA3gop?EnA( delta 2907 zcma);3s96*6vxlE-|iwT$om<>3aEg{b79$477$#7n_5gkMDZJmjKM^=34YCUO)FL{Z-z_0Aw*h^&8ndQ__gep%qlI0T>~Dm zf~PxIF98=UczS&Ndp;#Sk;G#l(;zz_mmx0_rBV!> z8e{`tlVP)A*$;yxK@uU;Av}R^>vxm9dE^O*-4!T(qG^GLAK8$>R!288b(Ef^BQxX$ zNH-+Zq^I4G4oDZ|7UY46>)nq;p}eg6Xej!j??v(1K9sDo4{Z?kl4=bUm4g8-dVcn#Bsf%)-* zyzar=7+XAegWw3%r@}9Uyn%eA7{3MU(^dqcMW7!A%;UiPmF5bL0Z)Zr33(IwSW%yd z-@zOQ=E*OKd_1@m{$jxs!0*Ff2zd)KQH&Pc`^#x;HN;^!6{;Zj2*j~>)#Ri zDaap$pAOlN`czTR^SjwSKXcmX{4MGNod~3h0r6PC%{<@$ggFEGZuoY{L2#z19|m`M z@DCo$<2xaTk0$vMa2{MF7Ki~4;g!1iz6bO8R>8%n=O*T+ zyoh5uLyV6Ee+;%$3s%O%fy)S#h=OP}s!?w&N!6o&k|c^yGZ&#XIEMV}fym^9)~a`g zjw;~msT$ggo`fDlMrdz(7TTBUp#88CU-6&u{{3-4h=S-_=wQ_kp#u1$hfzYe^3<<* zMCQZShzM^$t6o$(wKIr5LPWw$T+^dwpMch>KT)qP?1i_%PX>Q~iC$9Stg6|U=p?kP z7HL#ptNM?MkJda&kB;@6XLM#&7vMMYVxH;$;}cy_f9?fkQP9*mUuJ5_n5CtgrhV8` zJMM=4IPaZg!A((w+o2fma0U*!9S6Athp+%r$v@p=wp@+=sztZ(4|&mgr1gIYoQNWvAv?2glWp* zV25F8LnAfUJE_j;RANJ-l!A~Hr75J+H5ig08JAm<=64?d;`_1IYOlZMBySC9y^?rz z;oYxiTuaycOP5Kp%AwNjl2I|2 z*`iK-6FMFTFv8D^!Zl;`WY(@X&|D3L#wpv%lBIa%bXldm&z7JV91gj?FkYGGsFe5H zCMZY1otYDr-yQk#LCYk?T5gxSrcP2`E}tnMwj?T7!AFyll< zwu*eYrzk}ksi>A+rYTBRWue?>N>$dvp2|v71}Y2Wep|Zoccnufuw^LaRSx;AEmPT3 z

(|<>v_QTe++`W7WhekwU`kr3KY44$Xed&%UJaB5{u|(zk+vBBL;M4G CGpsQH diff --git a/build/utils/PluginInfoGenerator/FileFlows.ServerShared.xml b/build/utils/PluginInfoGenerator/FileFlows.ServerShared.xml index 1f393a83..c3138061 100644 --- a/build/utils/PluginInfoGenerator/FileFlows.ServerShared.xml +++ b/build/utils/PluginInfoGenerator/FileFlows.ServerShared.xml @@ -11,6 +11,13 @@ the string to clean the original string with all illegal characters removed + +

+ Calculates a fingerprint for a file + + The filename + The fingerprint + This class will allow hot reloading of an plugin assembly so they can be update diff --git a/build/utils/PluginInfoGenerator/FileFlows.Shared.dll b/build/utils/PluginInfoGenerator/FileFlows.Shared.dll index ab6a0461e6dddd1184ccb2a412b9e157ca090bdc..1d4eeac06980a38c41858599d2a6b4a5fce2fd8d 100644 GIT binary patch delta 21547 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 delta 20978 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

vVBTS<{*!?kGLD4l9RRPb7`J zj&H&TQ0Isn@7E%zbL1+n_u%d798vbJuM(rm_4OHIOfj~lYr06OXiL|1Y4}ZvF7MdE Ji)hT5_J2f|BliFR delta 3811 zcmZ9O3s98T701tAc`O7_SoR6X%0u2LEDJ24ynFl9;qHPGhId#B3X*Rlx@dF($Ez)j^~ZHJ#AJNC{F)Nz(t>Z`oX7=Kr1ZJLlYU zAKzmcx*_gf7j0Rq_azg>ZYOF>A!-!xmo{#x*}Q%$;m;=xf{k6al(g`h*>nF02)H9I*^o zAitl~5J54%!4YLfah5xL;(xj$96I98Sj^;dBb>fj(y64j;M%zaP2@ zeFO80aNfL#}}`AqR8-{0HbTP>r}+>9|AD@9 zvyrU%MoNIvp;Eh%?63vwL%ud67GcC9jI=Y`h_f?NIpRy8l~7eaZ^lIH@=de}YJ|FT zO|%WR6>`A;47%y4HQ`K5^elpHP&Imy3*8S@K+B;uP`}+mkHKz)_T^aUl^kVAYYDa$M9>{*UQPr(?J@@ZJ|x9LN$!W9 zh@aT2&;2?O2v=lE%pGhJ zb3V%z9MvH1`(dB!m5%B2o%inZN75i}QYkSvStc>(mrKm~6%uoPrNo^7vBaETr7VvA z-nmhVa#gLwT(wC=dhZ5*LFy7Z6^k<1*oW#35oQ_kAfxpVbv%oXq zFZb|lFn>==pueD>&2!2M_-%<76FI#B1Crc?3$if40-q;&2V1av8u)>aO3bHnOk&Re zRbtK`7jfS4{B1cQ@j}c`C+`Umbxz_gi3`!-)FeJViO)!k|7qwfINP&PX zo{0Ar@Q!;V=3DaqBt9o`H}W5V9i9mmfzL~fBla@?*TcUcoX+zG6bUrPGoEkZ-@$V|{D8zp_`JbO$QP=4Cso`VAYL&S6rmsi zz8<N;hejp>@YC?G?gaC3 zU74bC85U$j_lf#)a0zlXs2RohMVK zqEn2CE-@}nDbJ_GKQxf%PrHh&`TlgiXf3W&i+_u2eenRUdy2c}_|wH=n(I&B6&K-} zSkjE^H@IraTG|D_vXlz_X?tlAuCJFi7rHd5w|uRu9y^_NXn5oL@+p-e&vZuL&Yp5{ zpy$w_zwR|#m1gzN_9{~|_pGt}FYc2gE8dHJu=0_hu_xX#mhJ!7lg|CFwihZcZQcId z!M>11HIHuj$(E)CHMKuYuihH8TKEJ`)#;*ISL`@zyaw16Q2j2w4W#E zj#6vIFXDr0uD;Tkb;l)aYyC_?@49wV7m@YVL0!P7-HYDNIdf&;X4#;t$ze!!hDY;P z$|pR|Z45J1Gt+I1YR;(U%u(*3ImT@w<5iRFHq#SSlj=5BwZy6hW7M88GyU*QeK;<` zPrUJOaoFOn40J`VTP~LA)QNQJM0$0&UL9`n7fkVST{?9oI(2vYG2+&Gzv8Tm6W5g2>gI~Cl^b_Fw`>g w1+G)@(zT2z)`k)>s#G^5iMz`44T+kTG37`@Vra`azds=b&AWLMi__-(AEx>%XaE2J diff --git a/build/utils/PluginInfoGenerator/FileFlows.Shared.xml b/build/utils/PluginInfoGenerator/FileFlows.Shared.xml index 731dc1ea..b738373c 100644 --- a/build/utils/PluginInfoGenerator/FileFlows.Shared.xml +++ b/build/utils/PluginInfoGenerator/FileFlows.Shared.xml @@ -14,6 +14,11 @@ If this library monitors for folders or files

+ + + Gets or sets if this library will use fingerprinting to determine if a file already is known + + When the library was last scanned diff --git a/build/utils/PluginInfoGenerator/PluginInfoGenerator.dll b/build/utils/PluginInfoGenerator/PluginInfoGenerator.dll index 8eb22af0eb01eac4f0601c92075cd2f5fb6ec513..9cc1365e26bf3b2a8114eaa4b5323c7a187f3408 100644 GIT binary patch delta 105 zcmZpuXsDRb!D9aS-^-0X8QKDqBd=-&ChqcF?|fuO=JQFGn^|;ru(G6FwE8#sfMI~Z z3)e4CZ}-*uZc074ec#sr-N_0@1qx8XS|g|+P<5T{+JzjGKVFK{w_E11d4o{^CjjwD BG@bwe delta 105 zcmZpuXsDRb!7^W-xqV|#hPD8cwRYrR?ilx}hK=tdQkir%v*_$#WqCH??%T-+3BqOetK2Ne@}6