im_onix 1.1.1 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -6
- data/README.md +1 -1
- data/bin/html_codelist_to_yml.rb +10 -6
- data/bin/onix_bench.rb +25 -4
- data/bin/onix_pp.rb +26 -26
- data/bin/onix_serialize.rb +12 -16
- data/data/codelists/codelist-1.yml +4 -5
- data/data/codelists/codelist-10.yml +13 -11
- data/data/codelists/codelist-100.yml +1 -0
- data/data/codelists/codelist-102.yml +3 -2
- data/data/codelists/codelist-11.yml +2 -2
- data/data/codelists/codelist-12.yml +8 -3
- data/data/codelists/codelist-121.yml +46 -17
- data/data/codelists/codelist-13.yml +3 -0
- data/data/codelists/codelist-139.yml +83 -9
- data/data/codelists/codelist-141.yml +4 -4
- data/data/codelists/codelist-142.yml +2 -2
- data/data/codelists/codelist-143.yml +11 -0
- data/data/codelists/codelist-144.yml +2 -2
- data/data/codelists/codelist-145.yml +4 -1
- data/data/codelists/codelist-147.yml +18 -2
- data/data/codelists/codelist-149.yml +1 -0
- data/data/codelists/codelist-15.yml +2 -1
- data/data/codelists/codelist-150.yml +46 -26
- data/data/codelists/codelist-151.yml +4 -1
- data/data/codelists/codelist-153.yml +19 -4
- data/data/codelists/codelist-154.yml +4 -2
- data/data/codelists/codelist-155.yml +3 -1
- data/data/codelists/codelist-156.yml +1 -0
- data/data/codelists/codelist-158.yml +18 -0
- data/data/codelists/codelist-159.yml +1 -1
- data/data/codelists/codelist-16.yml +3 -0
- data/data/codelists/codelist-160.yml +2 -0
- data/data/codelists/codelist-162.yml +2 -0
- data/data/codelists/codelist-163.yml +8 -3
- data/data/codelists/codelist-165.yml +3 -0
- data/data/codelists/codelist-166.yml +7 -2
- data/data/codelists/codelist-167.yml +6 -0
- data/data/codelists/codelist-168.yml +1 -0
- data/data/codelists/codelist-169.yml +2 -2
- data/data/codelists/codelist-17.yml +20 -2
- data/data/codelists/codelist-170.yml +5 -1
- data/data/codelists/codelist-171.yml +1 -0
- data/data/codelists/codelist-173.yml +1 -1
- data/data/codelists/codelist-175.yml +113 -35
- data/data/codelists/codelist-176.yml +2 -2
- data/data/codelists/codelist-177.yml +1 -0
- data/data/codelists/codelist-178.yml +6 -0
- data/data/codelists/codelist-179.yml +1 -0
- data/data/codelists/codelist-18.yml +3 -1
- data/data/codelists/codelist-184.yml +1 -0
- data/data/codelists/codelist-19.yml +5 -4
- data/data/codelists/codelist-196.yml +16 -4
- data/data/codelists/codelist-197.yml +2 -0
- data/data/codelists/codelist-198.yml +7 -0
- data/data/codelists/codelist-2.yml +6 -6
- data/data/codelists/codelist-20.yml +10 -1
- data/data/codelists/codelist-203.yml +1 -1
- data/data/codelists/codelist-204.yml +4 -0
- data/data/codelists/codelist-21.yml +24 -19
- data/data/codelists/codelist-215.yml +9 -0
- data/data/codelists/codelist-216.yml +11 -0
- data/data/codelists/codelist-217.yml +9 -0
- data/data/codelists/codelist-218.yml +5 -0
- data/data/codelists/codelist-219.yml +5 -0
- data/data/codelists/codelist-22.yml +5 -4
- data/data/codelists/codelist-220.yml +10 -0
- data/data/codelists/codelist-221.yml +6 -0
- data/data/codelists/codelist-222.yml +4 -0
- data/data/codelists/codelist-223.yml +4 -0
- data/data/codelists/codelist-224.yml +8 -0
- data/data/codelists/codelist-225.yml +4 -0
- data/data/codelists/codelist-226.yml +7 -0
- data/data/codelists/codelist-227.yml +21 -0
- data/data/codelists/codelist-228.yml +3 -0
- data/data/codelists/codelist-229.yml +5 -0
- data/data/codelists/codelist-23.yml +5 -3
- data/data/codelists/codelist-230.yml +8 -0
- data/data/codelists/codelist-238.yml +23 -0
- data/data/codelists/codelist-239.yml +4 -0
- data/data/codelists/codelist-24.yml +3 -0
- data/data/codelists/codelist-240.yml +6 -0
- data/data/codelists/codelist-241.yml +9 -0
- data/data/codelists/codelist-242.yml +24 -0
- data/data/codelists/codelist-243.yml +9 -0
- data/data/codelists/codelist-244.yml +3 -0
- data/data/codelists/codelist-245.yml +5 -0
- data/data/codelists/codelist-246.yml +4 -0
- data/data/codelists/codelist-247.yml +4 -0
- data/data/codelists/codelist-25.yml +4 -2
- data/data/codelists/codelist-26.yml +28 -18
- data/data/codelists/codelist-27.yml +35 -19
- data/data/codelists/codelist-28.yml +2 -1
- data/data/codelists/codelist-29.yml +8 -3
- data/data/codelists/codelist-3.yml +5 -2
- data/data/codelists/codelist-30.yml +6 -2
- data/data/codelists/codelist-32.yml +7 -0
- data/data/codelists/codelist-33.yml +6 -2
- data/data/codelists/codelist-34.yml +0 -11
- data/data/codelists/codelist-38.yml +1 -1
- data/data/codelists/codelist-39.yml +2 -2
- data/data/codelists/codelist-41.yml +4 -3
- data/data/codelists/codelist-42.yml +0 -12
- data/data/codelists/codelist-43.yml +3 -1
- data/data/codelists/codelist-44.yml +16 -3
- data/data/codelists/codelist-45.yml +8 -3
- data/data/codelists/codelist-46.yml +4 -4
- data/data/codelists/codelist-48.yml +20 -2
- data/data/codelists/codelist-49.yml +268 -1
- data/data/codelists/codelist-5.yml +6 -3
- data/data/codelists/codelist-51.yml +11 -5
- data/data/codelists/codelist-55.yml +2 -2
- data/data/codelists/codelist-57.yml +1 -0
- data/data/codelists/codelist-58.yml +14 -12
- data/data/codelists/codelist-59.yml +10 -1
- data/data/codelists/codelist-6.yml +39 -39
- data/data/codelists/codelist-60.yml +1 -1
- data/data/codelists/codelist-62.yml +2 -1
- data/data/codelists/codelist-64.yml +3 -2
- data/data/codelists/codelist-65.yml +1 -0
- data/data/codelists/codelist-68.yml +2 -2
- data/data/codelists/codelist-69.yml +2 -2
- data/data/codelists/codelist-7.yml +21 -17
- data/data/codelists/codelist-71.yml +16 -6
- data/data/codelists/codelist-73.yml +7 -5
- data/data/codelists/codelist-74.yml +59 -31
- data/data/codelists/codelist-75.yml +1 -1
- data/data/codelists/codelist-76.yml +3 -3
- data/data/codelists/codelist-78.yml +52 -26
- data/data/codelists/codelist-79.yml +16 -7
- data/data/codelists/codelist-8.yml +3 -3
- data/data/codelists/codelist-80.yml +6 -5
- data/data/codelists/codelist-81.yml +8 -5
- data/data/codelists/codelist-83.yml +3 -2
- data/data/codelists/codelist-85.yml +1 -1
- data/data/codelists/codelist-9.yml +7 -3
- data/data/codelists/codelist-90.yml +2 -2
- data/data/codelists/codelist-91.yml +11 -11
- data/data/codelists/codelist-92.yml +1 -1
- data/data/codelists/codelist-93.yml +9 -6
- data/data/codelists/codelist-96.yml +45 -40
- data/data/codelists/codelist-98.yml +6 -3
- data/data/codelists/codelist-99.yml +8 -5
- data/data/onix21/codelists/codelist-1.yml +2 -2
- data/data/onix21/codelists/codelist-10.yml +12 -12
- data/data/onix21/codelists/codelist-11.yml +2 -2
- data/data/onix21/codelists/codelist-12.yml +3 -3
- data/data/onix21/codelists/codelist-121.yml +9 -9
- data/data/onix21/codelists/codelist-13.yml +1 -1
- data/data/onix21/codelists/codelist-139.yml +6 -6
- data/data/onix21/codelists/codelist-141.yml +4 -4
- data/data/onix21/codelists/codelist-142.yml +2 -2
- data/data/onix21/codelists/codelist-145.yml +2 -2
- data/data/onix21/codelists/codelist-147.yml +2 -2
- data/data/onix21/codelists/codelist-148.yml +1 -1
- data/data/onix21/codelists/codelist-149.yml +1 -1
- data/data/onix21/codelists/codelist-15.yml +1 -1
- data/data/onix21/codelists/codelist-150.yml +23 -23
- data/data/onix21/codelists/codelist-151.yml +1 -1
- data/data/onix21/codelists/codelist-153.yml +3 -3
- data/data/onix21/codelists/codelist-154.yml +2 -2
- data/data/onix21/codelists/codelist-155.yml +1 -1
- data/data/onix21/codelists/codelist-158.yml +2 -2
- data/data/onix21/codelists/codelist-159.yml +1 -1
- data/data/onix21/codelists/codelist-163.yml +2 -2
- data/data/onix21/codelists/codelist-166.yml +1 -1
- data/data/onix21/codelists/codelist-169.yml +2 -2
- data/data/onix21/codelists/codelist-17.yml +2 -2
- data/data/onix21/codelists/codelist-173.yml +1 -1
- data/data/onix21/codelists/codelist-175.yml +23 -23
- data/data/onix21/codelists/codelist-176.yml +2 -2
- data/data/onix21/codelists/codelist-18.yml +1 -1
- data/data/onix21/codelists/codelist-196.yml +4 -4
- data/data/onix21/codelists/codelist-2.yml +6 -6
- data/data/onix21/codelists/codelist-203.yml +1 -1
- data/data/onix21/codelists/codelist-21.yml +1 -1
- data/data/onix21/codelists/codelist-216.yml +2 -2
- data/data/onix21/codelists/codelist-218.yml +1 -1
- data/data/onix21/codelists/codelist-22.yml +3 -3
- data/data/onix21/codelists/codelist-23.yml +2 -2
- data/data/onix21/codelists/codelist-25.yml +2 -2
- data/data/onix21/codelists/codelist-26.yml +18 -18
- data/data/onix21/codelists/codelist-27.yml +18 -18
- data/data/onix21/codelists/codelist-28.yml +1 -1
- data/data/onix21/codelists/codelist-29.yml +3 -3
- data/data/onix21/codelists/codelist-3.yml +2 -2
- data/data/onix21/codelists/codelist-30.yml +1 -1
- data/data/onix21/codelists/codelist-32.yml +1 -1
- data/data/onix21/codelists/codelist-33.yml +2 -2
- data/data/onix21/codelists/codelist-34.yml +2 -2
- data/data/onix21/codelists/codelist-38.yml +1 -1
- data/data/onix21/codelists/codelist-39.yml +2 -2
- data/data/onix21/codelists/codelist-41.yml +3 -3
- data/data/onix21/codelists/codelist-43.yml +1 -1
- data/data/onix21/codelists/codelist-44.yml +2 -2
- data/data/onix21/codelists/codelist-45.yml +4 -4
- data/data/onix21/codelists/codelist-46.yml +3 -3
- data/data/onix21/codelists/codelist-48.yml +2 -2
- data/data/onix21/codelists/codelist-49.yml +12 -12
- data/data/onix21/codelists/codelist-5.yml +3 -3
- data/data/onix21/codelists/codelist-51.yml +3 -3
- data/data/onix21/codelists/codelist-55.yml +2 -2
- data/data/onix21/codelists/codelist-58.yml +10 -10
- data/data/onix21/codelists/codelist-59.yml +2 -2
- data/data/onix21/codelists/codelist-6.yml +36 -36
- data/data/onix21/codelists/codelist-60.yml +1 -1
- data/data/onix21/codelists/codelist-62.yml +1 -1
- data/data/onix21/codelists/codelist-64.yml +2 -2
- data/data/onix21/codelists/codelist-68.yml +2 -2
- data/data/onix21/codelists/codelist-69.yml +2 -2
- data/data/onix21/codelists/codelist-7.yml +17 -17
- data/data/onix21/codelists/codelist-71.yml +2 -2
- data/data/onix21/codelists/codelist-73.yml +5 -5
- data/data/onix21/codelists/codelist-74.yml +28 -28
- data/data/onix21/codelists/codelist-75.yml +1 -1
- data/data/onix21/codelists/codelist-76.yml +3 -3
- data/data/onix21/codelists/codelist-78.yml +24 -24
- data/data/onix21/codelists/codelist-79.yml +6 -6
- data/data/onix21/codelists/codelist-8.yml +3 -3
- data/data/onix21/codelists/codelist-80.yml +5 -5
- data/data/onix21/codelists/codelist-81.yml +4 -4
- data/data/onix21/codelists/codelist-83.yml +2 -2
- data/data/onix21/codelists/codelist-85.yml +1 -1
- data/data/onix21/codelists/codelist-9.yml +3 -3
- data/data/onix21/codelists/codelist-90.yml +2 -2
- data/data/onix21/codelists/codelist-91.yml +6 -6
- data/data/onix21/codelists/codelist-92.yml +1 -1
- data/data/onix21/codelists/codelist-93.yml +6 -6
- data/data/onix21/codelists/codelist-96.yml +1 -1
- data/data/onix21/codelists/codelist-98.yml +2 -2
- data/data/onix21/codelists/codelist-99.yml +4 -4
- data/doc-src/handlers.rb +32 -2
- data/im_onix.gemspec +3 -1
- data/lib/onix/addressee.rb +5 -3
- data/lib/onix/ancillary_content.rb +7 -0
- data/lib/onix/audience.rb +7 -0
- data/lib/onix/audience_range.rb +10 -0
- data/lib/onix/barcode.rb +6 -0
- data/lib/onix/builder.rb +197 -0
- data/lib/onix/cited_content.rb +15 -0
- data/lib/onix/code.rb +322 -42
- data/lib/onix/collateral_detail.rb +9 -13
- data/lib/onix/collection.rb +14 -4
- data/lib/onix/collection_sequence.rb +3 -3
- data/lib/onix/comparison_product_price.rb +17 -0
- data/lib/onix/complexity.rb +6 -0
- data/lib/onix/content_detail.rb +7 -0
- data/lib/onix/content_item.rb +38 -0
- data/lib/onix/contributor.rb +56 -34
- data/lib/onix/contributor_place.rb +12 -0
- data/lib/onix/copyright_statement.rb +8 -0
- data/lib/onix/date.rb +107 -56
- data/lib/onix/descriptive_detail.rb +98 -49
- data/lib/onix/discount.rb +9 -0
- data/lib/onix/discount_coded.rb +3 -3
- data/lib/onix/entity.rb +22 -37
- data/lib/onix/epub_license.rb +8 -0
- data/lib/onix/epub_license_expression.rb +7 -0
- data/lib/onix/epub_usage_constraint.rb +5 -3
- data/lib/onix/epub_usage_limit.rb +2 -2
- data/lib/onix/error.rb +2 -0
- data/lib/onix/extent.rb +4 -3
- data/lib/onix/header.rb +17 -0
- data/lib/onix/helper.rb +3 -12
- data/lib/onix/identifier.rb +81 -57
- data/lib/onix/language.rb +5 -2
- data/lib/onix/market.rb +2 -1
- data/lib/onix/market_publishing_detail.rb +14 -3
- data/lib/onix/measure.rb +7 -0
- data/lib/onix/onix21.rb +26 -24
- data/lib/onix/onix_message.rb +40 -48
- data/lib/onix/page_run.rb +6 -0
- data/lib/onix/price.rb +44 -11
- data/lib/onix/prize.rb +11 -0
- data/lib/onix/product.rb +45 -17
- data/lib/onix/product_classification.rb +8 -0
- data/lib/onix/product_contact.rb +11 -0
- data/lib/onix/product_part.rb +25 -10
- data/lib/onix/{product_supplies_extractor.rb → product_supplies_methods.rb} +3 -3
- data/lib/onix/product_supply.rb +4 -3
- data/lib/onix/professional_affiliation.rb +6 -0
- data/lib/onix/publisher_representative.rb +11 -0
- data/lib/onix/publishing_detail.rb +22 -9
- data/lib/onix/related_material.rb +6 -2
- data/lib/onix/related_product.rb +14 -6
- data/lib/onix/related_work.rb +5 -3
- data/lib/onix/resource_feature.rb +9 -0
- data/lib/onix/resource_version.rb +85 -0
- data/lib/onix/resource_version_feature.rb +22 -0
- data/lib/onix/returns_conditions.rb +8 -0
- data/lib/onix/review_rating.rb +7 -0
- data/lib/onix/sales_outlet.rb +12 -2
- data/lib/onix/sales_restriction.rb +7 -16
- data/lib/onix/sales_rights.rb +6 -3
- data/lib/onix/sender.rb +5 -5
- data/lib/onix/serializer.rb +131 -87
- data/lib/onix/subject.rb +11 -6
- data/lib/onix/subset.rb +255 -104
- data/lib/onix/supplier_own_coding.rb +7 -0
- data/lib/onix/supply_contact.rb +9 -0
- data/lib/onix/supply_detail.rb +28 -5
- data/lib/onix/supporting_resource.rb +10 -113
- data/lib/onix/tax.rb +11 -5
- data/lib/onix/territory.rb +8 -4
- data/lib/onix/text_content.rb +13 -0
- data/lib/onix/text_item.rb +12 -0
- data/lib/onix/title_detail.rb +4 -3
- data/lib/onix/title_element.rb +16 -13
- data/lib/onix/website.rb +4 -3
- metadata +89 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1ae373f892a08b5321d26712145417619ca310f6a5d6f7bc67ad42049d65a7c9
|
4
|
+
data.tar.gz: c6b81828cef14da0196bd9e27e5a92fb6e95718e3e7261b8407f346f9e7dfe64
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3595015fab4b4c17898aedbb507189c81ba830cb0c76914b5b280965a574beffcf7bc31f2376c1667568ffadf4e7213b996e91cb89755f2bcee9296bad1a5cd5
|
7
|
+
data.tar.gz: 388f43af3200a38a9d3c20fb1e08e3157a2119a2b6faf91af9505c5b25b36a938c45d3faa6be2ebea90b31dc54bd84f498fa24875d258a067e043b0d0e87e525
|
data/Gemfile
CHANGED
data/README.md
CHANGED
data/bin/html_codelist_to_yml.rb
CHANGED
@@ -4,9 +4,11 @@
|
|
4
4
|
require 'im_onix'
|
5
5
|
require 'nokogiri'
|
6
6
|
require 'yaml'
|
7
|
+
require 'unidecoder'
|
7
8
|
|
8
|
-
# html_codelist_to_yml.rb html_codelist_dir
|
9
|
+
# html_codelist_to_yml.rb html_codelist_dir dest_dir
|
9
10
|
|
11
|
+
# generate YML data/codelists from editeur.org HTML codelists
|
10
12
|
class HTMLCodelist
|
11
13
|
|
12
14
|
private
|
@@ -26,19 +28,21 @@ class HTMLCodelist
|
|
26
28
|
|
27
29
|
# from rails
|
28
30
|
def self.rename(term)
|
29
|
-
term.gsub(/\(|\)
|
31
|
+
result = term.to_ascii.gsub(/\(|\)|\,|'|’|\/|“|”|‘|\.|\:|–|\||\+/, "").gsub(/\-/," ").gsub(/\;/, " Or ").gsub(/\s+/, " ").split(" ").map { |t| t.capitalize }.join("")
|
32
|
+
if result.length > 63
|
33
|
+
puts "WARN: #{result} (#{term}) to long"
|
34
|
+
end
|
35
|
+
result
|
30
36
|
end
|
31
37
|
end
|
32
38
|
|
33
|
-
files = `ls #{ARGV[
|
34
|
-
|
35
|
-
h = {}
|
39
|
+
files = `ls #{ARGV[0]}/*.htm`.split(/\n/)
|
36
40
|
|
37
41
|
files.sort.each do |file|
|
38
42
|
codelist = file.gsub(/.*onix\-codelist\-(.*)\.htm/, '\1').to_i
|
39
43
|
h = HTMLCodelist.parse_codelist(file)
|
40
44
|
|
41
|
-
File.open("
|
45
|
+
File.open("#{ARGV[1]}/codelist-#{codelist}.yml", 'w') do |fw|
|
42
46
|
fw.write({:codelist => h}.to_yaml)
|
43
47
|
end
|
44
48
|
end
|
data/bin/onix_bench.rb
CHANGED
@@ -1,15 +1,36 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
require 'benchmark'
|
3
|
+
require 'objspace'
|
3
4
|
require 'im_onix'
|
4
5
|
|
5
|
-
filename=ARGV[0]
|
6
|
+
filename = ARGV[0]
|
6
7
|
|
7
8
|
if filename
|
8
|
-
|
9
|
-
|
9
|
+
GC.start
|
10
|
+
old_memsize = ObjectSpace.count_objects_size[:TOTAL]
|
11
|
+
|
12
|
+
if ENV['PROFILE'] == 'yes'
|
13
|
+
require 'ruby-prof'
|
14
|
+
RubyProf.start
|
15
|
+
end
|
16
|
+
|
17
|
+
msg = ONIX::ONIXMessage.new
|
18
|
+
bench = Benchmark.measure do
|
10
19
|
msg.parse(filename)
|
11
20
|
end
|
12
|
-
|
21
|
+
|
22
|
+
if ENV['PROFILE'] == 'yes'
|
23
|
+
result = RubyProf.stop
|
24
|
+
printer = RubyProf::FlatPrinter.new(result)
|
25
|
+
printer.print(STDOUT, min_percent: 1.0)
|
26
|
+
|
27
|
+
printer = RubyProf::CallTreePrinter.new(result)
|
28
|
+
printer.print
|
29
|
+
end
|
30
|
+
|
31
|
+
GC.start
|
32
|
+
new_memsize = ObjectSpace.count_objects_size[:TOTAL]
|
33
|
+
puts "Parsed #{msg.products.length} products in #{bench.real.round(3)} seconds resulting in use of #{new_memsize - old_memsize} bytes of memory"
|
13
34
|
else
|
14
35
|
puts "ImOnix parse benchmark"
|
15
36
|
puts "Usage: onix_bench.rb file.xml"
|
data/bin/onix_pp.rb
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
require 'im_onix'
|
3
3
|
|
4
|
-
filename=ARGV[0]
|
5
|
-
version=ARGV[1]
|
6
|
-
encoding=ARGV[2]
|
4
|
+
filename = ARGV[0]
|
5
|
+
version = ARGV[1]
|
6
|
+
encoding = ARGV[2]
|
7
7
|
|
8
8
|
if filename
|
9
|
-
msg=ONIX::ONIXMessage.new
|
10
|
-
msg.parse(filename,encoding,version)
|
9
|
+
msg = ONIX::ONIXMessage.new
|
10
|
+
msg.parse(filename, encoding, version)
|
11
11
|
|
12
12
|
puts "Release: #{msg.release}"
|
13
13
|
|
@@ -18,7 +18,7 @@ if filename
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
if msg.sent_date_time
|
21
|
-
puts "Sent date: #{msg.sent_date_time}"
|
21
|
+
puts "Sent date: #{msg.sent_date_time.human}"
|
22
22
|
end
|
23
23
|
|
24
24
|
msg.products.each do |product|
|
@@ -140,9 +140,9 @@ if filename
|
|
140
140
|
end
|
141
141
|
end
|
142
142
|
|
143
|
-
current_price=product.current_price_amount_for('EUR', 'FR')
|
143
|
+
current_price = product.current_price_amount_for('EUR', 'FR')
|
144
144
|
if current_price
|
145
|
-
puts " Current EUR price for FR: #{current_price/100.0} EUR"
|
145
|
+
puts " Current EUR price for FR: #{current_price / 100.0} EUR"
|
146
146
|
end
|
147
147
|
|
148
148
|
if product.sold_separately?
|
@@ -150,26 +150,26 @@ if filename
|
|
150
150
|
puts " Supplies:"
|
151
151
|
|
152
152
|
product.supplies_with_default_tax.each do |supply|
|
153
|
-
# if supply[:availability_date]
|
154
|
-
# puts " Availability date : #{supply[:availability_date]}"
|
155
|
-
# end
|
156
|
-
output=" "
|
153
|
+
# if supply[:availability_date]
|
154
|
+
# puts " Availability date : #{supply[:availability_date]}"
|
155
|
+
# end
|
156
|
+
output = " "
|
157
157
|
|
158
158
|
if supply[:available]
|
159
|
-
output+="Available in "
|
159
|
+
output += "Available in "
|
160
160
|
else
|
161
|
-
output+="Not available in "
|
161
|
+
output += "Not available in "
|
162
162
|
end
|
163
163
|
|
164
164
|
if ONIX::Territory.worldwide?(supply[:territory])
|
165
|
-
output+="WORLD"
|
165
|
+
output += "WORLD"
|
166
166
|
else
|
167
|
-
output+=supply[:territory].join(", ")
|
167
|
+
output += supply[:territory].join(", ")
|
168
168
|
end
|
169
169
|
|
170
170
|
if supply[:availability_date]
|
171
|
-
output+=" starting #{supply[:availability_date]}"
|
172
|
-
output+=" (#{supply[:availability_date].to_date})" if supply[:availability_date].class==Time
|
171
|
+
output += " starting #{supply[:availability_date]}"
|
172
|
+
output += " (#{supply[:availability_date].to_date})" if supply[:availability_date].class == Time
|
173
173
|
|
174
174
|
end
|
175
175
|
|
@@ -178,23 +178,23 @@ if filename
|
|
178
178
|
puts " Prices:"
|
179
179
|
|
180
180
|
supply[:prices].each do |price|
|
181
|
-
output=" "
|
181
|
+
output = " "
|
182
182
|
|
183
|
-
output+="#{price[:amount].to_f/100.0} #{supply[:currency]}"
|
183
|
+
output += "#{price[:amount].to_f / 100.0} #{supply[:currency]}"
|
184
184
|
|
185
185
|
if supply[:including_tax]
|
186
|
-
output+=" tax included"
|
186
|
+
output += " tax included"
|
187
187
|
else
|
188
|
-
output+=" tax excluded"
|
188
|
+
output += " tax excluded"
|
189
189
|
end
|
190
190
|
|
191
191
|
if price[:from_date]
|
192
|
-
output+=" from #{price[:from_date]}"
|
193
|
-
output+=" (#{price[:from_date].to_date})" if price[:from_date].class==Time
|
192
|
+
output += " from #{price[:from_date]}"
|
193
|
+
output += " (#{price[:from_date].to_date})" if price[:from_date].class == Time
|
194
194
|
end
|
195
195
|
if price[:until_date]
|
196
|
-
output+=" until #{price[:until_date]}"
|
197
|
-
output+=" (#{price[:until_date].to_date})" if price[:until_date].class==Time
|
196
|
+
output += " until #{price[:until_date]}"
|
197
|
+
output += " (#{price[:until_date].to_date})" if price[:until_date].class == Time
|
198
198
|
end
|
199
199
|
puts output
|
200
200
|
end
|
data/bin/onix_serialize.rb
CHANGED
@@ -1,27 +1,23 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
require 'im_onix'
|
3
3
|
require 'onix/serializer'
|
4
|
-
filename=ARGV[0]
|
5
|
-
|
4
|
+
filename = ARGV[0]
|
5
|
+
format = ARGV[1] || "dump"
|
6
|
+
version = ARGV[2]
|
6
7
|
|
7
8
|
if filename
|
8
|
-
msg=ONIX::ONIXMessage.new
|
9
|
+
msg = ONIX::ONIXMessage.new
|
9
10
|
msg.parse(filename, nil, version)
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
end
|
15
|
-
|
16
|
-
if false
|
11
|
+
case format
|
12
|
+
when "dump"
|
13
|
+
ONIX::Serializer::Dump.serialize(STDOUT, msg)
|
14
|
+
when "xml"
|
17
15
|
builder = Nokogiri::XML::Builder.new(:encoding => "UTF-8") do |xml|
|
18
|
-
xml
|
19
|
-
msg.products.each do |product|
|
20
|
-
ONIX::Serializer::Default::Subset.serialize(xml, "Product", product)
|
21
|
-
end
|
22
|
-
}
|
16
|
+
ONIX::Serializer::Default.serialize(xml, msg)
|
23
17
|
end
|
24
18
|
puts builder.to_xml
|
25
19
|
end
|
26
|
-
|
20
|
+
else
|
21
|
+
puts "ImOnix serializer"
|
22
|
+
puts "Usage: onix_serialize.rb file.xml [dump|xml] [3.0|2.1]"
|
27
23
|
end
|
@@ -5,8 +5,7 @@
|
|
5
5
|
'03': NotificationConfirmedOnPublication
|
6
6
|
'04': UpdatePartial
|
7
7
|
'05': Delete
|
8
|
-
08: NoticeOfSale
|
9
|
-
09: NoticeOfAcquisition
|
10
|
-
'
|
11
|
-
'
|
12
|
-
'14': UpdateSupplydetailAndMarketrepresentation
|
8
|
+
'08': NoticeOfSale
|
9
|
+
'09': NoticeOfAcquisition
|
10
|
+
'88': TestUpdatePartial
|
11
|
+
'89': TestRecord
|
@@ -3,13 +3,13 @@
|
|
3
3
|
'000': EpublicationContentPackage
|
4
4
|
'001': Html
|
5
5
|
'002': Pdf
|
6
|
-
'003':
|
6
|
+
'003': PdfMerchant
|
7
7
|
'004': AdobeEbookReader
|
8
8
|
'005': MicrosoftReaderLevel1level3
|
9
9
|
'006': MicrosoftReaderLevel5
|
10
10
|
'007': Netlibrary
|
11
|
-
008: Metatext
|
12
|
-
009: Mightywords
|
11
|
+
'008': Metatext
|
12
|
+
'009': Mightywords
|
13
13
|
'010': EreaderAkaPalmReader
|
14
14
|
'011': Softbook
|
15
15
|
'012': Rocketbook
|
@@ -18,8 +18,8 @@
|
|
18
18
|
'015': FranklinEbookman
|
19
19
|
'016': Books24x7
|
20
20
|
'017': Digitalowl
|
21
|
-
018: Handheldmed
|
22
|
-
019: Wizeup
|
21
|
+
'018': Handheldmed
|
22
|
+
'019': Wizeup
|
23
23
|
'020': Tk3
|
24
24
|
'021': Litraweb
|
25
25
|
'022': Mobipocket
|
@@ -28,8 +28,8 @@
|
|
28
28
|
'025': Txt
|
29
29
|
'026': Exebook
|
30
30
|
'027': SonyBbeb
|
31
|
-
028: VitalsourceBookshelf
|
32
|
-
029: Epub
|
31
|
+
'028': VitalsourceBookshelf
|
32
|
+
'029': Epub
|
33
33
|
'030': Myilibrary
|
34
34
|
'031': Kindle
|
35
35
|
'032': GoogleEdition
|
@@ -38,8 +38,8 @@
|
|
38
38
|
'035': Ebl
|
39
39
|
'036': Ebrary
|
40
40
|
'037': Isilo
|
41
|
-
038: Plucker
|
42
|
-
039: Vitalbook
|
41
|
+
'038': Plucker
|
42
|
+
'039': Vitalbook
|
43
43
|
'040': BookAppForIos
|
44
44
|
'041': AndroidApp
|
45
45
|
'042': OtherApp
|
@@ -47,5 +47,7 @@
|
|
47
47
|
'044': Ibook
|
48
48
|
'045': Epib
|
49
49
|
'046': Scorm
|
50
|
-
|
51
|
-
|
50
|
+
'047': Ebp
|
51
|
+
'048': PagePerfect
|
52
|
+
'098': MultipleFormats
|
53
|
+
'099': Unspecified
|
@@ -3,13 +3,18 @@
|
|
3
3
|
'01': UkOpenMarketEdition
|
4
4
|
'02': AirportEdition
|
5
5
|
'03': Sonderausgabe
|
6
|
-
'04':
|
6
|
+
'04': PocketBook
|
7
7
|
'05': InternationalEditionUs
|
8
8
|
'06': LibraryAudioEdition
|
9
9
|
'07': UsOpenMarketEdition
|
10
|
-
08:
|
11
|
-
09:
|
10
|
+
'08': LivreScolaireDeclareParLediteur
|
11
|
+
'09': LivreScolaireNonSpecifie
|
12
12
|
'10': SupplementToNewspaper
|
13
13
|
'11': PrecioLibreTextbook
|
14
14
|
'12': NewsOutletEdition
|
15
15
|
'13': UsTextbook
|
16
|
+
'14': EBookShort
|
17
|
+
'15': SuperpocketBook
|
18
|
+
'16': BeauLivre
|
19
|
+
'17': Podcast
|
20
|
+
'18': Periodical
|
@@ -1,7 +1,11 @@
|
|
1
1
|
---
|
2
2
|
:codelist:
|
3
|
+
Adlm: Adlam
|
3
4
|
Afak: Afaka
|
5
|
+
Aghb: CaucasianAlbanian
|
6
|
+
Ahom: AhomTaiAhom
|
4
7
|
Arab: Arabic
|
8
|
+
Aran: ArabicNastaliqVariant
|
5
9
|
Armi: ImperialAramaic
|
6
10
|
Armn: Armenian
|
7
11
|
Avst: Avestan
|
@@ -9,7 +13,8 @@
|
|
9
13
|
Bamu: Bamun
|
10
14
|
Bass: BassaVah
|
11
15
|
Batk: Batak
|
12
|
-
Beng:
|
16
|
+
Beng: BengaliBangla
|
17
|
+
Bhks: Bhaiksuki
|
13
18
|
Blis: Blissymbols
|
14
19
|
Bopo: Bopomofo
|
15
20
|
Brah: Brahmi
|
@@ -27,6 +32,7 @@
|
|
27
32
|
Cyrl: Cyrillic
|
28
33
|
Cyrs: CyrillicOldChurchSlavonicVariant
|
29
34
|
Deva: DevanagariNagari
|
35
|
+
Dogr: Dogra
|
30
36
|
Dsrt: DeseretMormon
|
31
37
|
Dupl: DuployanShorthandDuployanStenography
|
32
38
|
Egyd: EgyptianDemotic
|
@@ -35,43 +41,52 @@
|
|
35
41
|
Elba: Elbasan
|
36
42
|
Ethi: EthiopicGeez
|
37
43
|
Geok: KhutsuriAsomtavruliAndKhutsuri
|
38
|
-
Geor:
|
44
|
+
Geor: GeorgianMkhedruliAndMtavruli
|
39
45
|
Glag: Glagolitic
|
46
|
+
Gong: GunjalaGondi
|
47
|
+
Gonm: MasaramGondi
|
40
48
|
Goth: Gothic
|
41
49
|
Gran: Grantha
|
42
50
|
Grek: Greek
|
43
51
|
Gujr: Gujarati
|
44
52
|
Guru: Gurmukhi
|
45
|
-
|
53
|
+
Hanb: HanWithBopomofo
|
54
|
+
Hang: HangulHangulHangeul
|
46
55
|
Hani: HanHanziKanjiHanja
|
47
|
-
Hano:
|
56
|
+
Hano: HanunooHanunoo
|
48
57
|
Hans: HanSimplifiedVariant
|
49
58
|
Hant: HanTraditionalVariant
|
59
|
+
Hatr: Hatran
|
50
60
|
Hebr: Hebrew
|
51
61
|
Hira: Hiragana
|
62
|
+
Hluw: AnatolianHieroglyphsLuwianHieroglyphsHittiteHieroglyphs
|
52
63
|
Hmng: PahawhHmong
|
53
64
|
Hrkt: JapaneseSyllabariesAliasForHiraganaKatakana
|
54
|
-
Hung:
|
65
|
+
Hung: OldHungarianHungarianRunic
|
55
66
|
Inds: IndusHarappan
|
56
67
|
Ital: OldItalicEtruscanOscanEtc
|
68
|
+
Jamo: JamoAliasForJamoSubsetOfHangul
|
57
69
|
Java: Javanese
|
58
|
-
Jpan:
|
70
|
+
Jpan: JapaneseAliasForHanHiraganaKatakana
|
59
71
|
Jurc: Jurchen
|
60
72
|
Kali: KayahLi
|
61
73
|
Kana: Katakana
|
62
74
|
Khar: Kharoshthi
|
63
75
|
Khmr: Khmer
|
64
76
|
Khoj: Khojki
|
77
|
+
Kitl: KhitanLargeScript
|
78
|
+
Kits: KhitanSmallScript
|
65
79
|
Knda: Kannada
|
66
80
|
Kore: KoreanAliasForHangulHan
|
67
81
|
Kpel: Kpelle
|
68
82
|
Kthi: Kaithi
|
69
|
-
Lana:
|
83
|
+
Lana: TaiThamLanna
|
70
84
|
Laoo: Lao
|
71
85
|
Latf: LatinFrakturVariant
|
72
86
|
Latg: LatinGaelicVariant
|
73
87
|
Latn: Latin
|
74
|
-
|
88
|
+
Leke: Leke
|
89
|
+
Lepc: LepchaRong
|
75
90
|
Limb: Limbu
|
76
91
|
Lina: LinearA
|
77
92
|
Linb: LinearB
|
@@ -79,36 +94,46 @@
|
|
79
94
|
Loma: Loma
|
80
95
|
Lyci: Lycian
|
81
96
|
Lydi: Lydian
|
97
|
+
Mahj: Mahajani
|
98
|
+
Maka: Makasar
|
82
99
|
Mand: MandaicMandaean
|
83
100
|
Mani: Manichaean
|
101
|
+
Marc: Marchen
|
84
102
|
Maya: MayanHieroglyphs
|
85
|
-
|
103
|
+
Medf: MedefaidrinOberiOkaimeOberiOkaime
|
104
|
+
Mend: MendeKikakui
|
86
105
|
Merc: MeroiticCursive
|
87
106
|
Mero: MeroiticHieroglyphs
|
88
107
|
Mlym: Malayalam
|
108
|
+
Modi: ModiModi
|
89
109
|
Mong: Mongolian
|
90
110
|
Moon: MoonMoonCodeMoonScriptMoonType
|
91
111
|
Mroo: MroMru
|
92
112
|
Mtei: MeiteiMayekMeitheiMeetei
|
113
|
+
Mult: Multani
|
93
114
|
Mymr: MyanmarBurmese
|
94
115
|
Narb: OldNorthArabianAncientNorthArabian
|
95
116
|
Nbat: Nabatean
|
96
|
-
|
117
|
+
Newa: NewaNewarNewariNepalaLipi
|
118
|
+
Nkgb: NakhiGebaNaKhi2ggo1bawNaxiGeba
|
97
119
|
Nkoo: Nko
|
98
|
-
Nshu:
|
120
|
+
Nshu: Nushu
|
99
121
|
Ogam: Ogham
|
100
122
|
Olck: OlChikiOlCemetOlSantali
|
101
123
|
Orkh: OldTurkicOrkhonRunic
|
102
|
-
Orya:
|
124
|
+
Orya: OriyaOdia
|
125
|
+
Osge: Osage
|
103
126
|
Osma: Osmanya
|
104
127
|
Palm: Palmyrene
|
128
|
+
Pauc: PauCinHau
|
105
129
|
Perm: OldPermic
|
106
|
-
Phag:
|
130
|
+
Phag: PhagsPa
|
107
131
|
Phli: InscriptionalPahlavi
|
108
132
|
Phlp: PsalterPahlavi
|
109
133
|
Phlv: BookPahlavi
|
110
134
|
Phnx: Phoenician
|
111
135
|
Plrd: MiaoPollard
|
136
|
+
Piqd: KlingonKliPlqad
|
112
137
|
Prti: InscriptionalParthian
|
113
138
|
Qaaa: ReservedForPrivateUseStart
|
114
139
|
Qabx: ReservedForPrivateUseEnd
|
@@ -121,10 +146,12 @@
|
|
121
146
|
Saur: Saurashtra
|
122
147
|
Sgnw: Signwriting
|
123
148
|
Shaw: ShavianShaw
|
124
|
-
Shrd:
|
149
|
+
Shrd: SharadaSarada
|
150
|
+
Sidd: SiddhamSiddhamSiddhamatrka
|
125
151
|
Sind: KhudawadiSindhi
|
126
152
|
Sinh: Sinhala
|
127
153
|
Sora: SoraSompeng
|
154
|
+
Soyo: Soyombo
|
128
155
|
Sund: Sundanese
|
129
156
|
Sylo: SylotiNagri
|
130
157
|
Syrc: Syriac
|
@@ -132,7 +159,7 @@
|
|
132
159
|
Syrj: SyriacWesternVariant
|
133
160
|
Syrn: SyriacEasternVariant
|
134
161
|
Tagb: Tagbanwa
|
135
|
-
Takr:
|
162
|
+
Takr: TakriTakriTankri
|
136
163
|
Tale: TaiLe
|
137
164
|
Talu: NewTaiLue
|
138
165
|
Taml: Tamil
|
@@ -145,17 +172,19 @@
|
|
145
172
|
Thaa: Thaana
|
146
173
|
Thai: Thai
|
147
174
|
Tibt: Tibetan
|
148
|
-
Tirh:
|
175
|
+
Tirh: Tirhuta
|
149
176
|
Ugar: Ugaritic
|
150
177
|
Vaii: Vai
|
151
178
|
Visp: VisibleSpeech
|
152
179
|
Wara: WarangCitiVarangKshiti
|
153
180
|
Wole: Woleai
|
154
181
|
Xpeo: OldPersian
|
155
|
-
Xsux:
|
182
|
+
Xsux: CuneiformSumeroAkkadian
|
156
183
|
Yiii: Yi
|
184
|
+
Zanb: ZanabazarSquareZanabazarinDorboljinUsegXewteeDorboljinBicigHorizontalSquareScript
|
157
185
|
Zinh: CodeForInheritedScript
|
158
186
|
Zmth: MathematicalNotation
|
187
|
+
Zsye: SymbolsEmojiVariant
|
159
188
|
Zsym: Symbols
|
160
189
|
Zxxx: CodeForUnwrittenDocuments
|
161
190
|
Zyyy: CodeForUndeterminedScript
|