From 3a6c2783abe6cddbc7d6ae7057fd363995bd2c22 Mon Sep 17 00:00:00 2001 From: Niklaus Giger Date: Wed, 4 Mar 2015 11:25:04 +0100 Subject: [PATCH] Remove unnecessary spaces from ARTICLE.NAME in oddb_calc.xml --- History.txt | 1 + lib/oddb2xml/builder.rb | 2 +- lib/oddb2xml/calc.rb | 2 +- spec/calc_spec.rb | 1 + spec/data/swissmedic_package-galenic.xlsx | Bin 146793 -> 146982 bytes 5 files changed, 4 insertions(+), 2 deletions(-) diff --git a/History.txt b/History.txt index ea5974b..833d8c7 100644 --- a/History.txt +++ b/History.txt @@ -1,5 +1,6 @@ === 1.9.8 / 04.03.2015 +* Remove unnecessary spaces from ARTICLE.NAME in oddb_calc.xml * Emit comment for compositions, eg. 'Solvens: aqua ad iniectabilia.' * Renamed COMPOSITION to COMPONENT in COMPOSITIONS diff --git a/lib/oddb2xml/builder.rb b/lib/oddb2xml/builder.rb index ce7e836..eddf4f2 100644 --- a/lib/oddb2xml/builder.rb +++ b/lib/oddb2xml/builder.rb @@ -665,7 +665,7 @@ def build_calc items[ean13] = info xml.ARTICLE { xml.GTIN ean13 - xml.NAME name + xml.NAME info.name xml.PKG_SIZE package_size xml.SELLING_UNITS info.selling_units # xml.COUNT info.count diff --git a/lib/oddb2xml/calc.rb b/lib/oddb2xml/calc.rb index 7ac8986..d3a06c1 100644 --- a/lib/oddb2xml/calc.rb +++ b/lib/oddb2xml/calc.rb @@ -184,7 +184,7 @@ def self.update_active_agent(name, part) end public def initialize(name = nil, size = nil, unit = nil, active_substance = nil, composition= nil) - @name = name + @name = name ? name.gsub(/\s\s+/, ' ') : name @pkg_size = size @unit = unit # @pkg_size, @galenic_group, @galenic_form = diff --git a/spec/calc_spec.rb b/spec/calc_spec.rb index 8e7b14f..a620ef3 100644 --- a/spec/calc_spec.rb +++ b/spec/calc_spec.rb @@ -285,6 +285,7 @@ def url } XPath.match( doc, "//ARTICLE[GTIN='7680006790124']/COMPOSITIONS/COMPONENT/NAME").last.text.should eq 'Bifidobacterium Infantis' XPath.match( doc, "//ARTICLE[GTIN='7680545250363']/COMPOSITIONS/COMPONENT/NAME").last.text.should eq 'Alprostadilum' + XPath.match( doc, "//ARTICLE[GTIN='7680458820202']/NAME").last.text.should eq 'Magnesiumchlorid 0,5 molar B. Braun, Zusatzampulle für Infusionslösungen' end end diff --git a/spec/data/swissmedic_package-galenic.xlsx b/spec/data/swissmedic_package-galenic.xlsx index 9cd644399d628640ce2cbce49bbd615ec8c27535..6c4d9300b5f2ea68133c827959a4443d3bcff165 100644 GIT binary patch delta 7817 zcmZ8mWmH_vvKh^ zwh@_V%QR%Ih!a}6(KqmVEI&H48@rdzClx&V198?lEx(TA< zU)V;YBW;qHk`a`oPaWsuK4=thj-x6y8fR>#_~w(ZTznNA0c`)fZ5J&&Nhu2mMa%!| zBbB^w|0>CII4e`rc`cl(ipVJM%1{RP0000K z4gmNEFY>985|YGjAM+^Dv@28QHvylfYJkdsVc-;fd>YXDp5FW{~Wn^UA7ry+(@6KWNckP=$ zTIX&hsa7+;CLehhR;=G4i}ODql~ znvh^0A(uCdCgw&V2gm87u-_CQqa^NK9(nzyV;u;<`WGkvqNElPf#{zkq(YR0X-P|` zUC~Nbs#8(tFAIEoi0SKW6x`?!K#mp>Imd+XtMJx}1QlfxsGb3db#^?Va&XBN6_ly&JsI=!>^6sT zQrG#QmU(&Hg&YP;uz|s@yyi3DXtY^I_jfrMbPRAAd7lkOqC0l5c>%l7CSvVQxIaK* zZsAr+e&-h6|K`@eagZWi{euG!g%PGZ;zTA$xH_S|GOeNR7G~=vC=;q~tD?p^QvF3e zGGXuoH^dl^9@j0;8c_b}Aq~`aiac7@h6c06nj8!Hl=MA+H@4&>y#t*7%3$-Jq{nG; zE9i?}McvTONG3Ci`==3lDimSQ=JUrfo!VBZB`#rOYmVEIOp*l=n8#%ykuHp^N4?nS zC?YbIvOyP2avt%6I@>8U)ue*Q@&pp8>sca1w$HuCsHo>id{ocF_#KPEg9bBdwYNG5 zp9;-aKe7*5q|(sp^dQLN5;K!axsoUwLMMyI5kbiXF`t|9sc2X^{Ps>#0IbLIqK_M%JiO7Ohv<5Bw2jj)cbf z;V)&_#iF?3Dwe0ADWf}}bLn0?oFlJ}2ac7Wmkr3#(>+R>;xJ~$r@5spG{s9}8%}U^ z1G2338mBr9$tiZw;|InXjJE~lTaBV{1E-SwLtXla%H_)Rz5QhQ00mN(H#7PSH+K)6 zP5iDbWc(-sDdXxKaz8-BGqmrG(WOILFtL6lY*|%qinm~Hxre4~JuOw}cqxUh)ZRpz z_Beb@r71MZ>V{3S^r}pgYX$6?#+hr!70qWRj&O*|b(Ud*=lK-|QbtYD&K)Q|xdTQNXa-?(EO2?IiT zFj=2Ce#AF`)(cVYQPQ}nkXOiVs=dwgcB0Nl;mnF+K5IL8NSy5A2WK`NTFIja3@o;N z7n*@S-t)3tpvk@QvXM)+zh|Eov&|| zI_uGYoY@l%UO;%4Uha$8PeSAxIL(fS$b1J~O7XUum@CY)z#LJ_DirQ6&l!31h*ze= zO#oz`7J}C866XV^=Vv5_u3`IU^2g}II~iEv6Y^*)c(Br%S^gS%GB`R$G%vVzDLlsdoj^lglZD-|&-wJWCFt2onGTuU;5{qb z!7i0I3p0j+b{lxssm5{mXarHcCoZCd0{NmiE9I5U?GDdnd)f(fD+zivtNB2KQ(>yJ zAAySr^l!((I@@2kh&d;1apq`j}zr_5`OwxTwJM|3NfVY$v!=fY*^9^Bcr z&5_(6<IOjpY18vcHK#S%48)X@Cff0 zb`I|u$fXZ4Gw{TbU!oyN1-uO7@!9u5Ey^vL`dqp1s!QK2`|KV>&HIgNi0Lg@%4v4y zoLApp(chun;Q{=`Ed6AnBL0+9e>8gmH{*@*%(AxNuZ$04j^?Mcg+81(8%Y+v5`CNuyT$-kRH}N@j*_S?rP4mq1`XU zf@E}GCO=u4o-^RpouMO)SN5l$mzPr^lUPfQ{NTRp{L9MWh`^STYw(H~__B0u&EVpj zH7Ll3oBNgHX?nq!LSd^Jc30Fv^ujLxA9 zRqt-2EwL@U*)`kbnD-7n3TI)(Lte#O zvhm#!;XF$SyjaRTVv7zIFaL|gzPC9V*d?2Dlyh|OGY6)*5p6BM5 z#2fAN4p+qhS2WGA8l(<;ykjRz_^_m0a()-~2WCGhgH*lCZu2i(`Joo>r^sSN!UX z&8vDV$e~$+wA9_fR_;3>>DFlgwifnSmm@=kifvYSzO1ws{6zOIPt#M1=OD>a@15|W ztD@6e29dfjSVmfD#-RK!{q{FL38N+YoP%vlTjgi%vn3FcZg>pa#nqIzy#oidiWh$0 z{qYO}Q0OHERZURw*Oqtru+&s%v9AOR=MQpMLJlKIs7$C|93Sh&D(83Wv|7-Lh6%l0 zIdsY1Qd7;0dP-`W7b*j~Z%IS16VaMMT>c(tiBJ4?ZIeDca zqVXNAlYPBfiUC7?#UQe5SaVtYrFNboVS}(%PrMo)9ZbZlUbmr%Y@0RyxFqC+6d01! zXJ@)j{w7i1o4hnlYnK9^-6U+1F*}rxch0L$&U}q^1IaBN3#wPTf4EhfVYWvq`C@sV z|Lj5-OJuM;>Y3xn8CNq!Uxc?JaM_Z1LE+HI|DcbBgWIfmD4_hl{Hs8w&#m6=B?z9- zBIC}A9k$Mz)QtpRA&O@J3M@o}N1HO}X|Fnp8{{8)f-a6$%b7ekhHP%t=6XHbKGzRj ze>|jLzWjJxX!w0`0ayInR_1ky#)0bj17u-dj2U8itwp9TTSoRk2b~H`8Y2ePbjRuG zrfWYV{i!1Ou0P_@VE_P;bpNhUQBV;7mgMnN_*Z{Ra$*8D*s4<=_{HGyH4C%Rud(@R zToeSI!NP&@m71xG#0puRDY2 z^PY~^wPR1e&VZD*&ar-^Q3MXwno|yN?q$C0(0|-@jR0Y9dEhW`zdU}}(Am50UcXzW ze@tQ*p1?GrhK-MljEEX#UwSUu4r@!yE6B;tZ8fU;!>YQI3+M^m zVggpYHadxqa-6-4n#lsl4BvVC{v3>Up4)Xp^HP_Q*Cbt<7r1$>ZPKo~w?ID;uj$yX z0p$p*+1ll?`{EwvSD~mys*ZHJ>(z?;ajZ=H+d z+444;Cx(`OQ`9I7#a(%ZrocjdhOPoibSSn~!@#arWHG{PV5*bgDSo~>16rQ0X|J_~ z9f9=TEL;&gYqYA=Dt)mCt6MBEu)OQ5HL!#%6c*~Zh6PX7kr|onCR;Y)!*~+l*Z=j~F)rEOeT`I0(9M*wEs_gu5&<$Mkx!PhxtCFi&IE zcI4$$!?b`S?lRU;Iv$kG6)zZ*?z_R$RRR>7Dt9e5!Bl_QV@0m4l|97E!t|=7Q1Z5@ z3FXXqQYF4TRx8g}cxg-^^}|QaXk30=<}99|Bl2<@g7PeBf=rFt2)(DTc{O6XFn4JY z>H5}|@)|q09J}LZt<$oi6NqNsepFLq3PT6hsPA#TLo|JG*#2+;E~v>5F}Z33jZnWg zfb1<-Fe2Vtt{}w5stqi{6>UV#hjib@&x48IN)!;i*j8#zJ~S>{NVNqoqdK(Gy4i&w z5>;)~u%5hc><#!?(p9#Kg+5Sa3imQoL}l+UQW5bP_37(z(ApTCx{;))>~V zCyZXsJZInV4vj%FZH$eTE<=)B9tx8Fg|t-{tBByZJVX#sCEyfEZAjJ}ivp$gB_p9j zfeY+LF!OUNjI)knK@hsp;<1Z|qwI*sc+b<-e;sGd@Z#h&(ENcBKI4Ho5%z5s0nYFV zlv==y;&6^PFzagFn+56Td|#gbLVN37S7|RAEhbXm2MxiFahjaO@B)HR z0BM{?Xi+B52m%0?26QOC`E28@kN1T0X5P=R_={ z)#zm**mT4Pr=j4SxAQs6AIlHrtl%P)7|21ibp&{azU~!9(b+8^eM2o<3>Wiy|7fn5EURoJ@;(=`DHo@mbTMBnZ5?7Ms2j zH!s=x0c5J!4$Q)87eq7^>^x%0DE0FEwV_WT@lP|5;|ua?VGP~tb|Iw-QO1c_DnMq< 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 delta 7567 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