From 198ef4e506d7c52028d70a4119e57a65b867e23b Mon Sep 17 00:00:00 2001 From: Jan Lemmer <jan.lemmer@fst.tu-darmstadt.de> Date: Tue, 27 Jul 2021 09:45:05 +0200 Subject: [PATCH] Close Bug that multiple files were overwritten, Add the export of User FCNs (Relates #11) --- example.m | 4 ++-- fcn_core/Publish.m | 38 ++++++++++++++++++++++---------------- test_data.mat | Bin 1528 -> 1523 bytes testdata_2.h5 | Bin 3064 -> 3064 bytes 4 files changed, 24 insertions(+), 18 deletions(-) diff --git a/example.m b/example.m index 45c7e39..b160cbf 100644 --- a/example.m +++ b/example.m @@ -45,8 +45,8 @@ set(gca, 'TickDir', 'out', 'YLim', [0,4]); [figs, ID] = TagPlot(fig, ProjectID); %% call dummy function -% a=1; -% a = test_2(a); +a=1; +a = test_2(a); %% publishing diff --git a/fcn_core/Publish.m b/fcn_core/Publish.m index cd00f62..5e941ce 100644 --- a/fcn_core/Publish.m +++ b/fcn_core/Publish.m @@ -38,8 +38,12 @@ createFileCopy({[DataPaths.script,'.m']},folderName,storPath,ID, 'script'); if options.CopyUserFCN [fList,pList] = matlab.codetools.requiredFilesAndProducts(DataPaths.script); + % plist contains the required MATLAB Toolboxes, maybe usefull in future fList = fList(~ismember(fList,[DataPaths.script,'.m'])); % rmv script from list fList = removePltIdFiles(fList); % Do not copy files that are part of plot ID + if ~isempty(fList) + createFileCopy(fList,folderName,storPath,ID,'userFcn'); + end end %% Research data handeling @@ -85,26 +89,28 @@ function [] = createFileCopy(filePaths,folderName,storPath,ID,type) % Creates a copy of the files (can used for multiple paths in a cell array) % folderName is the name of the exporting folder disp(['Start to copy ', type]); - - switch type - case 'data' - sufix = '_data'; - case 'script' - sufix = '_script'; - case 'userFcn' - sufix = ''; - otherwise - error([type,' is not a valid type for createFileCopy']) - end %switch try for i = 1:numel(filePaths) FileNameAndLocation = filePaths{i}; - [~,~,ext] = fileparts(filePaths{i}); % get the extension - newbackup = sprintf([ID, sufix ,ext]); - - % Write the copied file - RemotePath = fullfile(storPath,folderName, newbackup); + [~,name,ext] = fileparts(filePaths{i}); % get the extension + + switch type + case 'data' + sufix = '_data'; + newfile = sprintf([ID, sufix, '_' , num2str(i) ,ext]); + case 'script' + sufix = '_script'; + newfile = sprintf([ID, sufix ,ext]); + case 'userFcn' + %keep original name + newfile = sprintf([name,ext]); + otherwise + error([type,' is not a valid type for createFileCopy']) + end %switch + + % Write the file + RemotePath = fullfile(storPath,folderName, newfile); copyfile(FileNameAndLocation,RemotePath); end disp([type, ' sucessfully published']); diff --git a/test_data.mat b/test_data.mat index d134e7fb0ee14a0301e5a87b08ad8b0dbe3416ed..f370a2c4bfb09d1835f12174e0af259ae2eddbd0 100644 GIT binary patch delta 876 zcmeyt{h51$6PJmhm63&lk%5un#6abV39K7SOquH4m>C!<=IBo1^a%+UX?tJ&UH5^} zrVa^-#vO~MI5qB=aN|!x&*hFlmOEBX$_iGh%@Y|ymGe4`0$sWi0vJtqaQF0u1r#Rg zCU|TxaE=U>&^;npFop3>+||i{eiltCo}{nt?#2=6$|<N4H8KCs{vYpcl~rG9OKx&r zv{l4B^Iuv0_XV2g6&^f4vv1w5UK^pW&s!7n`F8FsOjMqzqm$lbnwnmzqAf3Y)}?FN zy_(W_ZOrv2uWvZ!dF1E^5Bb!c4VG%h7yQ1bl*OwltS&F`asKPyd}g5s?uh03^LiWX zvUL;H5;(ItJ7aF$<O3U>wqJO3K*=XEclF<i3+CjW_v&3V;cWf)_+8t3jxJ{O-eET7 zurqs^?_V*&rOuYuomJ+~yMC-KLzcVV+(Q3_*oTePt!68xxUO;bOkXa{?Ax^VqETlv z)0y0_`<Ygiq+3>3bA7)2X2vTXIrEgwTx}I{pVm|@e-YF5cm16|I`zRFy<x5M{kuGF z=Eb_M6Dl!`Z4MUOED<-izTi*4z2=j`KFQa4MK``5$a6B$SMt{k`~P*qqN3Z&8=l#U zyn3xIy;sM^&tCI_zV`ABIXpe`m3j^PZkITgPJa~fsL*~ozsO?7`NvqLH1&9%PuZ87 z79b#a;+(#k$95JSMX9D09?g2!B3qKgpYoR)c*rg1vAd+KaP;2Q$8)B+->g4#?>=82 zXGZwX-yOeQcwQ83v)W-`@qF|3r`K}0roX6Ew3l>ovG^Ubbm!-ank#<}Jy1OKH}%QP z;9QZPr}_V1)>H3@jgKhG>^Xey%bO5aZRXiCEFI&xE!WJrSh{FiqkH{}ZO8a?W#Xb! z)q7u9JUKnNYrSgV8?S_4xo3F%PA&_1S05hC(=+S$m&u%Z^*U=_zIgIrXL{lKmz%zb zJ7#)XYjGGoeYs1Vt4ZE#+0l)CN?QK>?sugVC+z&WMCU?Z!i&6!{g$o{M@7r~i^ADH z9W1%JVQa_TkL~eoUcb*B(<-bH?pA%cU&~3ZU`4%InfAU8XYWN?xv!(-%#NB>mFvry zX6_8wCw0>Q?`f02N-yQq;?M8d9^w%8>5AQXbDk@L`-_eLR#aSnXC`@@WzPIxYTMpP p9c)`B?W%iq()(iTXj6_^@9&(f3RPLKZeQv0Wf2F&CGG@x004kanw$Ut delta 881 zcmey&{eydg6PKZ(m4ShRk%5un#6abV39K7SOquGvnHd-==ICCm^$AWFVf*m?-uJo{ zj;jtw8bowR*<CS^y{pxo*#E*oj9r$AYe$(7$CizJg}qWUvX>lAoFi!9HlZy=<dxB~ zB$W(piG|KC*VHtE6*OL?u$HnKrY-d;|6VvregB-vpO1U`DJZ)5atf+EpZNdJ@*n@J z-MsGYH+nLm{z;AI!%KD5-Gv8rG~#O4b;zE5kf^t|^Vf?79dr2EOv}AkW9Iejm~ZR# z@iEiui~m}gOs<8+XQ;X6-k+4cDo;?IFW&RgKfOhnEk{cHIV$RtEPiwcbiF*Z^Ycnx z5zFP*)`$F*_|lRdwa-uF!Ofh`xE&rX6a94V&C*(QUqk1r%!B%Z{OB9&CdKi+>{pt6 z?7HENC+|L7->a=ut&p;8!L+2Ul|Kzbm78l>gI5J*#{Jy3a)-6c0p`<E^}BqIob5fl z`KqT*-OTwDADwxcSQ+;2{_<xVjW*l}c&Gki_maN2=?;c-<Zf1IPje03Ta~`MnSHvc zO4jxbKkODLxbAmr*_)u1zo6dlz_<2R>0P2C3+2*}rrNtcJRN&zwXn^v#cQ`kpJnR1 zYH#uDtVVlx<@x;6Sr$|7Ufx?cCsokyd(A61;iDcA6AM>NZEr3=ufozPar)#u-_lPz zOy+%Ds??OQI&XK8)%^B{ejlDJQWiP6Gu$mltxJ@bC-b8ahtb^wjGG%m&lO%*uQ%11 zqn~oLv)<?fi;ZE=w#@|*y~$N=O0knG)7qyod*1tet9FKS-SSuaN=;iIWftuDCd+lZ zT%J#k=W)QS-SN@$4?K1~8h3c%W~FaCzC1TEuYB>W>&E#c%{lK~-OO*Z*jSzYb+}0) z<IeSy>s47o*UjA4m3C6^{AKwd$t8O$PdlBf-w?4(cXM^A4wGonQ)5fVnmc>et)5@> zqjKsZ<F(xix#cbK+on05*|zZ9D+W2=eLwE@%X7^r^WCDA-+g1x=I>Dfs_nkX`q}-z zT~3Hbdd+The({+5`FYRptG+ImHZ$AAvEs`2h;EHVt7=Z0S7^RDdnR9XD$BQRljqdT z?6}u&ts@m`-1u^RU)PlN8g*Hoe-3N^)z>?H`?yPB&Fg}hpKWE>?z*2^)z7`-_QLb& xPnD+ixZG0fc74-dEt{mDo^Z-@-Kw}Vi&p1$f6D9Wu&V9%tekuJepQNBD*y+TurL4s diff --git a/testdata_2.h5 b/testdata_2.h5 index d6242fea21830dddd8588742028ad681787aacb2..99ef780a89c863b96e21683ebb76e8e060a806a8 100644 GIT binary patch delta 27 jcmew%{zH7j9%iN$J2vlQ4r63mv19T+=Az9VtOaZUuwe_C delta 27 jcmew%{zH7j9%iPNjhpu|hcPm>Y@EE0xoC3-YXKVot7QvA -- GitLab