oddb2xml 2.9.9 → 3.0.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/CLAUDE.md +69 -0
- data/Gemfile +3 -2
- data/Gemfile.lock +66 -64
- data/gemset.nix +103 -72
- data/lib/oddb2xml/cli.rb +23 -3
- data/lib/oddb2xml/compressor.rb +1 -3
- data/lib/oddb2xml/fhir_support.rb +752 -0
- data/lib/oddb2xml/options.rb +6 -0
- data/lib/oddb2xml/version.rb +1 -1
- data/lib/oddb2xml.rb +10 -0
- data/oddb2xml.gemspec +8 -8
- data/spec/downloader_spec.rb +1 -1
- metadata +28 -26
data/lib/oddb2xml/options.rb
CHANGED
|
@@ -22,6 +22,8 @@ module Oddb2xml
|
|
|
22
22
|
opt :extended, "pharma, non-pharma plus prices and non-pharma from zurrose.
|
|
23
23
|
Products without EAN-Code will also be listed.
|
|
24
24
|
File oddb_calc.xml will also be generated"
|
|
25
|
+
opt :fhir, "Use FHIR NDJSON format from FOPH/BAG instead of XML from Spezialitätenliste", default: false
|
|
26
|
+
opt :fhir_url, "Specific FHIR NDJSON URL to download (implies --fhir)", type: :string, default: nil
|
|
25
27
|
opt :format, "File format F, default is xml. {xml|dat}
|
|
26
28
|
If F is given, -o option is ignored.", type: :string, default: "xml"
|
|
27
29
|
opt :include, "Include target option for ean14 for 'dat' format.
|
|
@@ -69,6 +71,10 @@ module Oddb2xml
|
|
|
69
71
|
@opts[:extended] = true
|
|
70
72
|
@opts[:price] = :zurrose
|
|
71
73
|
end
|
|
74
|
+
# FHIR URL implies FHIR mode
|
|
75
|
+
if @opts[:fhir_url]
|
|
76
|
+
@opts[:fhir] = true
|
|
77
|
+
end
|
|
72
78
|
@opts[:price] = :zurrose if @opts[:price].is_a?(TrueClass)
|
|
73
79
|
@opts[:price] = @opts[:price].to_sym if @opts[:price]
|
|
74
80
|
@opts[:ean14] = @opts[:include]
|
data/lib/oddb2xml/version.rb
CHANGED
data/lib/oddb2xml.rb
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require "oddb2xml/version"
|
|
4
|
+
require "oddb2xml/util"
|
|
5
|
+
require "oddb2xml/options"
|
|
6
|
+
require "oddb2xml/downloader"
|
|
7
|
+
require "oddb2xml/xml_definitions"
|
|
8
|
+
require "oddb2xml/extractor"
|
|
9
|
+
require "oddb2xml/builder"
|
|
10
|
+
require "oddb2xml/fhir_support"
|
|
2
11
|
require "oddb2xml/cli"
|
|
3
12
|
|
|
4
13
|
module Oddb2xml
|
|
14
|
+
class Error < StandardError; end
|
|
5
15
|
end
|
data/oddb2xml.gemspec
CHANGED
|
@@ -20,32 +20,32 @@ Gem::Specification.new do |spec|
|
|
|
20
20
|
# We fix the version of the spec to newer versions only in the third position
|
|
21
21
|
# hoping that these version fix only security/severe bugs
|
|
22
22
|
# Consulted the Gemfile.lock to get
|
|
23
|
-
spec.add_dependency "rubyzip"
|
|
23
|
+
spec.add_dependency "rubyzip", '~> 3.0.1'
|
|
24
24
|
spec.add_dependency "minitar" # , '~> 0.5.2'
|
|
25
|
-
spec.add_dependency "mechanize"
|
|
26
|
-
spec.add_dependency "nokogiri", ">= 1.
|
|
25
|
+
spec.add_dependency "mechanize", ">= 2.8.5"
|
|
26
|
+
spec.add_dependency "nokogiri", ">= 1.19.1"
|
|
27
27
|
spec.add_dependency "savon" , '~> 2.12.0'
|
|
28
28
|
spec.add_dependency "spreadsheet" # , '~> 1.0.0'
|
|
29
29
|
spec.add_dependency "rubyXL", "~> 3.4.0"
|
|
30
30
|
spec.add_dependency "sax-machine" # , '~> 0.1.0'
|
|
31
31
|
spec.add_dependency "parslet" # , '~> 1.7.0'
|
|
32
|
-
spec.add_dependency "rubyntlm", "0.
|
|
32
|
+
spec.add_dependency "rubyntlm", ">= 0.6.3"
|
|
33
33
|
spec.add_dependency "multi_json" # , '>= 0.3.2'
|
|
34
34
|
spec.add_dependency "httpi" # , '>= 2.4.1'
|
|
35
35
|
spec.add_dependency "optimist"
|
|
36
36
|
spec.add_dependency "xml-simple"
|
|
37
37
|
spec.add_dependency "ox"
|
|
38
38
|
spec.add_dependency "htmlentities"
|
|
39
|
-
spec.add_dependency "webrick"
|
|
40
|
-
spec.add_dependency "rexml"
|
|
39
|
+
spec.add_dependency "webrick", ">= 1.8.2"
|
|
40
|
+
spec.add_dependency "rexml", ">= 3.3.9"
|
|
41
41
|
spec.add_dependency "standardrb"
|
|
42
|
-
spec.add_dependency "rack", "3.
|
|
42
|
+
spec.add_dependency "rack", ">= 3.1.20"
|
|
43
43
|
|
|
44
44
|
spec.add_development_dependency "bundler"
|
|
45
45
|
spec.add_development_dependency "rake"
|
|
46
46
|
spec.add_development_dependency "rspec"
|
|
47
47
|
spec.add_development_dependency "webmock"
|
|
48
|
-
spec.add_development_dependency "rdoc", "
|
|
48
|
+
spec.add_development_dependency "rdoc", ">= 6.3.4.1"
|
|
49
49
|
spec.add_development_dependency "vcr"
|
|
50
50
|
spec.add_development_dependency "timecop"
|
|
51
51
|
spec.add_development_dependency "flexmock"
|
data/spec/downloader_spec.rb
CHANGED
|
@@ -85,7 +85,7 @@ end
|
|
|
85
85
|
# Zips input_filenames (using the basename)
|
|
86
86
|
def zip_files(zipfile_name, input_filenames)
|
|
87
87
|
FileUtils.rm_f(zipfile_name)
|
|
88
|
-
Zip::File.open(zipfile_name,
|
|
88
|
+
Zip::File.open(zipfile_name, create: true) do |zipfile|
|
|
89
89
|
input_filenames.each do |filename|
|
|
90
90
|
puts "Add #{filename} #{File.size(filename)} bytes as #{File.basename(filename)} #{Dir.pwd}" if $VERBOSE
|
|
91
91
|
zipfile.add(File.basename(filename), filename)
|
metadata
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: oddb2xml
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 3.0.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: 2026-02-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rubyzip
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- - "
|
|
17
|
+
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
19
|
+
version: 3.0.1
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
|
-
- - "
|
|
24
|
+
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
26
|
+
version: 3.0.1
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: minitar
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -44,28 +44,28 @@ dependencies:
|
|
|
44
44
|
requirements:
|
|
45
45
|
- - ">="
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version:
|
|
47
|
+
version: 2.8.5
|
|
48
48
|
type: :runtime
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
52
|
- - ">="
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version:
|
|
54
|
+
version: 2.8.5
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: nokogiri
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
59
|
- - ">="
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: 1.
|
|
61
|
+
version: 1.19.1
|
|
62
62
|
type: :runtime
|
|
63
63
|
prerelease: false
|
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
65
|
requirements:
|
|
66
66
|
- - ">="
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: 1.
|
|
68
|
+
version: 1.19.1
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: savon
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -140,16 +140,16 @@ dependencies:
|
|
|
140
140
|
name: rubyntlm
|
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
|
142
142
|
requirements:
|
|
143
|
-
- -
|
|
143
|
+
- - ">="
|
|
144
144
|
- !ruby/object:Gem::Version
|
|
145
|
-
version: 0.
|
|
145
|
+
version: 0.6.3
|
|
146
146
|
type: :runtime
|
|
147
147
|
prerelease: false
|
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
|
149
149
|
requirements:
|
|
150
|
-
- -
|
|
150
|
+
- - ">="
|
|
151
151
|
- !ruby/object:Gem::Version
|
|
152
|
-
version: 0.
|
|
152
|
+
version: 0.6.3
|
|
153
153
|
- !ruby/object:Gem::Dependency
|
|
154
154
|
name: multi_json
|
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -240,28 +240,28 @@ dependencies:
|
|
|
240
240
|
requirements:
|
|
241
241
|
- - ">="
|
|
242
242
|
- !ruby/object:Gem::Version
|
|
243
|
-
version:
|
|
243
|
+
version: 1.8.2
|
|
244
244
|
type: :runtime
|
|
245
245
|
prerelease: false
|
|
246
246
|
version_requirements: !ruby/object:Gem::Requirement
|
|
247
247
|
requirements:
|
|
248
248
|
- - ">="
|
|
249
249
|
- !ruby/object:Gem::Version
|
|
250
|
-
version:
|
|
250
|
+
version: 1.8.2
|
|
251
251
|
- !ruby/object:Gem::Dependency
|
|
252
252
|
name: rexml
|
|
253
253
|
requirement: !ruby/object:Gem::Requirement
|
|
254
254
|
requirements:
|
|
255
255
|
- - ">="
|
|
256
256
|
- !ruby/object:Gem::Version
|
|
257
|
-
version:
|
|
257
|
+
version: 3.3.9
|
|
258
258
|
type: :runtime
|
|
259
259
|
prerelease: false
|
|
260
260
|
version_requirements: !ruby/object:Gem::Requirement
|
|
261
261
|
requirements:
|
|
262
262
|
- - ">="
|
|
263
263
|
- !ruby/object:Gem::Version
|
|
264
|
-
version:
|
|
264
|
+
version: 3.3.9
|
|
265
265
|
- !ruby/object:Gem::Dependency
|
|
266
266
|
name: standardrb
|
|
267
267
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -280,16 +280,16 @@ dependencies:
|
|
|
280
280
|
name: rack
|
|
281
281
|
requirement: !ruby/object:Gem::Requirement
|
|
282
282
|
requirements:
|
|
283
|
-
- -
|
|
283
|
+
- - ">="
|
|
284
284
|
- !ruby/object:Gem::Version
|
|
285
|
-
version: 3.
|
|
285
|
+
version: 3.1.20
|
|
286
286
|
type: :runtime
|
|
287
287
|
prerelease: false
|
|
288
288
|
version_requirements: !ruby/object:Gem::Requirement
|
|
289
289
|
requirements:
|
|
290
|
-
- -
|
|
290
|
+
- - ">="
|
|
291
291
|
- !ruby/object:Gem::Version
|
|
292
|
-
version: 3.
|
|
292
|
+
version: 3.1.20
|
|
293
293
|
- !ruby/object:Gem::Dependency
|
|
294
294
|
name: bundler
|
|
295
295
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -350,16 +350,16 @@ dependencies:
|
|
|
350
350
|
name: rdoc
|
|
351
351
|
requirement: !ruby/object:Gem::Requirement
|
|
352
352
|
requirements:
|
|
353
|
-
- - "
|
|
353
|
+
- - ">="
|
|
354
354
|
- !ruby/object:Gem::Version
|
|
355
|
-
version: 6.3.
|
|
355
|
+
version: 6.3.4.1
|
|
356
356
|
type: :development
|
|
357
357
|
prerelease: false
|
|
358
358
|
version_requirements: !ruby/object:Gem::Requirement
|
|
359
359
|
requirements:
|
|
360
|
-
- - "
|
|
360
|
+
- - ">="
|
|
361
361
|
- !ruby/object:Gem::Version
|
|
362
|
-
version: 6.3.
|
|
362
|
+
version: 6.3.4.1
|
|
363
363
|
- !ruby/object:Gem::Dependency
|
|
364
364
|
name: vcr
|
|
365
365
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -433,6 +433,7 @@ files:
|
|
|
433
433
|
- ".rspec"
|
|
434
434
|
- ".ruby-version"
|
|
435
435
|
- ".standard.yml"
|
|
436
|
+
- CLAUDE.md
|
|
436
437
|
- Elexis_Artikelstamm_v003.xsd
|
|
437
438
|
- Elexis_Artikelstamm_v5.xsd
|
|
438
439
|
- Gemfile
|
|
@@ -466,6 +467,7 @@ files:
|
|
|
466
467
|
- lib/oddb2xml/compressor.rb
|
|
467
468
|
- lib/oddb2xml/downloader.rb
|
|
468
469
|
- lib/oddb2xml/extractor.rb
|
|
470
|
+
- lib/oddb2xml/fhir_support.rb
|
|
469
471
|
- lib/oddb2xml/options.rb
|
|
470
472
|
- lib/oddb2xml/parslet_compositions.rb
|
|
471
473
|
- lib/oddb2xml/semantic_check.rb
|