From 366a354688a8ebda39eba9aa1ed35dd1dab945e4 Mon Sep 17 00:00:00 2001 From: Joseph Wong Date: Mon, 4 Feb 2019 21:20:20 -0800 Subject: [PATCH] allow empty lines and comments in blacklist/whitelist --- .../GameData/ReStock/Plugins/Restock.dll | Bin 13824 -> 13824 bytes Source/Restock/ResourceBlacklist.cs | 11 +++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Distribution/Restock/GameData/ReStock/Plugins/Restock.dll b/Distribution/Restock/GameData/ReStock/Plugins/Restock.dll index 58bc0f480c7f8bf64862db2311c5568926c53653..822ad7b5f6efc9a4383db667ae492e2c48c1f1e7 100644 GIT binary patch delta 5495 zcma)93v^V~x&HS)kC}5O88Vq<@*t3R7-sS$PzfS}2#7!=CWzKYOvnI%kP~JC2;(pb zDigy>^pN^XWr8&fzgPU|kD- zV8~j5#qaXDcB3j&T321peJ*##>V93upoO zYrQEYYYoUt_BRNY*IJ7Op>M=8ZMD=g;;u+(xTnMfC_n#jNsdYV%_>UvIfULeG?r83V-XyEglL{g~bjPYG@VII5{ZY$HGzZQpFi+v!J65IyD!WozW zs}-2$3Wfy-S%%Y%tY8fY*v(WX?2LFDnC>9L=q@APKABhtB0MhY7#A7w2=>-`fL{$4 zXR5&s*v2>7`NmYX$^M*C)hMzL<;OOIziT>=OR_qK?$i5RLNwhun@~uxx}cLc%0j!w zj|=Y*&TtF(RyQEwv7a-tnPIf4tJTB5HP4LPwb=9bKHNS@i=R#8}hOIKqDJ`bjkxR$IML@oPRUyBYz+xdes+KF!)D z*g8^jSUxT1Mr%8G2@Fm(j2?CPP|1?4=w@_|PY>>ZPSjG8)DztXj&+BiaREKSox-CF zlQ6bR_(5vwSjBh^&B5TnuOibsL8+lw9gN_TkI{}sRcw8h_ndPiL`;|0T zG66}|bnbIICzUsLQr&n{c%c(y@|_IuAjb2>cj8osB1Oo#GlgZUdvX_MfRc5OoyJ)8 zPVvcqsovl|!>JyFWW4%?qKe&s1Udp8c24Fwcb{m&I|VD4gwT(HAgp|*)h7&O*&Ddq ziJdd#Gbg@aoW@BOe(IcKaB}B(xX<MNNiLE zCtqT{#BRx7th@@_Vu??IV^Rw;HfbRSgqPl8E!-pn`^EGppiYYGlcd{A-C7Ix(#LuW z*QuP3XgcXKm8HgrX41FBw*{@G8<<7gQHM!)YuCf-sMNm_e4Xw^x?VaCj+b5ln)F=+ zc#yjBg=Z3SqQ~hF&`VFdT6iX{f|W@>1t)oc=0bJ9bdB)RT|J2;^7tq205y7khF}ri z!dFlks?q8Ds*u(pQIl5U@J#Z8@1-BfG9ENU5=$k1q>7S$p^a!>3Zr^2Jr6%RUC!qq zX#?fyNov>UFfY}^K&R(*;d&+T06id&=ovPo9-!@VKO1~;RVDJq7=Ds4T=`yinzl&p z1$9VL9BB%w-jk+1fuA03QdkC!z&3&(1Rhd~Gw2$4iBQr-J}G=w3JuDF;W@UCis^nm zLn)@m^elzZd7caWyE#?SDdL{4e2%8G5+wlLib>L1?C)Vh^N_X=DLf%D;+_M}8NC6v zCxDD{DFe8J7AP!9U!i?)^NAqnHd+k4i&g?p&>CfR5wfD!=-ccT=xj+*1)lY&=`Kn2 zljUAZ3O$mduF`H(6zV938STyO$JJ}pB`L>?MxN3MnNGlq4kfGbP-99as_@W_DcKa) zUTD6UqFP*QArrrxv(UciHcTo;;^!GpallW4bx5+#=t6v6s*de7WT{aTo?9`(ym(&1 zgEtyH7kCEsyBHc++;bk#q?y1Bs*~6tagoI35}PF6B(V*cP03D4Y?ZhZm{0ctbvh#P zB|3xqeTu}vrqLhFO69GDULb=j{02+U(POfr}L}n zVYLwWf>zGw%WHaxEifwi5q7(07H^OjbW|oi$o6=O*dV>nSMYn;VXcWDWIt7tYx!H$ zq_qRHB(_NmN_^eDp07kg+jxsi=y$YBzlSsafUy=F(Gxx{E@e3z;t%p-KExgcZe?HQ zqP~}rmax4=+BUHyKaRby8e{|N+t7JKeJ3fGlYA$$_Fuen;mv}jy zRFc*BHWq>v^mkyh6x=Lv9hJe+W@-e+=w|gU`d`|q?#FoURbQ3(p2XYPFgSe@MgK4lNG#@THmVzH!&;i=+$)8&>?rZi%4lbtV41bV+NL5;*o%W-JM~rpWmMxL) z-sZ?~OVKty-TC?1ERw&jrx(#;wAkui*Vao*t>~8F<0YH8-BA7-3qM>@rp2k25_W0D z^{md`UJ**sPgaz%W%g||a_x63iqfSHRikg~pnG9lHh;#YvYTf#vN^D;xWwko839$R zp&I+W8K*PaAO7JNj_f~m?SF0`S^Qe#;pX9=1Pd7}us@#p?Ogog^m+>l&{@;GUb9G< z=AGts`}#h$4~OzHaEV^8*C^sFv+tSAzR&EpLZ!T)*`I`N@b@#-WSKj)BJ%a8zgSLN=QRPk9+=C_%zQB|=Ei&`6R610fT3g92-u zM5;y6=yt4D`cnBSMTJj^Rwy&bpiP=5BUwog(wjpkonn!0bL|AQq&7ZaY#i5~N$ii0D1iAI30gJPyr z%qyH#td!SPIM=dk^1@4@5lXzARN7KW^xH8+%$YoKhO>;%Vd_9X-_6*2&J<-r#wbQz zR+z{PnxUXCUgBJ#l(9L^x0LId<>aa10xywLQkgU18V$st79`RV^I%`n>vbB{!m0Ba zkzwTu4@y9>YC*)?;WRQ1)T|qkMSLe%s1^v-Q=pwST3D|Or~z$P(CeI13)x~PphYSl zocUdt4>>t@*2#6k$-Do@iRtXu(oU8=XjqvDH2c8dnKLI$qe3&R0Qf)0OE{8R2vW09 zH#0b*+|C>kLAA`_NN-@Ibs?zAj`${+fjgJ%Ja3kL5p)oure^$3;paS132cg)SOy6C zp%gY&J>U!UB|_x4mSaG?6&Pl3K7-u+nIi^6sBVFqACELZ6D z15Zkc(lZJ}w1wx~T!Uj%5-OZ%f4>Lw6dq|5+0EvWuVLh#9*;28q6L#Yq#}TV&ErWS zG%NY`TlVWyc6}(oAi0=~xo&-7+O)ExR3eLiM z&5(7Ob4t&*PYts%lB=Q7Bk-(wjpWydGtI-9%g-`Kat&y!1rSuqi!+r-E68M<5F-Eb zpy~~%)>N>rTNtbbQ~4rxO&JWC&W%QKn^;LSKd}yqZDV;-vQ-HjKCM^WmFQTvPSL2x zx&k(NgDkr3Z0U4ShDbZ))_On>HcN?OQwk<=>cNQep_aNc%6wKAwmzO5>HO7<*m5FI z`XJMjVpnpl4Z=YNNS+kf-=0%55gL~Z?YgD|diOg137$Dm;shx2s9GDvRNN1R7oP4B zuFI$Js|6qFgl42+Sr~Gv#&Dy@5LP+1w8}AG;i%Klr1X?7*j66lksOr36%A%1&w`K07*A82A zVU@KBCP6izW>+DAs7q*92%8!gVht&|qJWz7H7g-Wa^S#M&(Q`Jf_K3XfhM@FuPjesHCfp%sgEFucZ}xhswht8q{d=;WVuNI=n z)lde}FXYNi3uiyQ@^xHyW9RG&m=T;lO`IKj=e?u0iD4SD-WVNWQF;NN+G3J+UBNqHbxtFrhD20%PJF0nuA_4fZRCp{lN9%ISR0Zo zQ4oD(1*(h>jOZhKzX_nlH=###8_?pz z&?B0MhQQ8GM@8rS8{xvJTpRp0!79AGJKo;84i}2(FqU!?xec8nMPS%-n|BnwfoU2o z@dPxDo|kw);#Uj4nY2Znj#>Mp{S?SG z>Os1GdI%CfeHUobPY~c1T8+7U`yEI%P7yCj_g^VcOB4w=!Y*19bAfslA0*e8I?LD=Xz1e7e1%cC`)pE^p>e1)sITVAAZzFy1o*5 zW==R~s#Ez{j-fWQC3liNiLElII?avpjRSXishD@tXfP*(yTavIjv*|qwC)b6yGnAY z+zsBC$Dr+kv(tGSv{Nd#<2bcLdAsDqniwRHNzM)Lqi;lHKqkWbsH;M7eN>MX`RK+p z_f5&&o8}&u+~G9$tmKYM&hDf4B>S;sPa2tKm&ZqETu!dSM_Q!}Xoyw#D8uF0huW2} z>`HSpy^YY}&soxOWEp)V(ZaFCA(XU>Kai56ny~qRWBuZoxQvQKR9cO<9u3Qn_aI&q z?`pjDD5t1K0Ej*TG^q@jL6arUk~mM|B8l}9S4mt0%%*lpZ<4qbm{0Z%7;r`<9;6qs zzju=;>^ zu-bSIl2^>%(Oz~)eTg1oFR)kWAbVbYjgG+GDLTeZXrIC9KfS~P(0ZA{HmH8Km+sMm zEXCf_^V#$8U&Qj*Nmc^9R4Zr2%-+wZVCc|hz;ri$yY|r`CW74$950i|W6zoWY!Q1~ zy^U2svWHEh7uX|^Wa>v)Jv*beP(9lP6k&eFjc8@xb?`6*@3;FZ3K)nR0OKgxhTH^isO1>1S#P|xNVpq`H z)UIvjpRkq2LWty@=A!tESU#o8;US zyHBHtBQ`gPPi; z(=sHKfySJqHl<43a!(Zn$pIG70brO80n6!W;8cm{({Dh}m+~d_7U<KIT*9*YK=B65>BmzWCJ1Y4`b1}=*wP*AOtf2_V%B+7JjMQEl& zGo!irs`#3&=>xHX`xGau=!t<7MG3CVw>nz~tnhm7{ITR|R^r?>VZ8IqgnCx)j4q8j zOH0FSmeW-_(?gyr=aJI!k{j;~mS#CckqcQVbh*y#h~K#VZ{sw>HOHV-O^S zpvh`k54t0^CUI6))z#KQIZNR?{Y(~g5m73f#luUTkE_a@aTEXU6is_|z(46z53j8r M2u%Bcr6zg*3yZX!ZvX%Q diff --git a/Source/Restock/ResourceBlacklist.cs b/Source/Restock/ResourceBlacklist.cs index 2f3fc98d..9f36a27f 100644 --- a/Source/Restock/ResourceBlacklist.cs +++ b/Source/Restock/ResourceBlacklist.cs @@ -9,6 +9,7 @@ namespace Restock [KSPAddon(KSPAddon.Startup.Instantly, true)] public class ResourceBlacklist : MonoBehaviour { + private readonly string[] commentSep = { "//" }; private void Start() { HashSet blacklist = new HashSet(); @@ -23,7 +24,10 @@ namespace Restock Debug.Log($"[Restock] Reading blacklist {file.url}.{file.fileExtension}"); foreach (string line in File.ReadAllLines(file.fullPath)) { - foreach (UrlDir.UrlFile blacklistFile in FindFiles(line, gameData)) + string lineBeforeComment = line.Split(commentSep, 2, StringSplitOptions.None)[0].Trim(); + if (lineBeforeComment == string.Empty) continue; + + foreach (UrlDir.UrlFile blacklistFile in FindFiles(lineBeforeComment, gameData)) { blacklist.Add(blacklistFile); } @@ -34,7 +38,10 @@ namespace Restock Debug.Log($"[Restock] Reading whitelist {file.url}.{file.fileExtension}"); foreach (string line in File.ReadAllLines(file.fullPath)) { - foreach (UrlDir.UrlFile whitelistFile in FindFiles(line, gameData)) + string lineBeforeComment = line.Split(commentSep, 2, StringSplitOptions.None)[0].Trim(); + if (lineBeforeComment == string.Empty) continue; + + foreach (UrlDir.UrlFile whitelistFile in FindFiles(lineBeforeComment, gameData)) { whitelist.Add(whitelistFile); }