oddb2xml 1.2.2 → 1.2.3
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +9 -0
- data/README.md +82 -26
- data/lib/oddb2xml/builder.rb +33 -9
- data/lib/oddb2xml/cli.rb +28 -22
- data/lib/oddb2xml/extractor.rb +5 -1
- data/lib/oddb2xml/version.rb +1 -1
- metadata +123 -182
data/History.txt
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
=== 1.2.3 / 25.01.2013
|
2
|
+
|
3
|
+
* Change CBGG value as 3
|
4
|
+
* Add CLAG value from @fridges
|
5
|
+
* Change dat as only a file with `-a nonpharma`
|
6
|
+
* Update CKZL value with sl_entry or not
|
7
|
+
* Update to use also BM_update from ywesee
|
8
|
+
* Update to use also category from Packungen.xls
|
9
|
+
|
1
10
|
=== 1.2.2 / 24.01.2013
|
2
11
|
|
3
12
|
* Improve compressor for dat
|
data/README.md
CHANGED
@@ -1,17 +1,40 @@
|
|
1
1
|
# oddb2xml
|
2
2
|
|
3
|
-
oddb2xml
|
3
|
+
* oddb2xml -a nonpharma -o fi
|
4
|
+
|
5
|
+
creates the following xml files:
|
6
|
+
|
7
|
+
* oddb_substance.xml
|
8
|
+
* oddb_limitation.xml
|
9
|
+
* oddb_interaction.xml
|
10
|
+
* oddb_code.xml
|
11
|
+
* oddb_product.xml
|
12
|
+
* oddb_article.xml
|
13
|
+
* oddb_fi.xml
|
14
|
+
* oddb_fi_product.xml
|
15
|
+
|
16
|
+
and
|
17
|
+
|
18
|
+
* oddb2xml -f dat
|
19
|
+
* oddb2xml -f dat -a nonpharma
|
20
|
+
|
21
|
+
creates .dat files according to ([IGM-11](http://dev.ywesee.com/uploads/att/IGM.pdf))
|
22
|
+
|
23
|
+
* oddb.dat
|
24
|
+
* oddb_with_migel.dat
|
25
|
+
|
26
|
+
the files are using [swissINDEX](http://www.refdata.ch/downloads/company/download/swissindex_TechnischeBeschreibung.pdf), [BAG-XML](http://bag.e-mediat.net/SL2007.Web.External/Default.aspx?webgrab=ignore) and [Swissmedic](http://www.swissmedic.ch/daten/00080/00251/index.html?lang=de) as sources.
|
4
27
|
|
5
28
|
The following additional data is in the files:
|
6
29
|
|
7
|
-
* Wirkstoffe
|
8
|
-
* Kühlkette (
|
9
|
-
* Orphan Drugs (
|
10
|
-
* FI
|
11
|
-
* Limitation-Texte (
|
12
|
-
* Interaktionen
|
13
|
-
* Betäubungsmittel und psychotrope Stoffe (
|
14
|
-
* Non-Pharma from Refdata and Suppliers
|
30
|
+
* [Wirkstoffe](http://bag.e-mediat.net/SL2007.Web.External/File.axd?file=XMLPublications.zip) (BAG XML)
|
31
|
+
* [Kühlkette](http://www.swissmedic.ch/daten/00080/00254/index.html?lang=de&download=NHzLpZeg7t,lnp6I0NTU042l2Z6ln1acy4Zn4Z2qZpnO2Yuq2Z6gpJCDdH57e2ym162epYbg2c_JjKbNoKOn6A--) (Swissmedic)
|
32
|
+
* [Orphan Drugs](http://www.swissmedic.ch/daten/00081/index.html?lang=de&download=NHzLpZeg7t,lnp6I0NTU042l2Z6ln1acy4Zn4Z2qZpnO2Yuq2Z6gpJCDdH55f2ym162epYbg2c_JjKbNoKSn6A--&.xls) (Swissmedic)
|
33
|
+
* [FI: de, fr](http://download.swissmedicinfo.ch) (Swissmedic)
|
34
|
+
* Limitation-Texte (BAG XML)
|
35
|
+
* Interaktionen [EPha.ch](http://epha.ch)
|
36
|
+
* [Betäubungsmittel](http://www.swissmedic.ch/produktbereiche/00447/00536/index.html?lang=de&download=NHzLpZeg7t,lnp6I0NTU042l2Z6ln1acy4Zn4Z2qZpnO2Yuq2Z6gpJCDdH1,fWym162epYbg2c_JjKbNoKSn6A--&.pdf) und psychotrope Stoffe (Swissmedic)
|
37
|
+
* Non-Pharma from Refdata and Suppliers (swissINDEX)
|
15
38
|
|
16
39
|
## usage
|
17
40
|
|
@@ -19,25 +42,26 @@ see `--help`.
|
|
19
42
|
|
20
43
|
```
|
21
44
|
$ oddb2xml --help
|
22
|
-
oddb2xml ver.1.
|
45
|
+
oddb2xml ver.1.2.2
|
23
46
|
Usage:
|
24
47
|
oddb2xml [option]
|
25
|
-
-c F, --compress=F Compress format F. {tar.gz|zip}
|
26
48
|
-a T, --append=T Additional target. T, only 'nonpharma' is available.
|
49
|
+
-c F, --compress=F Compress format F. {tar.gz|zip}
|
50
|
+
-f dat, create dat files according to IGM-11 standard.
|
51
|
+
-h, --help Show this help message.
|
52
|
+
-o fi, create fi xml files.
|
27
53
|
-t S, --tag-suffix=S XML tag suffix S. Default is none. [A-z0-9_]
|
28
54
|
If S is given, it is also used as prefix of filename.
|
29
|
-
-h, --help Show this help message.
|
30
55
|
```
|
31
56
|
|
32
57
|
|
33
|
-
##
|
34
|
-
|
35
|
-
option examples.
|
58
|
+
## Option examples
|
36
59
|
|
37
60
|
```
|
38
|
-
$ oddb2xml # => oddb_article.xml, oddb_product.xml, oddb_substance.xml
|
39
61
|
$ oddb2xml -t md # => md_article.xml, md_product.xml, md_substance.xml
|
40
62
|
$ oddb2xml -a nonpharma -t md -c tar.gz # => md_xml_dd.mm.yyyy_hh.mm.tar.gz
|
63
|
+
$ oddb2xml -f dat # => oddb.dat
|
64
|
+
$ oddb2xml -f dat -a nonpharma # => oddb_with_migel.dat
|
41
65
|
```
|
42
66
|
|
43
67
|
output.
|
@@ -50,6 +74,26 @@ FR
|
|
50
74
|
Pharma products: 14801
|
51
75
|
```
|
52
76
|
|
77
|
+
## XSD files
|
78
|
+
If you need the XSD files, generate them yourself using the javabeans tool:
|
79
|
+
|
80
|
+
* http://xmlbeans.apache.org/docs/2.0.0/guide/tools.html#inst2xsd
|
81
|
+
|
82
|
+
this will generate you a valid XSD file that can be used to validate against the XML file.
|
83
|
+
|
84
|
+
## XML files
|
85
|
+
|
86
|
+
xml files generated are:
|
87
|
+
|
88
|
+
* oddb_substance.xml
|
89
|
+
* oddb_limitation.xml
|
90
|
+
* oddb_interaction.xml
|
91
|
+
* oddb_code.xml
|
92
|
+
* oddb_product.xml
|
93
|
+
* oddb_article.xml
|
94
|
+
* oddb_fi.xml
|
95
|
+
* oddb_fi_product.xml
|
96
|
+
|
53
97
|
### article.xml
|
54
98
|
|
55
99
|
oddb2xml creates article.xml as oddb_article.xml by default.
|
@@ -161,20 +205,32 @@ product.xml has relation to substance as `<SUBNO>`.
|
|
161
205
|
</SUBSTANCE>
|
162
206
|
```
|
163
207
|
|
164
|
-
##
|
208
|
+
## SSLv3 cert for Windows Users
|
165
209
|
|
166
|
-
Some websites need SSLv3 connection.
|
210
|
+
Some websites need SSLv3 connection.
|
167
211
|
If you don't have these root CA files (x509), Please install these Certificates before running.
|
168
|
-
Please confirm wit `ruby -ropenssl -e 'p OpenSSL::X509::DEFAULT_CERT_FILE'`.
|
169
|
-
|
170
212
|
see [cURL Website](http://curl.haxx.se/ca/)
|
171
213
|
|
214
|
+
You can confirm wit `ruby -ropenssl -e 'p OpenSSL::X509::DEFAULT_CERT_FILE'`.
|
172
215
|
|
173
|
-
### Windows User
|
216
|
+
### Windows User: Making your SSL Certificate permanent via your PATH
|
174
217
|
|
175
218
|
1. Download this [cacert.pem](http://curl.haxx.se/ca/cacert.pem) (cURL) into your HOME directory.
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
219
|
+
* or directly select cacert.pem from your oddb2xml-x.x.x gems directory.
|
220
|
+
* tools/cacert.pem is bundled with the oddb2xml gem.
|
221
|
+
2. Then Choose Menu "Control Panel" > "System" > "Advanced system settings"
|
222
|
+
* This opens the "System Properties" Window.
|
223
|
+
3. Click "Advanced" Tab.
|
224
|
+
4. Click "Environment Variables" button.
|
225
|
+
5. Add set variable entry "SSL\_CERT\_FILE=%HOMEPATH%\cacert.pem"
|
226
|
+
* Variable name: SSL\_CCERT\_FILE
|
227
|
+
* Variable value: %HOMEPATH%\cacert.pem
|
228
|
+
* with "New..." button into upper are "User variables for xxx"
|
229
|
+
6. Do not remove this cacert.pem. All SSLv3 connections use this file.
|
230
|
+
|
231
|
+
### win_fetch_cacerts.rb
|
232
|
+
You can also run
|
233
|
+
|
234
|
+
* tools/win_fetch_cacerts.rb
|
235
|
+
|
236
|
+
for your currently open Terminal to download and set the Certificate.
|
data/lib/oddb2xml/builder.rb
CHANGED
@@ -52,7 +52,8 @@ module Oddb2xml
|
|
52
52
|
end
|
53
53
|
end
|
54
54
|
private
|
55
|
-
def prepare_articles
|
55
|
+
def prepare_articles(reset=false)
|
56
|
+
@articles = nil if reset
|
56
57
|
unless @articles
|
57
58
|
@articles = [] # base is 'DE'
|
58
59
|
@index['DE'].each_pair do |pharmacode, index|
|
@@ -735,10 +736,16 @@ module Oddb2xml
|
|
735
736
|
de_pac = obj[:de]
|
736
737
|
# Oddb2tdat.parse
|
737
738
|
if obj[:de][:status] =~ /A|I/
|
738
|
-
pac = nil
|
739
|
+
pac,num = nil, nil
|
739
740
|
if obj[:seq]
|
740
741
|
pac = obj[:seq][:packages][de_pac[:pharmacode]]
|
741
742
|
end
|
743
|
+
# :swissmedic_number
|
744
|
+
if de_pac[:ean].length == 13
|
745
|
+
num = de_pac[:ean][4,8].intern
|
746
|
+
elsif pac
|
747
|
+
num = pac[:swissmedic_number].intern
|
748
|
+
end
|
742
749
|
row << "%#{DAT_LEN[:RECA]}s" % '11'
|
743
750
|
row << "%#{DAT_LEN[:CMUT]}s" % if (phar = de_pac[:pharmacode] and phar.size > 3) # does not check expiration_date
|
744
751
|
obj[:de][:status] == "I" ? '3' : '1'
|
@@ -753,15 +760,31 @@ module Oddb2xml
|
|
753
760
|
).to_s[0, DAT_LEN[:ABEZ]].gsub(/"/, '')
|
754
761
|
row << "%#{DAT_LEN[:PRMO]}s" % (pac ? format_price(pac[:prices][:exf_price][:price].to_s) : ('0' * DAT_LEN[:PRMO]))
|
755
762
|
row << "%#{DAT_LEN[:PRPU]}s" % (pac ? format_price(pac[:prices][:pub_price][:price].to_s) : ('0' * DAT_LEN[:PRPU]))
|
756
|
-
row << "%#{DAT_LEN[:CKZL]}s" % '3' # sl_entry
|
757
|
-
row << "%#{DAT_LEN[:CLAG]}s" %
|
758
|
-
|
759
|
-
|
760
|
-
|
763
|
+
row << "%#{DAT_LEN[:CKZL]}s" % (pac ? '1' : '3') # sl_entry or not
|
764
|
+
row << "%#{DAT_LEN[:CLAG]}s" % if ((num && num.to_s =~ /(\d{5})(\d{3})/) and
|
765
|
+
@fridges.include?($1.to_s))
|
766
|
+
'1'
|
767
|
+
else
|
768
|
+
'0'
|
769
|
+
end
|
770
|
+
row << "%#{DAT_LEN[:CBGG]}s" % if ((pac && pac[:narcosis_flag] == 'Y') or # BAGXml
|
771
|
+
(@flags[de_pac[:ean]])) # ywesee BM_update
|
772
|
+
'3'
|
761
773
|
else
|
762
774
|
'0'
|
763
775
|
end
|
764
|
-
row << "
|
776
|
+
row << "%#{DAT_LEN[:CIKS]}s" % if (pac && pac[:swissmedic_category] =~ /^[ABCDE]$/) # BAGXml
|
777
|
+
pac[:swissmedic_category]
|
778
|
+
elsif (@packs[num]) # Packungen.xls
|
779
|
+
@packs[num][:swissmedic_category]
|
780
|
+
else
|
781
|
+
'0'
|
782
|
+
end.gsub(/(\+|\s)/, '')
|
783
|
+
row << "%0#{DAT_LEN[:ITHE]}d" % if (pac && @packs[num])
|
784
|
+
format_date(@packs[num][:ith_swissmedic])
|
785
|
+
else
|
786
|
+
('0' * DAT_LEN[:ITHE])
|
787
|
+
end.to_i
|
765
788
|
row << "%0#{DAT_LEN[:CEAN]}d" % de_pac[:ean].to_i
|
766
789
|
row << "%#{DAT_LEN[:CMWS]}s" % '2' # pharma
|
767
790
|
rows << row
|
@@ -770,7 +793,8 @@ module Oddb2xml
|
|
770
793
|
rows.join("\n")
|
771
794
|
end
|
772
795
|
def build_with_migel_dat
|
773
|
-
|
796
|
+
reset = true
|
797
|
+
prepare_articles(reset)
|
774
798
|
rows = []
|
775
799
|
@articles.each do |obj|
|
776
800
|
row = ''
|
data/lib/oddb2xml/cli.rb
CHANGED
@@ -57,14 +57,6 @@ module Oddb2xml
|
|
57
57
|
@actions = EphaExtractor.new(str).to_arry
|
58
58
|
end
|
59
59
|
end
|
60
|
-
# ywesee
|
61
|
-
threads << Thread.new do
|
62
|
-
downloader = YweseeBMDownloader.new
|
63
|
-
str = downloader.download
|
64
|
-
@mutex.synchronize do
|
65
|
-
@flags = YweseeBMExtractor.new(str).to_hash
|
66
|
-
end
|
67
|
-
end
|
68
60
|
else # dat
|
69
61
|
# swissmedic - package
|
70
62
|
threads << Thread.new do
|
@@ -75,6 +67,14 @@ module Oddb2xml
|
|
75
67
|
end
|
76
68
|
end
|
77
69
|
end
|
70
|
+
# ywesee
|
71
|
+
threads << Thread.new do
|
72
|
+
downloader = YweseeBMDownloader.new
|
73
|
+
str = downloader.download
|
74
|
+
@mutex.synchronize do
|
75
|
+
@flags = YweseeBMExtractor.new(str).to_hash
|
76
|
+
end
|
77
|
+
end
|
78
78
|
# bag
|
79
79
|
threads << Thread.new do
|
80
80
|
downloader = BagXmlDownloader.new(@options)
|
@@ -129,22 +129,18 @@ module Oddb2xml
|
|
129
129
|
begin
|
130
130
|
files.each_pair do |sbj, file|
|
131
131
|
builder = Builder.new do |builder|
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
# to fix @index structure
|
137
|
-
if @options[:format] == :dat
|
138
|
-
type = (sbj == :dat ? :pharma : :nonpharma)
|
139
|
-
index[lang] = @index[lang][type]
|
140
|
-
else
|
132
|
+
if @options[:format] != :dat
|
133
|
+
index = {}
|
134
|
+
LANGUAGES.each do |lang|
|
135
|
+
index[lang] = {} unless index[lang]
|
141
136
|
types.each do |type|
|
142
137
|
index[lang].merge!(@index[lang][type]) if @index[lang][type]
|
143
138
|
end
|
144
139
|
end
|
140
|
+
builder.index = index
|
141
|
+
builder.subject = sbj
|
145
142
|
end
|
146
|
-
|
147
|
-
builder.index = index
|
143
|
+
# common sources
|
148
144
|
builder.items = @items
|
149
145
|
builder.flags = @flags
|
150
146
|
# additions
|
@@ -158,7 +154,17 @@ module Oddb2xml
|
|
158
154
|
end
|
159
155
|
output = ''
|
160
156
|
if @options[:format] == :dat
|
161
|
-
|
157
|
+
types.each do |type|
|
158
|
+
index = {}
|
159
|
+
LANGUAGES.each do |lang|
|
160
|
+
index[lang] = @index[lang][type]
|
161
|
+
end
|
162
|
+
builder.index = index
|
163
|
+
_sbj = (type == :pharma ? :dat : :with_migel_dat)
|
164
|
+
builder.subject = _sbj
|
165
|
+
output << "\n" if _sbj == :nonpharma
|
166
|
+
output << builder.to_dat
|
167
|
+
end
|
162
168
|
else
|
163
169
|
output = builder.to_xml
|
164
170
|
end
|
@@ -187,8 +193,8 @@ module Oddb2xml
|
|
187
193
|
@_files = {}
|
188
194
|
if @options[:format] == :dat
|
189
195
|
@_files[:dat] = "#{prefix}.dat"
|
190
|
-
if @options[:nonpharma]
|
191
|
-
@_files[:
|
196
|
+
if @options[:nonpharma] # into one file
|
197
|
+
@_files[:dat] = "#{prefix}_with_migel.dat"
|
192
198
|
end
|
193
199
|
else # xml
|
194
200
|
##
|
data/lib/oddb2xml/extractor.rb
CHANGED
@@ -166,11 +166,15 @@ module Oddb2xml
|
|
166
166
|
case @type
|
167
167
|
when :packages
|
168
168
|
i_5,i_3 = 0,10 # :swissmedic_number
|
169
|
+
cat = 13 # :swissmedic_category
|
169
170
|
ith = 4 # :ith_swissmedic (swissmedic-diff)
|
170
171
|
@sheet.each do |row|
|
171
172
|
no8 = extract_number(row, i_5).to_s + extract_number(row, i_3, /^\d{3}$/).to_s
|
172
173
|
unless no8.empty?
|
173
|
-
data[no8.intern] =
|
174
|
+
data[no8.intern] = {
|
175
|
+
:ith_swissmedic => row[ith].to_s,
|
176
|
+
:swissmedic_category => row[cat].to_s,
|
177
|
+
}
|
174
178
|
end
|
175
179
|
end
|
176
180
|
end
|
data/lib/oddb2xml/version.rb
CHANGED
metadata
CHANGED
@@ -1,218 +1,168 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: oddb2xml
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.2.3
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 2
|
9
|
-
- 2
|
10
|
-
version: 1.2.2
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Yasuhiro Asaka, Zeno R.R. Davatz
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2013-01-25 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
21
15
|
name: rubyzip
|
22
|
-
|
23
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &12392380 !ruby/object:Gem::Requirement
|
24
17
|
none: false
|
25
|
-
requirements:
|
26
|
-
- -
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
|
29
|
-
segments:
|
30
|
-
- 0
|
31
|
-
version: "0"
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
32
22
|
type: :runtime
|
33
|
-
version_requirements: *id001
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
|
-
name: archive-tar-minitar
|
36
23
|
prerelease: false
|
37
|
-
|
24
|
+
version_requirements: *12392380
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: archive-tar-minitar
|
27
|
+
requirement: &12391500 !ruby/object:Gem::Requirement
|
38
28
|
none: false
|
39
|
-
requirements:
|
40
|
-
- -
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
|
43
|
-
segments:
|
44
|
-
- 0
|
45
|
-
version: "0"
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
46
33
|
type: :runtime
|
47
|
-
version_requirements: *id002
|
48
|
-
- !ruby/object:Gem::Dependency
|
49
|
-
name: mechanize
|
50
34
|
prerelease: false
|
51
|
-
|
35
|
+
version_requirements: *12391500
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: mechanize
|
38
|
+
requirement: &12390520 !ruby/object:Gem::Requirement
|
52
39
|
none: false
|
53
|
-
requirements:
|
54
|
-
- -
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
|
57
|
-
segments:
|
58
|
-
- 0
|
59
|
-
version: "0"
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
60
44
|
type: :runtime
|
61
|
-
version_requirements: *id003
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: nokogiri
|
64
45
|
prerelease: false
|
65
|
-
|
46
|
+
version_requirements: *12390520
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: nokogiri
|
49
|
+
requirement: &12389260 !ruby/object:Gem::Requirement
|
66
50
|
none: false
|
67
|
-
requirements:
|
68
|
-
- -
|
69
|
-
- !ruby/object:Gem::Version
|
70
|
-
|
71
|
-
segments:
|
72
|
-
- 0
|
73
|
-
version: "0"
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
74
55
|
type: :runtime
|
75
|
-
version_requirements: *id004
|
76
|
-
- !ruby/object:Gem::Dependency
|
77
|
-
name: savon
|
78
56
|
prerelease: false
|
79
|
-
|
57
|
+
version_requirements: *12389260
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: savon
|
60
|
+
requirement: &12387620 !ruby/object:Gem::Requirement
|
80
61
|
none: false
|
81
|
-
requirements:
|
82
|
-
- -
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
|
85
|
-
segments:
|
86
|
-
- 2
|
87
|
-
- 0
|
88
|
-
version: "2.0"
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '2.0'
|
89
66
|
type: :runtime
|
90
|
-
version_requirements: *id005
|
91
|
-
- !ruby/object:Gem::Dependency
|
92
|
-
name: spreadsheet
|
93
67
|
prerelease: false
|
94
|
-
|
68
|
+
version_requirements: *12387620
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: spreadsheet
|
71
|
+
requirement: &12386440 !ruby/object:Gem::Requirement
|
95
72
|
none: false
|
96
|
-
requirements:
|
97
|
-
- -
|
98
|
-
- !ruby/object:Gem::Version
|
99
|
-
|
100
|
-
segments:
|
101
|
-
- 0
|
102
|
-
version: "0"
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
103
77
|
type: :runtime
|
104
|
-
version_requirements: *id006
|
105
|
-
- !ruby/object:Gem::Dependency
|
106
|
-
name: rspec
|
107
78
|
prerelease: false
|
108
|
-
|
79
|
+
version_requirements: *12386440
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: rspec
|
82
|
+
requirement: &12385520 !ruby/object:Gem::Requirement
|
109
83
|
none: false
|
110
|
-
requirements:
|
111
|
-
- -
|
112
|
-
- !ruby/object:Gem::Version
|
113
|
-
|
114
|
-
segments:
|
115
|
-
- 0
|
116
|
-
version: "0"
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
117
88
|
type: :development
|
118
|
-
version_requirements: *id007
|
119
|
-
- !ruby/object:Gem::Dependency
|
120
|
-
name: webmock
|
121
89
|
prerelease: false
|
122
|
-
|
90
|
+
version_requirements: *12385520
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
name: webmock
|
93
|
+
requirement: &12384700 !ruby/object:Gem::Requirement
|
123
94
|
none: false
|
124
|
-
requirements:
|
125
|
-
- -
|
126
|
-
- !ruby/object:Gem::Version
|
127
|
-
|
128
|
-
segments:
|
129
|
-
- 0
|
130
|
-
version: "0"
|
95
|
+
requirements:
|
96
|
+
- - ! '>='
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
131
99
|
type: :development
|
132
|
-
version_requirements: *id008
|
133
|
-
- !ruby/object:Gem::Dependency
|
134
|
-
name: ZenTest
|
135
100
|
prerelease: false
|
136
|
-
|
101
|
+
version_requirements: *12384700
|
102
|
+
- !ruby/object:Gem::Dependency
|
103
|
+
name: ZenTest
|
104
|
+
requirement: &12383480 !ruby/object:Gem::Requirement
|
137
105
|
none: false
|
138
|
-
requirements:
|
139
|
-
- -
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
|
142
|
-
segments:
|
143
|
-
- 0
|
144
|
-
version: "0"
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
145
110
|
type: :development
|
146
|
-
version_requirements: *id009
|
147
|
-
- !ruby/object:Gem::Dependency
|
148
|
-
name: hoe
|
149
111
|
prerelease: false
|
150
|
-
|
112
|
+
version_requirements: *12383480
|
113
|
+
- !ruby/object:Gem::Dependency
|
114
|
+
name: hoe
|
115
|
+
requirement: &12382600 !ruby/object:Gem::Requirement
|
151
116
|
none: false
|
152
|
-
requirements:
|
153
|
-
- -
|
154
|
-
- !ruby/object:Gem::Version
|
155
|
-
|
156
|
-
segments:
|
157
|
-
- 3
|
158
|
-
- 4
|
159
|
-
version: "3.4"
|
117
|
+
requirements:
|
118
|
+
- - ! '>='
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: '3.4'
|
160
121
|
type: :development
|
161
|
-
version_requirements: *id010
|
162
|
-
- !ruby/object:Gem::Dependency
|
163
|
-
name: rdoc
|
164
122
|
prerelease: false
|
165
|
-
|
123
|
+
version_requirements: *12382600
|
124
|
+
- !ruby/object:Gem::Dependency
|
125
|
+
name: rdoc
|
126
|
+
requirement: &12381680 !ruby/object:Gem::Requirement
|
166
127
|
none: false
|
167
|
-
requirements:
|
168
|
-
- -
|
169
|
-
- !ruby/object:Gem::Version
|
170
|
-
|
171
|
-
segments:
|
172
|
-
- 0
|
173
|
-
version: "0"
|
128
|
+
requirements:
|
129
|
+
- - ! '>='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
174
132
|
type: :development
|
175
|
-
version_requirements: *id011
|
176
|
-
- !ruby/object:Gem::Dependency
|
177
|
-
name: rdoc
|
178
133
|
prerelease: false
|
179
|
-
|
134
|
+
version_requirements: *12381680
|
135
|
+
- !ruby/object:Gem::Dependency
|
136
|
+
name: rdoc
|
137
|
+
requirement: &12380280 !ruby/object:Gem::Requirement
|
180
138
|
none: false
|
181
|
-
requirements:
|
139
|
+
requirements:
|
182
140
|
- - ~>
|
183
|
-
- !ruby/object:Gem::Version
|
184
|
-
|
185
|
-
segments:
|
186
|
-
- 3
|
187
|
-
- 10
|
188
|
-
version: "3.10"
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: '3.10'
|
189
143
|
type: :development
|
190
|
-
version_requirements: *id012
|
191
|
-
- !ruby/object:Gem::Dependency
|
192
|
-
name: hoe
|
193
144
|
prerelease: false
|
194
|
-
|
145
|
+
version_requirements: *12380280
|
146
|
+
- !ruby/object:Gem::Dependency
|
147
|
+
name: hoe
|
148
|
+
requirement: &12379200 !ruby/object:Gem::Requirement
|
195
149
|
none: false
|
196
|
-
requirements:
|
150
|
+
requirements:
|
197
151
|
- - ~>
|
198
|
-
- !ruby/object:Gem::Version
|
199
|
-
|
200
|
-
segments:
|
201
|
-
- 2
|
202
|
-
- 13
|
203
|
-
version: "2.13"
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: '2.13'
|
204
154
|
type: :development
|
205
|
-
|
155
|
+
prerelease: false
|
156
|
+
version_requirements: *12379200
|
206
157
|
description: oddb2xml creates xml files using swissINDEX, BAG-XML and Swissmedic.
|
207
158
|
email: yasaka@ywesee.com, zdavatz@ywesee.com
|
208
|
-
executables:
|
159
|
+
executables:
|
209
160
|
- oddb2xml
|
210
161
|
extensions: []
|
211
|
-
|
212
|
-
extra_rdoc_files:
|
162
|
+
extra_rdoc_files:
|
213
163
|
- History.txt
|
214
164
|
- Manifest.txt
|
215
|
-
files:
|
165
|
+
files:
|
216
166
|
- .gitignore
|
217
167
|
- .rspec
|
218
168
|
- Gemfile
|
@@ -263,37 +213,28 @@ files:
|
|
263
213
|
- .gemtest
|
264
214
|
homepage:
|
265
215
|
licenses: []
|
266
|
-
|
267
216
|
post_install_message:
|
268
|
-
rdoc_options:
|
217
|
+
rdoc_options:
|
269
218
|
- --main
|
270
219
|
- README.txt
|
271
|
-
require_paths:
|
220
|
+
require_paths:
|
272
221
|
- lib
|
273
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
222
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
274
223
|
none: false
|
275
|
-
requirements:
|
276
|
-
- -
|
277
|
-
- !ruby/object:Gem::Version
|
278
|
-
|
279
|
-
|
280
|
-
- 0
|
281
|
-
version: "0"
|
282
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
224
|
+
requirements:
|
225
|
+
- - ! '>='
|
226
|
+
- !ruby/object:Gem::Version
|
227
|
+
version: '0'
|
228
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
283
229
|
none: false
|
284
|
-
requirements:
|
285
|
-
- -
|
286
|
-
- !ruby/object:Gem::Version
|
287
|
-
|
288
|
-
segments:
|
289
|
-
- 0
|
290
|
-
version: "0"
|
230
|
+
requirements:
|
231
|
+
- - ! '>='
|
232
|
+
- !ruby/object:Gem::Version
|
233
|
+
version: '0'
|
291
234
|
requirements: []
|
292
|
-
|
293
235
|
rubyforge_project: oddb2xml
|
294
236
|
rubygems_version: 1.8.15
|
295
237
|
signing_key:
|
296
238
|
specification_version: 3
|
297
239
|
summary: oddb2xml creates xml files.
|
298
240
|
test_files: []
|
299
|
-
|