From 81b03547c733ca56f9a5d9ec343fa299891508e7 Mon Sep 17 00:00:00 2001 From: Brandon Egger Date: Tue, 9 May 2023 23:19:30 -0500 Subject: [PATCH] update manufacturer structure to include notice field --- data/atr_data.xlsx | Bin 18210 -> 18363 bytes data/base_template.xlsx | Bin 9750 -> 9829 bytes excelProccessor/README.md | 4 +--- excelProccessor/import/main.py | 8 +++++++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/data/atr_data.xlsx b/data/atr_data.xlsx index ab84c133faca5b687ca6b46c2da65fad0e97410b..7acbb3cb585687416639f1c96a4c75c732869f42 100644 GIT binary patch delta 12237 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 QAe{IjP71Xs`XBHA0*Q%J#{d8T delta 12085 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 Vs?h(RY0g66BndKDUeSL?{|}xl4O9RC diff --git a/data/base_template.xlsx b/data/base_template.xlsx index 5ccbfe5ab6662637f1a9cde135b1d9a21ead0c85..2d79ec7a05d537c7ccc947657420abdf29b9daf4 100644 GIT binary patch delta 4041 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 Ri79Vmclmh8MtT2>{RdV9h|>T7 delta 3981 zcmZ9PWn9$Vw#SF=9=dfX>27&o29X*;x&#D~kVZnlKdm&*0Fp`x(hVXF4?Qr_%^(bd zlypcPe9pb+p3hw`e*48*ulCyCy?$#=Csn8FiWo>fz4;W62Li1SgFsXu5Xk?9sGqx+ z%TsrE7ZHEg7iC6P?)h@yU~8uvyp=_1>O-0dAAFp;lsWwrhq=X~cX;r91~C^MWJ$(N z+cczL$6jjCSLTjPLuDem_0-b)+R4JCmk!C!IE<=83ys_8ijXcTp-`ej>XtO&9Z4U8sp%0Dq367c(jf-!M*NZwP4ey@_52`QX z{vBgtsZ5nqsK5Sw4SE-1Wwd-UPw?PZTxMXjU%=6?*0L$ zp~|(Ltn);Uu!x&RXqIkTUa1PPL}V5~B=n0O)$p2mn9zyBoP^t-6Xs2|z;?J2G%V=b zh^$bZKanhdS$J>!vt!X%n4mFAhcoJF_mXaZTYTV?&JtG|7w47O@GSQN{VM4lK(HR4 zJ8{ouBfy|D4YC~U6DuQ$5PDsb)4wCREFiMmq)5&4{V7H{~|)9R9_ddyM-1SR&B z^81B(gEuqi0mjB72wSXqO_Gu=fZzB6xZL0i(zXaTd~0hq#f)B>YCRb~4lUk@oPNJx z*cks_?TnTtA_z~kfbmDzNy$QymEDLAuKa!TuZ8oTJq=wS7%SJ?O)ogduKb3-oahFY zh<;HVky$ML>*(9ek~i@gp}j59^6;VUhPl`RdF*M6-Wtj$=ndPCYn#hle4w{sYg3aS zfB1z%n}0E@e6^zLVaLau4sP*`UT>-TIzt&S139&ABehL!-J=RzG%vhkb(u8&Q z#p2dRS2OuB^FdA3o9*~{FY`4nzeS3uP*-__@sOH#Tssj)FcYCsP)hhdY|~RJ7k6X`&V}R7>#txOETm;JTMR>q?0I*4+1HJK_H5M z6YK30@Zy>GA6_R+EfQB`z^^MOZm8FkGsz-wV5T_HpHdo(KBa2~OGo2PDad%Czzv(g zFHc$od8XAE_qe_)@qBf=chIhUY+_LyGaB~8aIeEhMXpfQUx;?lFZBF^uBNc?ogj)1 zh0hlX1n@SUd!8RYinYvU4p^YeBM(^)u-Q#fK)EU=o)wdfGX4b}NYJL@SXeo-+R zU9opJ|X3>SVK1A;LWr^VE#2fhrJ_8#VQg6Rz-?8w{5n{Wd{; zAd@NLEX{i2;TNlfji?pTj2iWktb=p|MpA0|aA)&;JZ%ZmWP&)klFK0opLiPkpr0-)vS}Mp?c@hZ#j(txH zHKAJ@^Xhz9!iCiQI==<*P%2cCe9Fl&7om;u3$rUM4Ihej233jMZtF890|la0kBU1J znFl9|AY!>vlP`Oo5vNzNr24PHRvSmPwq?pH2(OhZJhfbKmEq8x$sZ;6U6;E6ms3fcev)djPzBHFQDh;-|E>V;u&j9d^93&ew2El9W(O@y8 z0WyQ#>P%qqnE=99m!O50Tj0LLv7rh%%Hfhsb3+_Yu-y0R!N6{cn^@3!Pch#ua}Xz& zYI9cIk{|P@gvOjS)^tj#Hm5iv)N1~s-n5y`ah0YfOJX01k&dGmul)%}loLy*?Xxp@ z=*jc91OrMVzsyIQ$aMDuJz{2eD#)7j+3(!rj#Q!0qvijg>{?e{hS<1Z(q#sy5*R9( zehsKQY+(2WI?Fu^_wPc+4^fRL>ppPic7)p%CNjEkqU*^K(OFcCip*oF=9(4R8EkkJ zmUK(y{jhJ|$Uu9Z5a)P7TBN#sdPL&>k+xjoxRI&OP@QR!dQC>T^?;W?nbP+qBb(d- zO`2z-;<-aTNgq{kDR-^d{f&Vue3At`XBcE-)r`4zhw;9xOB_sAXd^lM3 zKN>H~MKQc#K89c4HtFW(b_U$s#H9?lh5tnj0|@qUaC-geA85s$1_P(`GzD2%{ig7P zQ)VT}Zw8xCH{+i#M}16IKcDp<1|pWm<-P{LR%~oz{Q}=lc|vwx%BMDcPSPc{)q2Al z@NR875OZuD!Kz_4(3ZMa3)_q|DAJ|{NAbrcf8#3b zl3{1S8|q~oM0|gX|AD9oyJPd=Ux}`yhM%naPKB5rHVZL(TnCJiTM8Y zY4LCfr5s^Rng=<|rC&Vh(>sTCW}J*}jF&3bw@?e2E&~)D;rXz9=__!&Mh%0xO^?1>RmCGeY>& zg5O>@VS9E*Q(*T4|9KI3AU$n7d@u-^jYmvEWV}8Xg#!XbAm`b5fZv>VFxn03YV=xR zHPL?6TqlEY)8mM;?JCxHGo8NFmlsi8I1+cI0{-d& z@vokc!3AT+b|Qsn488FN$tE zvzKqvda|_U%{wvFIX)pTClu%kQ5QF=HIB4z&LDZ+UUc;11U+{0serbn?b?zK-OhhO z_J`5iwjk5+C%=KsX(ON_6!5$W$m(_YFT{>F!3gT(FQuJ zxCnwHv8392$p()+iQHVGD(X1k1A)q>KVP$Nq(mE#w#(*@ zbMGb(&vGT~X4BFEp@UANaX3n$ojkTuonUYN${JeKyZ6}og+HY~IPV9vI{yH%xLC>XSqmu@i;PWM zD0`S{jmUzyTP1KFS{;2?;~2YqljcCTLZe52hHW;q{`cf!G3Uffw&+L&3~1HKnln!p8L38xsb}dcL+o7{>l9d?UZ8G diff --git a/excelProccessor/README.md b/excelProccessor/README.md index 2814725..9e36e58 100644 --- a/excelProccessor/README.md +++ b/excelProccessor/README.md @@ -26,6 +26,4 @@ poetry run python import/main.py ../data/atr_data.xlsx You should see output showing the individual objects it extracted from your excel sheet along with a success message at the end. # Expected Data Format -***TODO:*** Outline expected data format for the utility. - -See atr_data.xlsx \ No newline at end of file +See {project_root}/data/atr_data.xlsx \ No newline at end of file diff --git a/excelProccessor/import/main.py b/excelProccessor/import/main.py index a925b91..ea483c2 100644 --- a/excelProccessor/import/main.py +++ b/excelProccessor/import/main.py @@ -29,11 +29,17 @@ def get_manufacturer(row, col): return None required = row.loc[col]['required'] - return { + + manufacturer_info = { "name": row.loc[col]['entry'], "required": isinstance(required, str) } + if isinstance(row.loc[col]['notice'], str) and len(row.loc[col]['notice'].strip()) > 0: + manufacturer_info["notice"] = row.loc[col]['notice'] + + return manufacturer_info + def get_selected_options(row, col): return row.loc[col].dropna(inplace=False).index.to_list()