oddb2xml 2.7.0 → 2.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +40 -0
- data/History.txt +7 -0
- data/lib/oddb2xml/builder.rb +9 -13
- data/lib/oddb2xml/extractor.rb +0 -7
- data/lib/oddb2xml/util.rb +3 -1
- data/lib/oddb2xml/version.rb +1 -1
- data/oddb2xml.gemspec +2 -0
- data/spec/artikelstamm_spec.rb +3 -22
- data/spec/builder_spec.rb +12 -25
- data/spec/data/refdata_NonPharma.xml +0 -3
- data/spec/data/refdata_Pharma.xml +0 -26
- data/spec/extractor_spec.rb +5 -9
- metadata +32 -4
- data/.travis.yml +0 -29
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c31777bcd85038bd65d38d67d6ebdf2197f174389403b76ff146b18d3ef4557e
|
4
|
+
data.tar.gz: 8d8930ed04518838084ae4aeb69181418b2eddb36cfa83ece2cbc84ccd06e1f4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: abe9685cc40ba1fbf9525c3cbeb9f332a98725e76621074c9f1df179c91e53cb50a4f15e78a800a28224351d3a47ec8aef0e3b9ee17787a8dccd519db65bc6d8
|
7
|
+
data.tar.gz: 415b9049a316af98279f7af0b602ecd85b0bd2e86493133af512d37b494d43155822ef754ad6dcaa39b1aa474fddba57081860588b7e896da13bf891e9b522d6
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# This workflow uses actions that are not certified by GitHub.
|
2
|
+
# They are provided by a third-party and are governed by
|
3
|
+
# separate terms of service, privacy policy, and support
|
4
|
+
# documentation.
|
5
|
+
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
|
6
|
+
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
7
|
+
|
8
|
+
name: Ruby
|
9
|
+
|
10
|
+
on:
|
11
|
+
push:
|
12
|
+
branches: [ master ]
|
13
|
+
pull_request:
|
14
|
+
branches: [ master ]
|
15
|
+
|
16
|
+
jobs:
|
17
|
+
test:
|
18
|
+
runs-on: ubuntu-latest
|
19
|
+
# Using a matrix fails, because /setup-ruby always invokes bundle install without any additional args
|
20
|
+
# Fixed by adding not defining the debugger group in the Gemfile
|
21
|
+
strategy:
|
22
|
+
fail-fast: false
|
23
|
+
matrix:
|
24
|
+
os: [ ubuntu]
|
25
|
+
ruby: [2.4, 2.5, 2.6, 2.7, 3.0, head]
|
26
|
+
continue-on-error: ${{ endsWith(matrix.ruby, 'head') }}
|
27
|
+
steps:
|
28
|
+
- uses: actions/checkout@v2
|
29
|
+
- uses: ruby/setup-ruby@v1
|
30
|
+
with:
|
31
|
+
ruby-version: ${{ matrix.ruby }}
|
32
|
+
bundler-cache: true
|
33
|
+
|
34
|
+
- name: Install dependencies
|
35
|
+
run: |
|
36
|
+
bundle config set path .bundle/gems --local
|
37
|
+
bundle config set without debugger --local
|
38
|
+
bundle install
|
39
|
+
- name: Test with RSpec
|
40
|
+
run: bundle exec rspec
|
data/History.txt
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
=== 2.7.1 / 03.02.2021
|
2
|
+
* travis-ci -> Github Actions
|
3
|
+
* limit DSCRD/DSCRF to 120 chars as specified in the XSD
|
4
|
+
* Use huge option for nokogiri as suggested by https://github.com/sparklemotion/nokogiri/issues/2187
|
5
|
+
* Adapt artikelstamm to refdata without pharmacode
|
6
|
+
* oddb_article get pharmacode where possible from transfer.dat
|
7
|
+
|
1
8
|
=== 2.7.0 / 05.11.2020
|
2
9
|
* Chapter70 hack nur als Kommentar
|
3
10
|
* Avoid double hyphen in comment
|
data/lib/oddb2xml/builder.rb
CHANGED
@@ -520,7 +520,7 @@ module Oddb2xml
|
|
520
520
|
return false
|
521
521
|
end
|
522
522
|
return false if !name || name.empty? || name.length < 3
|
523
|
-
name
|
523
|
+
name[0..119] # limit to maximal 120 chars as specified in the XSD
|
524
524
|
end
|
525
525
|
prepare_substances
|
526
526
|
prepare_products
|
@@ -886,8 +886,12 @@ module Oddb2xml
|
|
886
886
|
xml.ART('DT' => obj[:last_change] ? obj[:last_change] : '') do
|
887
887
|
nbr_records += 1
|
888
888
|
xml.REF_DATA (obj[:refdata] || @migel[pharma_code]) ? '1' : '0'
|
889
|
-
|
890
|
-
|
889
|
+
if obj[:pharmacode] && obj[:pharmacode].length > 0
|
890
|
+
xml.PHAR obj[:pharmacode]
|
891
|
+
elsif zur_rose
|
892
|
+
puts "Adding #{zur_rose[:pharmacode]} to article GTIN #{ean}"
|
893
|
+
xml.PHAR zur_rose[:pharmacode]
|
894
|
+
end
|
891
895
|
#xml.GRPCD
|
892
896
|
#xml.CDS01
|
893
897
|
#xml.CDS02
|
@@ -988,14 +992,7 @@ module Oddb2xml
|
|
988
992
|
xml.CDTYP 'E13'
|
989
993
|
xml.BC ean # /^9999|^0000|^0$/.match(ean.to_s) ? 0 : sprintf('%013d', ean)
|
990
994
|
xml.BCSTAT 'A' # P is alternative
|
991
|
-
#xml.PHAR2
|
992
995
|
} if ean
|
993
|
-
#xml.ARTCH {
|
994
|
-
#xml.PHAR2
|
995
|
-
#xml.CHTYPE
|
996
|
-
#xml.LINENO
|
997
|
-
#xml.NOUNITS
|
998
|
-
#}
|
999
996
|
if pac and pac[:prices]
|
1000
997
|
pac[:prices].each_pair do |key, price|
|
1001
998
|
xml.ARTPRI {
|
@@ -1413,7 +1410,7 @@ module Oddb2xml
|
|
1413
1410
|
return '--missing--'
|
1414
1411
|
end
|
1415
1412
|
return '--missing--' if !name || name.empty? || name.length < 3
|
1416
|
-
name
|
1413
|
+
name[0..119] # limit to maximal 120 chars as specified in the XSD
|
1417
1414
|
end
|
1418
1415
|
def override(xml, id, field, default_value)
|
1419
1416
|
has_overrides = /\d{13}/.match(id.to_s) ? @@article_overrides[id.to_i] : @@product_overrides[id.to_i]
|
@@ -1499,7 +1496,6 @@ module Oddb2xml
|
|
1499
1496
|
name ||= (item[:desc_de] + item[:name_de]) if item
|
1500
1497
|
name ||= obj[:sequence_name]
|
1501
1498
|
xml.GTIN pkg_gtin.to_s.rjust(13, '0')
|
1502
|
-
override(xml, pkg_gtin, :PHAR, pharma_code)
|
1503
1499
|
xml.SALECD('A')
|
1504
1500
|
# maxLength for DSCR is 50 for Artikelstamm v3
|
1505
1501
|
xml.DSCR(name) # for description for zur_rose
|
@@ -1598,7 +1594,7 @@ module Oddb2xml
|
|
1598
1594
|
next if /^#{Oddb2xml::FAKE_GTIN_START}/.match(ean13.to_s)
|
1599
1595
|
xml.ITEM({'PHARMATYPE' => patched_pharma_type }) do
|
1600
1596
|
xml.GTIN ean13.to_s.rjust(13, '0')
|
1601
|
-
xml.PHAR obj[:pharmacode]
|
1597
|
+
xml.PHAR obj[:pharmacode] if obj[:pharmacode] && obj[:pharmacode].length > 0
|
1602
1598
|
emit_salecd(xml, ean13, obj)
|
1603
1599
|
description = obj[:desc_de] || obj[:description] # for description for zur_rose
|
1604
1600
|
xml.DSCR(description)
|
data/lib/oddb2xml/extractor.rb
CHANGED
@@ -218,7 +218,6 @@ module Oddb2xml
|
|
218
218
|
item = {}
|
219
219
|
item[:ean13] = ean13
|
220
220
|
item[:no8] = pac.SWMC_AUTHNR
|
221
|
-
item[:pharmacode] = (phar = pac.PHAR.to_s) ? phar: '0'
|
222
221
|
item[:data_origin] = 'refdata'
|
223
222
|
item[:refdata] = true
|
224
223
|
item[:_type] = (typ = pac.ATYPE.downcase.to_sym) ? typ: ''
|
@@ -228,12 +227,6 @@ module Oddb2xml
|
|
228
227
|
item[:atc_code] = (code = pac.ATC) ? code.to_s : ''
|
229
228
|
item[:company_name] = (nam = pac.AUTH_HOLDER_NAME) ? nam: ''
|
230
229
|
item[:company_ean] = (gln = pac.AUTH_HOLDER_GLN) ? gln: ''
|
231
|
-
unless item[:pharmacode]
|
232
|
-
item[:pharmacode] = phar
|
233
|
-
unless data[item[:pharmacode]] # pharmacode => GTINs
|
234
|
-
data[item[:ean13]] = []
|
235
|
-
end
|
236
|
-
end
|
237
230
|
data[item[:ean13]] = item
|
238
231
|
end
|
239
232
|
data
|
data/lib/oddb2xml/util.rb
CHANGED
@@ -191,7 +191,9 @@ COLUMNS_FEBRUARY_2019= {
|
|
191
191
|
:drug_index => /Verz. bei betäubun.*smittel-haltigen Präparaten/i,
|
192
192
|
}
|
193
193
|
def Oddb2xml.add_hash(string)
|
194
|
-
doc = Nokogiri::XML.parse(string)
|
194
|
+
doc = Nokogiri::XML.parse(string) do |config|
|
195
|
+
config.huge
|
196
|
+
end
|
195
197
|
nr = 0
|
196
198
|
doc.root.elements.each do |node|
|
197
199
|
nr += 1
|
data/lib/oddb2xml/version.rb
CHANGED
data/oddb2xml.gemspec
CHANGED
@@ -37,6 +37,8 @@ Gem::Specification.new do |spec|
|
|
37
37
|
spec.add_dependency 'xml-simple'
|
38
38
|
spec.add_dependency 'ox'
|
39
39
|
spec.add_dependency 'htmlentities'
|
40
|
+
spec.add_dependency 'webrick'
|
41
|
+
spec.add_dependency 'rexml'
|
40
42
|
|
41
43
|
spec.add_development_dependency "bundler"
|
42
44
|
spec.add_development_dependency "rake"
|
data/spec/artikelstamm_spec.rb
CHANGED
@@ -24,7 +24,7 @@ describe Oddb2xml::Builder do
|
|
24
24
|
unless @inhalt.index(expected_value)
|
25
25
|
puts expected_value
|
26
26
|
end
|
27
|
-
binding.pry
|
27
|
+
binding.pry if defined?(Pry) && !@inhalt.index(expected_value)
|
28
28
|
expect(@inhalt.index(expected_value)).not_to be nil
|
29
29
|
end
|
30
30
|
def common_run_init(options = {})
|
@@ -71,17 +71,16 @@ describe Oddb2xml::Builder do
|
|
71
71
|
end
|
72
72
|
|
73
73
|
it 'should have a GTIN and a public price with 14 chars (ean14)' do
|
74
|
+
# Till January 2021 it was possible to find a price via transfer.dat
|
75
|
+
# as the pharmacode was given in the refdata_NonPharma.xml
|
74
76
|
expected = %(<ITEM PHARMATYPE="N">
|
75
77
|
<GTIN>68711428066649</GTIN>
|
76
|
-
<PHAR>5863450</PHAR>
|
77
78
|
<SALECD>A</SALECD>
|
78
79
|
<DSCR>3M MEDIPORE+PAD Absorbtionsverb 10x15cm 8 x 25 Stk</DSCR>
|
79
80
|
<DSCRF>3M MEDIPORE+PAD compr absorb 10x15cm 8 x 25 pce</DSCRF>
|
80
81
|
<COMP>
|
81
82
|
<GLN>7610182000007</GLN>
|
82
83
|
</COMP>
|
83
|
-
<PEXF>108.01</PEXF>
|
84
|
-
<PPUB>178.20</PPUB>
|
85
84
|
</ITEM>)
|
86
85
|
expect(@inhalt.index(expected)).not_to be nil
|
87
86
|
end
|
@@ -160,12 +159,6 @@ describe Oddb2xml::Builder do
|
|
160
159
|
expect(@inhalt.index('GTIN>0')).to be > 0
|
161
160
|
end
|
162
161
|
|
163
|
-
it 'should contain a PHAR 4236857 from refdata_NonPharma.xml' do
|
164
|
-
expect(@inhalt.index('<PHAR>4236863</PHAR>')).to be > 0
|
165
|
-
# Marco leaves the 14 GTIN digit in previous importes. As of January 2018 force it to the 13 digits
|
166
|
-
expect(@inhalt.index('<GTIN>0040565124346</GTIN>')).to be > 0
|
167
|
-
end
|
168
|
-
|
169
162
|
it 'should a DSCRF for 4042809018288 TENSOPLAST Kompressionsbinde 5cmx4.5m' do
|
170
163
|
skip("Where does the DSCR for 4042809018288 come from. It should be TENSOPLAST bande compression 5cmx4.5m")
|
171
164
|
end
|
@@ -215,8 +208,6 @@ describe Oddb2xml::Builder do
|
|
215
208
|
it 'should contain DIBASE with phar' do
|
216
209
|
expected = %(<ITEM PHARMATYPE="P">
|
217
210
|
<GTIN>7680658560014</GTIN>
|
218
|
-
<!--obsolete override-->
|
219
|
-
<PHAR>7199565</PHAR>
|
220
211
|
<SALECD>A</SALECD>
|
221
212
|
<DSCR>Dibase 10'000 Tropfen 10000 IE/ml Fl 10 ml</DSCR>
|
222
213
|
<DSCRF>Dibase 10'000 gouttes 10000 UI/ml fl 10 ml</DSCRF>
|
@@ -249,7 +240,6 @@ describe Oddb2xml::Builder do
|
|
249
240
|
tests = { 'item 7680403330459 CARBADERM only in Preparations(SL) with public price' =>
|
250
241
|
%(<ITEM PHARMATYPE="P">
|
251
242
|
<GTIN>7680403330459</GTIN>
|
252
|
-
<PHAR>3603779</PHAR>
|
253
243
|
<SALECD>A</SALECD>
|
254
244
|
<DSCR>Carbaderm Creme Tb 300 ml</DSCR>
|
255
245
|
<DSCRF>Carbaderm crème tb 300 ml</DSCRF>
|
@@ -271,7 +261,6 @@ describe Oddb2xml::Builder do
|
|
271
261
|
</ITEM>),
|
272
262
|
'product 3247501 LANSOYL' => '<ITEM PHARMATYPE="P">
|
273
263
|
<GTIN>7680324750190</GTIN>
|
274
|
-
<PHAR>0023722</PHAR>
|
275
264
|
<SALECD>A</SALECD>
|
276
265
|
<DSCR>LANSOYL Gel 225 g</DSCR>
|
277
266
|
<DSCRF>LANSOYL gel 225 g</DSCRF>
|
@@ -290,7 +279,6 @@ describe Oddb2xml::Builder do
|
|
290
279
|
'product 5366201 3TC' =>
|
291
280
|
%(<ITEM PHARMATYPE="P">
|
292
281
|
<GTIN>7680536620137</GTIN>
|
293
|
-
<PHAR>1699947</PHAR>
|
294
282
|
<SALECD>A</SALECD>
|
295
283
|
<DSCR>3TC Filmtabl 150 mg 60 Stk</DSCR>
|
296
284
|
<DSCRF>3TC cpr pell 150 mg 60 pce</DSCRF>
|
@@ -314,7 +302,6 @@ describe Oddb2xml::Builder do
|
|
314
302
|
'item 7680161050583 HIRUDOID 40g' =>
|
315
303
|
%(<ITEM PHARMATYPE="P">
|
316
304
|
<GTIN>7680161050583</GTIN>
|
317
|
-
<PHAR>2731179</PHAR>
|
318
305
|
<SALECD>A</SALECD>
|
319
306
|
<DSCR>Hirudoid Creme 3 mg/g 40 g</DSCR>
|
320
307
|
<DSCRF>Hirudoid crème 3 mg/g 40 g</DSCRF>
|
@@ -336,7 +323,6 @@ describe Oddb2xml::Builder do
|
|
336
323
|
'item 7680161050743 Hirudoid Creme 3 mg/g 100 g' =>
|
337
324
|
%( <ITEM PHARMATYPE="P">
|
338
325
|
<GTIN>7680161050743</GTIN>
|
339
|
-
<PHAR>2731179</PHAR>
|
340
326
|
<SALECD>A</SALECD>
|
341
327
|
<DSCR>Hirudoid Creme 3 mg/g 100 g</DSCR>
|
342
328
|
<DSCRF>Hirudoid crème 3 mg/g 100 g</DSCRF>
|
@@ -352,7 +338,6 @@ describe Oddb2xml::Builder do
|
|
352
338
|
</ITEM>),
|
353
339
|
'item 7680284860144 ANCOPIR' =>'<ITEM PHARMATYPE="P">
|
354
340
|
<GTIN>7680284860144</GTIN>
|
355
|
-
<PHAR>0177804</PHAR>
|
356
341
|
<SALECD>A</SALECD>
|
357
342
|
<DSCR>ANCOPIR Inj Lös 5 Amp 2 ml</DSCR>
|
358
343
|
<DSCRF>Ancopir, sol inj</DSCRF>
|
@@ -374,7 +359,6 @@ describe Oddb2xml::Builder do
|
|
374
359
|
</ITEM>',
|
375
360
|
'FERRO-GRADUMET price from ZurRose ' => %(<ITEM PHARMATYPE="P">
|
376
361
|
<GTIN>7680316440115</GTIN>
|
377
|
-
<PHAR>0020244</PHAR>
|
378
362
|
<SALECD>A</SALECD>
|
379
363
|
<DSCR>FERRO-GRADUMET Depottabl 30 Stk</DSCR>
|
380
364
|
<DSCRF>FERRO-GRADUMET cpr dépôt 30 pce</DSCRF>
|
@@ -402,7 +386,6 @@ describe Oddb2xml::Builder do
|
|
402
386
|
</PRODUCT>),
|
403
387
|
'nur aus Packungen Coeur-Vaisseaux Sérocytol,' => %(<ITEM PHARMATYPE="P">
|
404
388
|
<GTIN>7680002770014</GTIN>
|
405
|
-
<PHAR>0361815</PHAR>
|
406
389
|
<SALECD>A</SALECD>
|
407
390
|
<DSCR>SEROCYTOL Herz-Gefässe Supp 3 Stk</DSCR>
|
408
391
|
<DSCRF>SEROCYTOL Coeur-Vaisseaux supp 3 pce</DSCRF>
|
@@ -419,7 +402,6 @@ describe Oddb2xml::Builder do
|
|
419
402
|
</ITEM>),
|
420
403
|
'HUMALOG (Richter)' => %(<ITEM PHARMATYPE="P">
|
421
404
|
<GTIN>7680532900196</GTIN>
|
422
|
-
<PHAR>1699999</PHAR>
|
423
405
|
<SALECD>A</SALECD>
|
424
406
|
<DSCR>Humalog Inj Lös Durchstf 10 ml</DSCR>
|
425
407
|
<DSCRF>Humalog sol inj flac 10 ml</DSCRF>
|
@@ -450,7 +432,6 @@ describe Oddb2xml::Builder do
|
|
450
432
|
</PRODUCT>),
|
451
433
|
'Varilrix item' => %(<ITEM PHARMATYPE="P">
|
452
434
|
<GTIN>7680005850010</GTIN>
|
453
|
-
<PHAR>1770177</PHAR>
|
454
435
|
<SALECD>A</SALECD>
|
455
436
|
<DSCR>Varilrix Trockensub c solv Fertspr 0.500 ml</DSCR>
|
456
437
|
<DSCRF>Varilrix subst sèche c solv ser prê 0.500 ml</DSCRF>
|
data/spec/builder_spec.rb
CHANGED
@@ -39,7 +39,6 @@ ARTICLE_ZURROSE_ELEMENTS = [
|
|
39
39
|
]
|
40
40
|
|
41
41
|
ARTICLE_NAROPIN = %(<REF_DATA>1</REF_DATA>
|
42
|
-
<PHAR>1882189</PHAR>
|
43
42
|
<SMCAT>B</SMCAT>
|
44
43
|
<SMNO>54015011</SMNO>
|
45
44
|
<PRODNO>5401501</PRODNO>
|
@@ -259,16 +258,6 @@ def check_result(inhalt, nbr_record)
|
|
259
258
|
expect(m[1].to_i).to eq nbr_record
|
260
259
|
end
|
261
260
|
|
262
|
-
def checkItemForRefdata(doc, pharmacode, isRefdata)
|
263
|
-
article = XPath.match( doc, "//ART[PHAR=#{pharmacode.to_s}]").first
|
264
|
-
name = article.elements['DSCRD'].text
|
265
|
-
refdata = article.elements['REF_DATA'].text
|
266
|
-
smno = article.elements['SMNO'] ? article.elements['SMNO'].text : 'nil'
|
267
|
-
puts "checking doc for gtin #{gtin} isRefdata #{isRefdata} == #{refdata}. SMNO: #{smno} #{name}" if $VERBOSE
|
268
|
-
expect(article.elements['REF_DATA'].text).to eq(isRefdata.to_s)
|
269
|
-
article
|
270
|
-
end
|
271
|
-
|
272
261
|
['article', 'betrieb', 'code', 'interaction', 'limitation', 'medizinalperson', 'product', 'substance'].each do |cat|
|
273
262
|
eval "
|
274
263
|
def oddb_#{cat}_xml
|
@@ -408,7 +397,7 @@ def checkArticleXml(checkERYTHROCIN = true)
|
|
408
397
|
expect(desitin.elements['DSCRD'].text).to eq("LEVETIRACETAM DESITIN Mini Filmtab 250 mg 30 Stk")
|
409
398
|
expect(desitin.elements['DSCRF'].text).to eq('LEVETIRACETAM DESITIN mini cpr pel 250 mg 30 pce')
|
410
399
|
expect(desitin.elements['REF_DATA'].text).to eq('1')
|
411
|
-
expect(desitin.elements['PHAR'].text).to eq('5819012')
|
400
|
+
expect(desitin.elements['PHAR'].text).to eq('5819012')
|
412
401
|
expect(desitin.elements['SMCAT'].text).to eq('B')
|
413
402
|
expect(desitin.elements['SMNO'].text).to eq('62069008')
|
414
403
|
expect(desitin.elements['VAT'].text).to eq('2')
|
@@ -473,7 +462,7 @@ def checkProductXml(nbr_record = -1)
|
|
473
462
|
end
|
474
463
|
|
475
464
|
describe Oddb2xml::Builder do
|
476
|
-
NrExtendedArticles =
|
465
|
+
NrExtendedArticles = 80
|
477
466
|
NrSubstances = 28
|
478
467
|
NrLimitations = 15
|
479
468
|
|
@@ -482,7 +471,7 @@ describe Oddb2xml::Builder do
|
|
482
471
|
NrProdno = 31
|
483
472
|
NrPackages = 46
|
484
473
|
NrProducts = 40
|
485
|
-
RegExpDesitin = /
|
474
|
+
RegExpDesitin = /1120000000LEVETIRACETAM DESITIN Mini Filmtab 250 mg 30 Stk/
|
486
475
|
include ServerMockHelper
|
487
476
|
def common_run_init(options = {})
|
488
477
|
@savedDir = Dir.pwd
|
@@ -516,6 +505,11 @@ describe Oddb2xml::Builder do
|
|
516
505
|
check_result(@inhalt, NrProducts)
|
517
506
|
end
|
518
507
|
|
508
|
+
it 'should have a correct NBR_RECORD in oddb_products.xml' do
|
509
|
+
oddb_product_xml = oddb_article_xml.sub('oddb_article.xml', 'oddb_product.xml')
|
510
|
+
check_result(File.read(oddb_product_xml), 46)
|
511
|
+
end
|
512
|
+
|
519
513
|
it 'oddb_article.xml should contain a SHA256' do
|
520
514
|
expect(XPath.match(@rexml, "//ART" ).first.attributes['SHA256'].size).to eq 64
|
521
515
|
expect(XPath.match(@rexml, "//ART" ).size).to eq XPath.match(@rexml, "//ART" ).size
|
@@ -821,19 +815,12 @@ describe Oddb2xml::Builder do
|
|
821
815
|
|
822
816
|
it 'should generate the flag non-refdata' do
|
823
817
|
doc = REXML::Document.new File.new(checkAndGetArticleXmlName('non-refdata'))
|
824
|
-
expect(XPath.match( doc, "//REF_DATA" ).size).to
|
825
|
-
checkItemForRefdata(doc, "1699947", 1) # 3TC Filmtabl 150 mg SMNO 53662013 IKSNR 53‘662, 53‘663
|
826
|
-
checkItemForRefdata(doc, "0598003", 0) # SOFRADEX Gtt Auric 8 ml
|
827
|
-
checkItemForRefdata(doc, "5366964", 0) # 1-DAY ACUVUE moist jour
|
828
|
-
unless SkipMigelDownloader
|
829
|
-
novopen = checkItemForRefdata(doc, "3036984", 1) # NovoPen 4 Injektionsgerät blue In NonPharma (a MiGel product)
|
830
|
-
expect(novopen.elements['ARTBAR/BC'].text).to eq '0'
|
831
|
-
end
|
818
|
+
expect(XPath.match( doc, "//REF_DATA" ).size).to eq NrExtendedArticles
|
832
819
|
end
|
833
820
|
|
834
821
|
it 'should generate SALECD A for migel (NINCD 13)' do
|
835
822
|
doc = REXML::Document.new File.new(checkAndGetArticleXmlName)
|
836
|
-
article = XPath.match( doc, "//ART[
|
823
|
+
article = XPath.match( doc, "//ART[DSCRD='ACTICOAT Flex 7 Wundverband 10x12.5cm 5 Stk']").first
|
837
824
|
expect(article.elements['SALECD'].text).to eq('A')
|
838
825
|
expect(article.elements['ARTINS/NINCD'].text).to eq('13')
|
839
826
|
end
|
@@ -860,12 +847,12 @@ describe Oddb2xml::Builder do
|
|
860
847
|
end
|
861
848
|
|
862
849
|
it 'should load correct number of nonpharma' do
|
850
|
+
puts checkAndGetArticleXmlName
|
863
851
|
doc = REXML::Document.new File.new(checkAndGetArticleXmlName)
|
864
852
|
dscrds = XPath.match( doc, "//ART" )
|
865
853
|
expect(dscrds.size).to eq(NrExtendedArticles)
|
866
|
-
expect(XPath.match( doc, "//PHAR" ).find_all{|x| x.text.match('1699947') }.size).to eq(1) # swissmedic_packages Cardio-Pulmo-Rénal Sérocytol, suppositoire
|
867
|
-
expect(XPath.match( doc, "//PHAR" ).find_all{|x| x.text.match('2465312') }.size).to eq(1) # from refdata_pharma.xml"
|
868
854
|
expect(XPath.match( doc, "//PHAR" ).find_all{|x| x.text.match('0000000') }.size).to eq(0) # 0 is not a valid pharmacode
|
855
|
+
expect(XPath.match( doc, "//PHAR" ).find_all{|x| x.text.match(/\d+/)}.size).to eq 65
|
869
856
|
end
|
870
857
|
|
871
858
|
it 'should have a correct NBR_RECORD in oddb_limitation.xml' do
|
@@ -5,7 +5,6 @@
|
|
5
5
|
<ITEM DT="2015-11-24 00:00:00 +000">
|
6
6
|
<ATYPE>NONPHARMA</ATYPE>
|
7
7
|
<GTIN>7611600441020</GTIN>
|
8
|
-
<PHAR>0058519</PHAR>
|
9
8
|
<NAME_DE>TUBEGAZE Verband weiss Nr 12 20m Finger gross</NAME_DE>
|
10
9
|
<NAME_FR>TUBEGAZE pans tubul blanc Nr 12 20m doigts grands</NAME_FR>
|
11
10
|
<AUTH_HOLDER_NAME>IVF HARTMANN AG</AUTH_HOLDER_NAME>
|
@@ -14,7 +13,6 @@
|
|
14
13
|
<ITEM DT="2015-11-24 00:00:00 +000">
|
15
14
|
<ATYPE>NONPHARMA</ATYPE>
|
16
15
|
<GTIN>00040565124308</GTIN>
|
17
|
-
<PHAR>4236863</PHAR>
|
18
16
|
<NAME_DE>ACTICOAT Flex 7 Wundverband 10x12.5cm 5 Stk</NAME_DE>
|
19
17
|
<NAME_FR>ACTICOAT Flex 7 pansement vulné 10x12.5cm 5 pce</NAME_FR>
|
20
18
|
<AUTH_HOLDER_NAME>Smith & Nephew Schweiz AG</AUTH_HOLDER_NAME>
|
@@ -32,7 +30,6 @@
|
|
32
30
|
<ITEM DT="2018-03-16T00:00:00">
|
33
31
|
<ATYPE>NONPHARMA</ATYPE>
|
34
32
|
<GTIN>68711428066649</GTIN>
|
35
|
-
<PHAR>5863450</PHAR>
|
36
33
|
<NAME_DE>3M MEDIPORE+PAD Absorbtionsverb 10x15cm 8 x 25 Stk</NAME_DE>
|
37
34
|
<NAME_FR>3M MEDIPORE+PAD compr absorb 10x15cm 8 x 25 pce</NAME_FR>
|
38
35
|
<AUTH_HOLDER_NAME>3M (Schweiz) GmbH (Professional Health Care)</AUTH_HOLDER_NAME>
|
@@ -5,7 +5,6 @@
|
|
5
5
|
<ITEM DT="2018-12-05T00:00:00">
|
6
6
|
<ATYPE>PHARMA</ATYPE>
|
7
7
|
<GTIN>7680005850010</GTIN>
|
8
|
-
<PHAR>1770177</PHAR>
|
9
8
|
<SWMC_AUTHNR>00585001</SWMC_AUTHNR>
|
10
9
|
<NAME_DE>VARILRIX Trockensub c Solv Fertspr 0.5 ml</NAME_DE>
|
11
10
|
<NAME_FR>VARILRIX subst sèche c solv ser pré 0.5 ml</NAME_FR>
|
@@ -16,7 +15,6 @@
|
|
16
15
|
<ITEM DT="2017-12-14T00:00:00">
|
17
16
|
<ATYPE>PHARMA</ATYPE>
|
18
17
|
<GTIN>7680545340019</GTIN>
|
19
|
-
<PHAR>6749124</PHAR>
|
20
18
|
<SWMC_AUTHNR>54534001</SWMC_AUTHNR>
|
21
19
|
<NAME_DE>TEBOKAN Filmtabl 240 mg 30 Stk</NAME_DE>
|
22
20
|
<NAME_FR>TEBOKAN cpr pell 240 mg 30 pce</NAME_FR>
|
@@ -27,7 +25,6 @@
|
|
27
25
|
<ITEM DT="2017-12-14T00:00:00">
|
28
26
|
<ATYPE>PHARMA</ATYPE>
|
29
27
|
<GTIN>7680540150118</GTIN>
|
30
|
-
<PHAR>1882189</PHAR>
|
31
28
|
<SWMC_AUTHNR>54015011</SWMC_AUTHNR>
|
32
29
|
<NAME_DE>NAROPIN Inj Lös 0.2 % 10ml Duofit Amp 5 Stk</NAME_DE>
|
33
30
|
<NAME_FR>NAROPIN sol inj 0.2 % 10ml amp duofit 5 pce</NAME_FR>
|
@@ -38,7 +35,6 @@
|
|
38
35
|
<ITEM DT="2017-12-08T00:00:00">
|
39
36
|
<ATYPE>PHARMA</ATYPE>
|
40
37
|
<GTIN>7680563520172</GTIN>
|
41
|
-
<PHAR>6477223</PHAR>
|
42
38
|
<SWMC_AUTHNR>56352017</SWMC_AUTHNR>
|
43
39
|
<NAME_DE>ADVATE Trockensub 250 IE c Solv 2 ml Durchstf</NAME_DE>
|
44
40
|
<NAME_FR>ADVATE subst sèche 250 UI c solv 2 ml flac</NAME_FR>
|
@@ -49,7 +45,6 @@
|
|
49
45
|
<ITEM DT="2018-09-20T00:00:00">
|
50
46
|
<ATYPE>PHARMA</ATYPE>
|
51
47
|
<GTIN>7680658560014</GTIN>
|
52
|
-
<PHAR>7199565</PHAR>
|
53
48
|
<SWMC_AUTHNR>65856001</SWMC_AUTHNR>
|
54
49
|
<NAME_DE>DIBASE Tropfen 10000 IE/ml Fl 10 ml</NAME_DE>
|
55
50
|
<NAME_FR>DIBASE gouttes 10000 UI/ml fl 10 ml</NAME_FR>
|
@@ -60,7 +55,6 @@
|
|
60
55
|
<ITEM DT="2017-12-08T00:00:00">
|
61
56
|
<ATYPE>PHARMA</ATYPE>
|
62
57
|
<GTIN>7680555580054</GTIN>
|
63
|
-
<PHAR>2465312</PHAR>
|
64
58
|
<SWMC_AUTHNR>55558005</SWMC_AUTHNR>
|
65
59
|
<NAME_DE>ZYVOXID Filmtabl 600 mg 10 Stk</NAME_DE>
|
66
60
|
<NAME_FR>ZYVOXID cpr pell 600 mg 10 pce</NAME_FR>
|
@@ -71,7 +65,6 @@
|
|
71
65
|
<ITEM DT="2017-12-08T00:00:00">
|
72
66
|
<ATYPE>PHARMA</ATYPE>
|
73
67
|
<GTIN>7680620690084</GTIN>
|
74
|
-
<PHAR>5819012</PHAR>
|
75
68
|
<SWMC_AUTHNR>62069008</SWMC_AUTHNR>
|
76
69
|
<NAME_DE>LEVETIRACETAM DESITIN Mini Filmtab 250 mg 30 Stk</NAME_DE>
|
77
70
|
<NAME_FR>LEVETIRACETAM DESITIN mini cpr pel 250 mg 30 pce</NAME_FR>
|
@@ -82,7 +75,6 @@
|
|
82
75
|
<ITEM DT="2017-12-08T00:00:00">
|
83
76
|
<ATYPE>PHARMA</ATYPE>
|
84
77
|
<GTIN>7680353660163</GTIN>
|
85
|
-
<PHAR>0020273</PHAR>
|
86
78
|
<SWMC_AUTHNR>35366016</SWMC_AUTHNR>
|
87
79
|
<NAME_DE>KENDURAL Depottabl 30 Stk</NAME_DE>
|
88
80
|
<NAME_FR>KENDURAL cpr dépôt 30 pce</NAME_FR>
|
@@ -93,7 +85,6 @@
|
|
93
85
|
<ITEM DT="2017-12-08T00:00:00">
|
94
86
|
<ATYPE>PHARMA</ATYPE>
|
95
87
|
<GTIN>7680536620137</GTIN>
|
96
|
-
<PHAR>1699947</PHAR>
|
97
88
|
<SWMC_AUTHNR>53662013</SWMC_AUTHNR>
|
98
89
|
<NAME_DE>3TC Filmtabl 150 mg 60 Stk</NAME_DE>
|
99
90
|
<NAME_FR>3TC cpr pell 150 mg 60 pce</NAME_FR>
|
@@ -104,7 +95,6 @@
|
|
104
95
|
<ITEM DT="2017-12-08T00:00:00">
|
105
96
|
<ATYPE>PHARMA</ATYPE>
|
106
97
|
<GTIN>7680161050583</GTIN>
|
107
|
-
<PHAR>2731179</PHAR>
|
108
98
|
<SWMC_AUTHNR>16105058</SWMC_AUTHNR>
|
109
99
|
<NAME_DE>HIRUDOID Creme 3 mg/g 40 g</NAME_DE>
|
110
100
|
<NAME_FR>HIRUDOID crème 3 mg/g 40 g</NAME_FR>
|
@@ -115,7 +105,6 @@
|
|
115
105
|
<ITEM DT="2017-12-08T00:00:00">
|
116
106
|
<ATYPE>PHARMA</ATYPE>
|
117
107
|
<GTIN>7680324750190</GTIN>
|
118
|
-
<PHAR>0023722</PHAR>
|
119
108
|
<SWMC_AUTHNR>32475019</SWMC_AUTHNR>
|
120
109
|
<NAME_DE>LANSOYL Gel 225 g</NAME_DE>
|
121
110
|
<NAME_FR>LANSOYL gel 225 g</NAME_FR>
|
@@ -126,7 +115,6 @@
|
|
126
115
|
<ITEM DT="2017-12-08T00:00:00">
|
127
116
|
<ATYPE>PHARMA</ATYPE>
|
128
117
|
<GTIN>7680573230016</GTIN>
|
129
|
-
<PHAR>6824802</PHAR>
|
130
118
|
<SWMC_AUTHNR>57323001</SWMC_AUTHNR>
|
131
119
|
<NAME_DE>LANSOPRAZOL Mepha Kaps 15 mg Fl 60 Stk</NAME_DE>
|
132
120
|
<NAME_FR>LANSOPRAZOL Mepha caps 15 mg fl 60 pce</NAME_FR>
|
@@ -137,7 +125,6 @@
|
|
137
125
|
<ITEM DT="2017-12-08T00:00:00">
|
138
126
|
<ATYPE>PHARMA</ATYPE>
|
139
127
|
<GTIN>7680532900196</GTIN>
|
140
|
-
<PHAR>1699999</PHAR>
|
141
128
|
<SWMC_AUTHNR>53290019</SWMC_AUTHNR>
|
142
129
|
<NAME_DE>HUMALOG Inj Lös 100 IE/ml Durchstf 10 ml</NAME_DE>
|
143
130
|
<NAME_FR>HUMALOG sol inj 100 UI/ml flac 10 ml</NAME_FR>
|
@@ -148,7 +135,6 @@
|
|
148
135
|
<ITEM DT="2017-12-01T00:00:00">
|
149
136
|
<ATYPE>PHARMA</ATYPE>
|
150
137
|
<GTIN>7680002770014</GTIN>
|
151
|
-
<PHAR>0361815</PHAR>
|
152
138
|
<SWMC_AUTHNR>00277001</SWMC_AUTHNR>
|
153
139
|
<NAME_DE>SEROCYTOL Herz-Gefässe Supp 3 Stk</NAME_DE>
|
154
140
|
<NAME_FR>SEROCYTOL Coeur-Vaisseaux supp 3 pce</NAME_FR>
|
@@ -159,7 +145,6 @@
|
|
159
145
|
<ITEM DT="2017-12-01T00:00:00">
|
160
146
|
<ATYPE>PHARMA</ATYPE>
|
161
147
|
<GTIN>7680002780013</GTIN>
|
162
|
-
<PHAR>0361821</PHAR>
|
163
148
|
<SWMC_AUTHNR>00278001</SWMC_AUTHNR>
|
164
149
|
<NAME_DE>SEROCYTOL Kolon Supp 3 Stk</NAME_DE>
|
165
150
|
<NAME_FR>SEROCYTOL Côlon supp 3 pce</NAME_FR>
|
@@ -170,7 +155,6 @@
|
|
170
155
|
<ITEM DT="2017-12-01T00:00:00">
|
171
156
|
<ATYPE>PHARMA</ATYPE>
|
172
157
|
<GTIN>7680406620144</GTIN>
|
173
|
-
<PHAR>0769841</PHAR>
|
174
158
|
<SWMC_AUTHNR>40662014</SWMC_AUTHNR>
|
175
159
|
<NAME_DE>PEVISONE Creme 15 g</NAME_DE>
|
176
160
|
<NAME_FR>PEVISONE crème 15 g</NAME_FR>
|
@@ -181,7 +165,6 @@
|
|
181
165
|
<ITEM DT="2017-12-01T00:00:00">
|
182
166
|
<ATYPE>PHARMA</ATYPE>
|
183
167
|
<GTIN>7680406620229</GTIN>
|
184
|
-
<PHAR>0863244</PHAR>
|
185
168
|
<SWMC_AUTHNR>40662022</SWMC_AUTHNR>
|
186
169
|
<NAME_DE>PEVISONE Creme 30 g</NAME_DE>
|
187
170
|
<NAME_FR>PEVISONE crème 30 g</NAME_FR>
|
@@ -192,7 +175,6 @@
|
|
192
175
|
<ITEM DT="2017-11-03T00:00:00">
|
193
176
|
<ATYPE>PHARMA</ATYPE>
|
194
177
|
<GTIN>7680587340015</GTIN>
|
195
|
-
<PHAR>4153628</PHAR>
|
196
178
|
<SWMC_AUTHNR>58734001</SWMC_AUTHNR>
|
197
179
|
<NAME_DE>YONDELIS Trockensub 0.25 mg Durchstf</NAME_DE>
|
198
180
|
<NAME_FR>YONDELIS subst sèche 0.25 mg flac</NAME_FR>
|
@@ -203,7 +185,6 @@
|
|
203
185
|
<ITEM DT="2017-11-03T00:00:00">
|
204
186
|
<ATYPE>PHARMA</ATYPE>
|
205
187
|
<GTIN>7680627160016</GTIN>
|
206
|
-
<PHAR>5301924</PHAR>
|
207
188
|
<SWMC_AUTHNR>62716001</SWMC_AUTHNR>
|
208
189
|
<NAME_DE>COOP VITALITY Bronchialpastillen 40 Stk</NAME_DE>
|
209
190
|
<NAME_FR>COOP VITALITY pastilles bronchiques 40 pce</NAME_FR>
|
@@ -214,7 +195,6 @@
|
|
214
195
|
<ITEM DT="2018-01-30T00:00:00">
|
215
196
|
<ATYPE>PHARMA</ATYPE>
|
216
197
|
<GTIN>7680651600014</GTIN>
|
217
|
-
<PHAR>6571270</PHAR>
|
218
198
|
<SWMC_AUTHNR>65160001</SWMC_AUTHNR>
|
219
199
|
<NAME_DE>LYNPARZA Kaps 50 mg 448 Stk</NAME_DE>
|
220
200
|
<NAME_FR>LYNPARZA caps 50 mg 448 pce</NAME_FR>
|
@@ -225,7 +205,6 @@
|
|
225
205
|
<ITEM DT="2018-02-09T00:00:00">
|
226
206
|
<ATYPE>PHARMA</ATYPE>
|
227
207
|
<GTIN>7680316440115</GTIN>
|
228
|
-
<PHAR>0020244</PHAR>
|
229
208
|
<SWMC_AUTHNR>31644011</SWMC_AUTHNR>
|
230
209
|
<NAME_DE>FERRO-GRADUMET Depottabl 30 Stk</NAME_DE>
|
231
210
|
<NAME_FR>FERRO-GRADUMET cpr dépôt 30 pce</NAME_FR>
|
@@ -236,7 +215,6 @@
|
|
236
215
|
<ITEM DT="2018-03-16T00:00:00">
|
237
216
|
<ATYPE>PHARMA</ATYPE>
|
238
217
|
<GTIN>7680581580011</GTIN>
|
239
|
-
<PHAR>3656617</PHAR>
|
240
218
|
<SWMC_AUTHNR>58158001</SWMC_AUTHNR>
|
241
219
|
<NAME_DE>PRIORIX TETRA Trockensub c Solv Fertspr</NAME_DE>
|
242
220
|
<NAME_FR>PRIORIX TETRA subst sèche c solv ser pré</NAME_FR>
|
@@ -247,7 +225,6 @@
|
|
247
225
|
<ITEM DT="2018-03-23T00:00:00">
|
248
226
|
<ATYPE>PHARMA</ATYPE>
|
249
227
|
<GTIN>7680444470107</GTIN>
|
250
|
-
<PHAR>0919766</PHAR>
|
251
228
|
<SWMC_AUTHNR>44447010</SWMC_AUTHNR>
|
252
229
|
<NAME_DE>LOPRESOR Retard Divitabs 200 mg 14 Stk</NAME_DE>
|
253
230
|
<NAME_FR>LOPRESOR Retard Divitabs 200 mg 14 pce</NAME_FR>
|
@@ -258,7 +235,6 @@
|
|
258
235
|
<ITEM DT="2018-03-23T00:00:00">
|
259
236
|
<ATYPE>PHARMA</ATYPE>
|
260
237
|
<GTIN>7680444470299</GTIN>
|
261
|
-
<PHAR>0919772</PHAR>
|
262
238
|
<SWMC_AUTHNR>44447029</SWMC_AUTHNR>
|
263
239
|
<NAME_DE>LOPRESOR Retard Divitabs 200 mg 56 Stk</NAME_DE>
|
264
240
|
<NAME_FR>LOPRESOR Retard Divitabs 200 mg 56 pce</NAME_FR>
|
@@ -269,7 +245,6 @@
|
|
269
245
|
<ITEM DT="2018-03-23T00:00:00">
|
270
246
|
<ATYPE>PHARMA</ATYPE>
|
271
247
|
<GTIN>7680152190687</GTIN>
|
272
|
-
<PHAR>0544042</PHAR>
|
273
248
|
<SWMC_AUTHNR>15219068</SWMC_AUTHNR>
|
274
249
|
<NAME_DE>ZYMAFLUOR Tabl 0.25 mg Ds 400 Stk</NAME_DE>
|
275
250
|
<NAME_FR>ZYMAFLUOR cpr 0.25 mg bte 400 pce</NAME_FR>
|
@@ -280,7 +255,6 @@
|
|
280
255
|
<ITEM DT="2018-03-23T00:00:00">
|
281
256
|
<ATYPE>PHARMA</ATYPE>
|
282
257
|
<GTIN>7680434540995</GTIN>
|
283
|
-
<PHAR>2381532</PHAR>
|
284
258
|
<SWMC_AUTHNR>43454099</SWMC_AUTHNR>
|
285
259
|
<NAME_DE>KAMILLIN Medipharm Bad liq 10 Btl 40 ml</NAME_DE>
|
286
260
|
<NAME_FR>KAMILLIN Medipharm bain liq 10 sach 40 ml</NAME_FR>
|
data/spec/extractor_spec.rb
CHANGED
@@ -51,7 +51,7 @@ end unless SkipMigelDownloader
|
|
51
51
|
describe Oddb2xml::RefdataExtractor do
|
52
52
|
before(:all) { common_before }
|
53
53
|
after(:all) { common_after }
|
54
|
-
|
54
|
+
Last_change = '2015-11-24 00:00:00 +0000'
|
55
55
|
|
56
56
|
context 'should handle pharma articles' do
|
57
57
|
subject do
|
@@ -60,17 +60,15 @@ describe Oddb2xml::RefdataExtractor do
|
|
60
60
|
@pharma_items = Oddb2xml::RefdataExtractor.new(xml, 'PHARMA').to_hash
|
61
61
|
end
|
62
62
|
|
63
|
-
it "should have correct info for
|
63
|
+
it "should have correct info for no8 62069008 correctly" do
|
64
64
|
@pharma_items = subject.to_hash
|
65
|
-
|
66
|
-
item_found = @pharma_items.values.find{ |x| x[:pharmacode].eql?(pharma_code_LEVETIRACETAM)}
|
65
|
+
item_found = @pharma_items.values.find{ |x| x[:ean13].eql?(Oddb2xml::LEVETIRACETAM_GTIN)}
|
67
66
|
expect(item_found).not_to be nil
|
68
67
|
expected = {:data_origin=>"refdata",
|
69
68
|
:refdata=>true,
|
70
69
|
:_type=>:pharma,
|
71
70
|
:ean13=> Oddb2xml::LEVETIRACETAM_GTIN.to_s,
|
72
71
|
:no8 => "62069008",
|
73
|
-
:pharmacode=> pharma_code_LEVETIRACETAM,
|
74
72
|
:data_origin => "refdata",
|
75
73
|
:desc_de=>"LEVETIRACETAM DESITIN Mini Filmtab 250 mg 30 Stk",
|
76
74
|
:desc_fr=>"LEVETIRACETAM DESITIN mini cpr pel 250 mg 30 pce",
|
@@ -90,15 +88,13 @@ describe Oddb2xml::RefdataExtractor do
|
|
90
88
|
|
91
89
|
it "should have correct info for nonpharma with pharmacode 0058502 correctly" do
|
92
90
|
@non_pharma_items = subject.to_hash
|
93
|
-
|
94
|
-
item_found = @non_pharma_items.values.find{ |x| x[:pharmacode].eql?(pharma_code_TUBEGAZE)}
|
91
|
+
item_found = @non_pharma_items.values.find{ |x| x[:ean13].eql?('7611600441020')}
|
95
92
|
expect(item_found).not_to be nil
|
96
93
|
expected = {:refdata=>true,
|
97
94
|
:_type=>:nonpharma,
|
98
95
|
:ean13=>'7611600441020',
|
99
96
|
:no8 => nil,
|
100
|
-
:
|
101
|
-
:last_change => @@last_change,
|
97
|
+
:last_change => Last_change,
|
102
98
|
:data_origin => "refdata",
|
103
99
|
:desc_de=>"TUBEGAZE Verband weiss Nr 12 20m Finger gross",
|
104
100
|
:desc_fr=>"TUBEGAZE pans tubul blanc Nr 12 20m doigts grands",
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oddb2xml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.7.
|
4
|
+
version: 2.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yasuhiro Asaka, Zeno R.R. Davatz, Niklaus Giger
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-02-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -234,6 +234,34 @@ dependencies:
|
|
234
234
|
- - ">="
|
235
235
|
- !ruby/object:Gem::Version
|
236
236
|
version: '0'
|
237
|
+
- !ruby/object:Gem::Dependency
|
238
|
+
name: webrick
|
239
|
+
requirement: !ruby/object:Gem::Requirement
|
240
|
+
requirements:
|
241
|
+
- - ">="
|
242
|
+
- !ruby/object:Gem::Version
|
243
|
+
version: '0'
|
244
|
+
type: :runtime
|
245
|
+
prerelease: false
|
246
|
+
version_requirements: !ruby/object:Gem::Requirement
|
247
|
+
requirements:
|
248
|
+
- - ">="
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: '0'
|
251
|
+
- !ruby/object:Gem::Dependency
|
252
|
+
name: rexml
|
253
|
+
requirement: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - ">="
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: '0'
|
258
|
+
type: :runtime
|
259
|
+
prerelease: false
|
260
|
+
version_requirements: !ruby/object:Gem::Requirement
|
261
|
+
requirements:
|
262
|
+
- - ">="
|
263
|
+
- !ruby/object:Gem::Version
|
264
|
+
version: '0'
|
237
265
|
- !ruby/object:Gem::Dependency
|
238
266
|
name: bundler
|
239
267
|
requirement: !ruby/object:Gem::Requirement
|
@@ -355,9 +383,9 @@ executables:
|
|
355
383
|
extensions: []
|
356
384
|
extra_rdoc_files: []
|
357
385
|
files:
|
386
|
+
- ".github/workflows/ruby.yml"
|
358
387
|
- ".gitignore"
|
359
388
|
- ".rspec"
|
360
|
-
- ".travis.yml"
|
361
389
|
- Elexis_Artikelstamm_v003.xsd
|
362
390
|
- Elexis_Artikelstamm_v5.xsd
|
363
391
|
- Gemfile
|
@@ -486,7 +514,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
486
514
|
- !ruby/object:Gem::Version
|
487
515
|
version: '0'
|
488
516
|
requirements: []
|
489
|
-
rubygems_version: 3.
|
517
|
+
rubygems_version: 3.2.4
|
490
518
|
signing_key:
|
491
519
|
specification_version: 4
|
492
520
|
summary: oddb2xml creates xml files.
|
data/.travis.yml
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
|
3
|
-
bundler_args: --without debugger
|
4
|
-
|
5
|
-
cache: bundler
|
6
|
-
sudo: false
|
7
|
-
|
8
|
-
before_install:
|
9
|
-
- gem --version
|
10
|
-
|
11
|
-
script: bundle exec rspec
|
12
|
-
|
13
|
-
rvm:
|
14
|
-
- 2.4
|
15
|
-
- 2.5
|
16
|
-
- 2.6
|
17
|
-
- 2.7
|
18
|
-
- ruby-head
|
19
|
-
|
20
|
-
matrix:
|
21
|
-
allow_failures:
|
22
|
-
- rvm: ruby-head
|
23
|
-
|
24
|
-
notifications:
|
25
|
-
email:
|
26
|
-
recipients:
|
27
|
-
- ngiger@ywesee.com
|
28
|
-
- yasaka@ywesee.com
|
29
|
-
- zdavatz@ywesee.com
|