im_onix 1.1.1 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (303) hide show
  1. checksums.yaml +4 -4
  2. data/bin/html_codelist_to_yml.rb +10 -6
  3. data/bin/onix_bench.rb +9 -4
  4. data/bin/onix_pp.rb +26 -26
  5. data/bin/onix_serialize.rb +12 -16
  6. data/data/codelists/codelist-1.yml +4 -5
  7. data/data/codelists/codelist-10.yml +13 -11
  8. data/data/codelists/codelist-100.yml +1 -0
  9. data/data/codelists/codelist-102.yml +3 -2
  10. data/data/codelists/codelist-11.yml +2 -2
  11. data/data/codelists/codelist-12.yml +8 -3
  12. data/data/codelists/codelist-121.yml +46 -17
  13. data/data/codelists/codelist-13.yml +3 -0
  14. data/data/codelists/codelist-139.yml +83 -9
  15. data/data/codelists/codelist-141.yml +4 -4
  16. data/data/codelists/codelist-142.yml +2 -2
  17. data/data/codelists/codelist-143.yml +11 -0
  18. data/data/codelists/codelist-144.yml +2 -2
  19. data/data/codelists/codelist-145.yml +4 -1
  20. data/data/codelists/codelist-147.yml +18 -2
  21. data/data/codelists/codelist-149.yml +1 -0
  22. data/data/codelists/codelist-15.yml +2 -1
  23. data/data/codelists/codelist-150.yml +46 -26
  24. data/data/codelists/codelist-151.yml +4 -1
  25. data/data/codelists/codelist-153.yml +19 -4
  26. data/data/codelists/codelist-154.yml +4 -2
  27. data/data/codelists/codelist-155.yml +3 -1
  28. data/data/codelists/codelist-156.yml +1 -0
  29. data/data/codelists/codelist-158.yml +18 -0
  30. data/data/codelists/codelist-159.yml +1 -1
  31. data/data/codelists/codelist-16.yml +3 -0
  32. data/data/codelists/codelist-160.yml +2 -0
  33. data/data/codelists/codelist-162.yml +2 -0
  34. data/data/codelists/codelist-163.yml +8 -3
  35. data/data/codelists/codelist-165.yml +3 -0
  36. data/data/codelists/codelist-166.yml +7 -2
  37. data/data/codelists/codelist-167.yml +6 -0
  38. data/data/codelists/codelist-168.yml +1 -0
  39. data/data/codelists/codelist-169.yml +2 -2
  40. data/data/codelists/codelist-17.yml +20 -2
  41. data/data/codelists/codelist-170.yml +5 -1
  42. data/data/codelists/codelist-171.yml +1 -0
  43. data/data/codelists/codelist-173.yml +1 -1
  44. data/data/codelists/codelist-175.yml +113 -35
  45. data/data/codelists/codelist-176.yml +2 -2
  46. data/data/codelists/codelist-177.yml +1 -0
  47. data/data/codelists/codelist-178.yml +6 -0
  48. data/data/codelists/codelist-179.yml +1 -0
  49. data/data/codelists/codelist-18.yml +3 -1
  50. data/data/codelists/codelist-184.yml +1 -0
  51. data/data/codelists/codelist-19.yml +5 -4
  52. data/data/codelists/codelist-196.yml +16 -4
  53. data/data/codelists/codelist-197.yml +2 -0
  54. data/data/codelists/codelist-198.yml +7 -0
  55. data/data/codelists/codelist-2.yml +6 -6
  56. data/data/codelists/codelist-20.yml +10 -1
  57. data/data/codelists/codelist-203.yml +1 -1
  58. data/data/codelists/codelist-204.yml +4 -0
  59. data/data/codelists/codelist-21.yml +24 -19
  60. data/data/codelists/codelist-215.yml +9 -0
  61. data/data/codelists/codelist-216.yml +11 -0
  62. data/data/codelists/codelist-217.yml +9 -0
  63. data/data/codelists/codelist-218.yml +5 -0
  64. data/data/codelists/codelist-219.yml +5 -0
  65. data/data/codelists/codelist-22.yml +5 -4
  66. data/data/codelists/codelist-220.yml +10 -0
  67. data/data/codelists/codelist-221.yml +6 -0
  68. data/data/codelists/codelist-222.yml +4 -0
  69. data/data/codelists/codelist-223.yml +4 -0
  70. data/data/codelists/codelist-224.yml +8 -0
  71. data/data/codelists/codelist-225.yml +4 -0
  72. data/data/codelists/codelist-226.yml +7 -0
  73. data/data/codelists/codelist-227.yml +21 -0
  74. data/data/codelists/codelist-228.yml +3 -0
  75. data/data/codelists/codelist-229.yml +5 -0
  76. data/data/codelists/codelist-23.yml +5 -3
  77. data/data/codelists/codelist-230.yml +8 -0
  78. data/data/codelists/codelist-238.yml +23 -0
  79. data/data/codelists/codelist-239.yml +4 -0
  80. data/data/codelists/codelist-24.yml +3 -0
  81. data/data/codelists/codelist-240.yml +6 -0
  82. data/data/codelists/codelist-241.yml +9 -0
  83. data/data/codelists/codelist-242.yml +24 -0
  84. data/data/codelists/codelist-243.yml +9 -0
  85. data/data/codelists/codelist-244.yml +3 -0
  86. data/data/codelists/codelist-245.yml +5 -0
  87. data/data/codelists/codelist-246.yml +4 -0
  88. data/data/codelists/codelist-247.yml +4 -0
  89. data/data/codelists/codelist-25.yml +4 -2
  90. data/data/codelists/codelist-26.yml +28 -18
  91. data/data/codelists/codelist-27.yml +35 -19
  92. data/data/codelists/codelist-28.yml +2 -1
  93. data/data/codelists/codelist-29.yml +8 -3
  94. data/data/codelists/codelist-3.yml +5 -2
  95. data/data/codelists/codelist-30.yml +6 -2
  96. data/data/codelists/codelist-32.yml +7 -0
  97. data/data/codelists/codelist-33.yml +6 -2
  98. data/data/codelists/codelist-34.yml +0 -11
  99. data/data/codelists/codelist-38.yml +1 -1
  100. data/data/codelists/codelist-39.yml +2 -2
  101. data/data/codelists/codelist-41.yml +4 -3
  102. data/data/codelists/codelist-42.yml +0 -12
  103. data/data/codelists/codelist-43.yml +3 -1
  104. data/data/codelists/codelist-44.yml +16 -3
  105. data/data/codelists/codelist-45.yml +8 -3
  106. data/data/codelists/codelist-46.yml +4 -4
  107. data/data/codelists/codelist-48.yml +20 -2
  108. data/data/codelists/codelist-49.yml +268 -1
  109. data/data/codelists/codelist-5.yml +6 -3
  110. data/data/codelists/codelist-51.yml +11 -5
  111. data/data/codelists/codelist-55.yml +2 -2
  112. data/data/codelists/codelist-57.yml +1 -0
  113. data/data/codelists/codelist-58.yml +14 -12
  114. data/data/codelists/codelist-59.yml +10 -1
  115. data/data/codelists/codelist-6.yml +39 -39
  116. data/data/codelists/codelist-60.yml +1 -1
  117. data/data/codelists/codelist-62.yml +2 -1
  118. data/data/codelists/codelist-64.yml +3 -2
  119. data/data/codelists/codelist-65.yml +1 -0
  120. data/data/codelists/codelist-68.yml +2 -2
  121. data/data/codelists/codelist-69.yml +2 -2
  122. data/data/codelists/codelist-7.yml +21 -17
  123. data/data/codelists/codelist-71.yml +16 -6
  124. data/data/codelists/codelist-73.yml +7 -5
  125. data/data/codelists/codelist-74.yml +59 -31
  126. data/data/codelists/codelist-75.yml +1 -1
  127. data/data/codelists/codelist-76.yml +3 -3
  128. data/data/codelists/codelist-78.yml +52 -26
  129. data/data/codelists/codelist-79.yml +16 -7
  130. data/data/codelists/codelist-8.yml +3 -3
  131. data/data/codelists/codelist-80.yml +6 -5
  132. data/data/codelists/codelist-81.yml +8 -5
  133. data/data/codelists/codelist-83.yml +3 -2
  134. data/data/codelists/codelist-85.yml +1 -1
  135. data/data/codelists/codelist-9.yml +7 -3
  136. data/data/codelists/codelist-90.yml +2 -2
  137. data/data/codelists/codelist-91.yml +11 -11
  138. data/data/codelists/codelist-92.yml +1 -1
  139. data/data/codelists/codelist-93.yml +9 -6
  140. data/data/codelists/codelist-96.yml +45 -40
  141. data/data/codelists/codelist-98.yml +6 -3
  142. data/data/codelists/codelist-99.yml +8 -5
  143. data/data/onix21/codelists/codelist-1.yml +2 -2
  144. data/data/onix21/codelists/codelist-10.yml +12 -12
  145. data/data/onix21/codelists/codelist-11.yml +2 -2
  146. data/data/onix21/codelists/codelist-12.yml +3 -3
  147. data/data/onix21/codelists/codelist-121.yml +9 -9
  148. data/data/onix21/codelists/codelist-13.yml +1 -1
  149. data/data/onix21/codelists/codelist-139.yml +6 -6
  150. data/data/onix21/codelists/codelist-141.yml +4 -4
  151. data/data/onix21/codelists/codelist-142.yml +2 -2
  152. data/data/onix21/codelists/codelist-145.yml +2 -2
  153. data/data/onix21/codelists/codelist-147.yml +2 -2
  154. data/data/onix21/codelists/codelist-148.yml +1 -1
  155. data/data/onix21/codelists/codelist-149.yml +1 -1
  156. data/data/onix21/codelists/codelist-15.yml +1 -1
  157. data/data/onix21/codelists/codelist-150.yml +23 -23
  158. data/data/onix21/codelists/codelist-151.yml +1 -1
  159. data/data/onix21/codelists/codelist-153.yml +3 -3
  160. data/data/onix21/codelists/codelist-154.yml +2 -2
  161. data/data/onix21/codelists/codelist-155.yml +1 -1
  162. data/data/onix21/codelists/codelist-158.yml +2 -2
  163. data/data/onix21/codelists/codelist-159.yml +1 -1
  164. data/data/onix21/codelists/codelist-163.yml +2 -2
  165. data/data/onix21/codelists/codelist-166.yml +1 -1
  166. data/data/onix21/codelists/codelist-169.yml +2 -2
  167. data/data/onix21/codelists/codelist-17.yml +2 -2
  168. data/data/onix21/codelists/codelist-173.yml +1 -1
  169. data/data/onix21/codelists/codelist-175.yml +23 -23
  170. data/data/onix21/codelists/codelist-176.yml +2 -2
  171. data/data/onix21/codelists/codelist-18.yml +1 -1
  172. data/data/onix21/codelists/codelist-196.yml +4 -4
  173. data/data/onix21/codelists/codelist-2.yml +6 -6
  174. data/data/onix21/codelists/codelist-203.yml +1 -1
  175. data/data/onix21/codelists/codelist-21.yml +1 -1
  176. data/data/onix21/codelists/codelist-216.yml +2 -2
  177. data/data/onix21/codelists/codelist-218.yml +1 -1
  178. data/data/onix21/codelists/codelist-22.yml +3 -3
  179. data/data/onix21/codelists/codelist-23.yml +2 -2
  180. data/data/onix21/codelists/codelist-25.yml +2 -2
  181. data/data/onix21/codelists/codelist-26.yml +18 -18
  182. data/data/onix21/codelists/codelist-27.yml +18 -18
  183. data/data/onix21/codelists/codelist-28.yml +1 -1
  184. data/data/onix21/codelists/codelist-29.yml +3 -3
  185. data/data/onix21/codelists/codelist-3.yml +2 -2
  186. data/data/onix21/codelists/codelist-30.yml +1 -1
  187. data/data/onix21/codelists/codelist-32.yml +1 -1
  188. data/data/onix21/codelists/codelist-33.yml +2 -2
  189. data/data/onix21/codelists/codelist-34.yml +2 -2
  190. data/data/onix21/codelists/codelist-38.yml +1 -1
  191. data/data/onix21/codelists/codelist-39.yml +2 -2
  192. data/data/onix21/codelists/codelist-41.yml +3 -3
  193. data/data/onix21/codelists/codelist-43.yml +1 -1
  194. data/data/onix21/codelists/codelist-44.yml +2 -2
  195. data/data/onix21/codelists/codelist-45.yml +4 -4
  196. data/data/onix21/codelists/codelist-46.yml +3 -3
  197. data/data/onix21/codelists/codelist-48.yml +2 -2
  198. data/data/onix21/codelists/codelist-49.yml +12 -12
  199. data/data/onix21/codelists/codelist-5.yml +3 -3
  200. data/data/onix21/codelists/codelist-51.yml +3 -3
  201. data/data/onix21/codelists/codelist-55.yml +2 -2
  202. data/data/onix21/codelists/codelist-58.yml +10 -10
  203. data/data/onix21/codelists/codelist-59.yml +2 -2
  204. data/data/onix21/codelists/codelist-6.yml +36 -36
  205. data/data/onix21/codelists/codelist-60.yml +1 -1
  206. data/data/onix21/codelists/codelist-62.yml +1 -1
  207. data/data/onix21/codelists/codelist-64.yml +2 -2
  208. data/data/onix21/codelists/codelist-68.yml +2 -2
  209. data/data/onix21/codelists/codelist-69.yml +2 -2
  210. data/data/onix21/codelists/codelist-7.yml +17 -17
  211. data/data/onix21/codelists/codelist-71.yml +2 -2
  212. data/data/onix21/codelists/codelist-73.yml +5 -5
  213. data/data/onix21/codelists/codelist-74.yml +28 -28
  214. data/data/onix21/codelists/codelist-75.yml +1 -1
  215. data/data/onix21/codelists/codelist-76.yml +3 -3
  216. data/data/onix21/codelists/codelist-78.yml +24 -24
  217. data/data/onix21/codelists/codelist-79.yml +6 -6
  218. data/data/onix21/codelists/codelist-8.yml +3 -3
  219. data/data/onix21/codelists/codelist-80.yml +5 -5
  220. data/data/onix21/codelists/codelist-81.yml +4 -4
  221. data/data/onix21/codelists/codelist-83.yml +2 -2
  222. data/data/onix21/codelists/codelist-85.yml +1 -1
  223. data/data/onix21/codelists/codelist-9.yml +3 -3
  224. data/data/onix21/codelists/codelist-90.yml +2 -2
  225. data/data/onix21/codelists/codelist-91.yml +6 -6
  226. data/data/onix21/codelists/codelist-92.yml +1 -1
  227. data/data/onix21/codelists/codelist-93.yml +6 -6
  228. data/data/onix21/codelists/codelist-96.yml +1 -1
  229. data/data/onix21/codelists/codelist-98.yml +2 -2
  230. data/data/onix21/codelists/codelist-99.yml +4 -4
  231. data/im_onix.gemspec +1 -1
  232. data/lib/onix/addressee.rb +4 -3
  233. data/lib/onix/ancillary_content.rb +7 -0
  234. data/lib/onix/audience.rb +7 -0
  235. data/lib/onix/audience_range.rb +9 -0
  236. data/lib/onix/builder.rb +181 -0
  237. data/lib/onix/cited_content.rb +15 -0
  238. data/lib/onix/code.rb +285 -6
  239. data/lib/onix/collateral_detail.rb +9 -13
  240. data/lib/onix/collection.rb +11 -4
  241. data/lib/onix/collection_sequence.rb +3 -3
  242. data/lib/onix/comparison_product_price.rb +17 -0
  243. data/lib/onix/complexity.rb +6 -0
  244. data/lib/onix/content_detail.rb +7 -0
  245. data/lib/onix/content_item.rb +32 -0
  246. data/lib/onix/contributor.rb +42 -34
  247. data/lib/onix/contributor_place.rb +12 -0
  248. data/lib/onix/copyright_statement.rb +7 -0
  249. data/lib/onix/date.rb +77 -47
  250. data/lib/onix/descriptive_detail.rb +56 -25
  251. data/lib/onix/discount.rb +9 -0
  252. data/lib/onix/discount_coded.rb +3 -3
  253. data/lib/onix/entity.rb +16 -36
  254. data/lib/onix/epub_license.rb +8 -0
  255. data/lib/onix/epub_license_expression.rb +7 -0
  256. data/lib/onix/epub_usage_constraint.rb +5 -3
  257. data/lib/onix/epub_usage_limit.rb +2 -2
  258. data/lib/onix/error.rb +2 -0
  259. data/lib/onix/extent.rb +4 -3
  260. data/lib/onix/header.rb +17 -0
  261. data/lib/onix/identifier.rb +29 -13
  262. data/lib/onix/language.rb +5 -2
  263. data/lib/onix/market.rb +2 -1
  264. data/lib/onix/market_publishing_detail.rb +13 -3
  265. data/lib/onix/measure.rb +7 -0
  266. data/lib/onix/onix_message.rb +36 -48
  267. data/lib/onix/page_run.rb +6 -0
  268. data/lib/onix/price.rb +33 -9
  269. data/lib/onix/prize.rb +11 -0
  270. data/lib/onix/product.rb +31 -11
  271. data/lib/onix/product_classification.rb +8 -0
  272. data/lib/onix/product_contact.rb +11 -0
  273. data/lib/onix/product_part.rb +18 -8
  274. data/lib/onix/product_supply.rb +3 -3
  275. data/lib/onix/professional_affiliation.rb +6 -0
  276. data/lib/onix/publishing_detail.rb +16 -9
  277. data/lib/onix/related_material.rb +2 -2
  278. data/lib/onix/related_product.rb +8 -4
  279. data/lib/onix/related_work.rb +2 -2
  280. data/lib/onix/resource_feature.rb +9 -0
  281. data/lib/onix/resource_version.rb +82 -0
  282. data/lib/onix/resource_version_feature.rb +22 -0
  283. data/lib/onix/returns_conditions.rb +8 -0
  284. data/lib/onix/review_rating.rb +7 -0
  285. data/lib/onix/sales_outlet.rb +10 -2
  286. data/lib/onix/sales_restriction.rb +6 -16
  287. data/lib/onix/sales_rights.rb +6 -3
  288. data/lib/onix/sender.rb +4 -4
  289. data/lib/onix/serializer.rb +130 -86
  290. data/lib/onix/subject.rb +10 -6
  291. data/lib/onix/subset.rb +125 -24
  292. data/lib/onix/supplier_own_coding.rb +7 -0
  293. data/lib/onix/supply_contact.rb +9 -0
  294. data/lib/onix/supply_detail.rb +20 -5
  295. data/lib/onix/supporting_resource.rb +8 -113
  296. data/lib/onix/tax.rb +11 -5
  297. data/lib/onix/territory.rb +4 -4
  298. data/lib/onix/text_content.rb +13 -0
  299. data/lib/onix/text_item.rb +12 -0
  300. data/lib/onix/title_detail.rb +3 -3
  301. data/lib/onix/title_element.rb +15 -13
  302. data/lib/onix/website.rb +4 -3
  303. metadata +58 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 291ef6c16051d0bf41321eab30c7b1217dd472242f9251d041c06fd48791726a
4
- data.tar.gz: 749fb1ff1be0edd0d1711e8663f9d4a7c1091ba965da558a0b924a4937deefae
3
+ metadata.gz: 0f4feeceb8c2275507ee70aac9c2eb2cf8cc335d14ae60fb480b8493b539ecd9
4
+ data.tar.gz: ead4f5e2dfb4e4a5cbcd14c14a5a3f8efe0004aac253c9c26aab3a91500d689a
5
5
  SHA512:
6
- metadata.gz: 0eb7dac0735de679d3be0b217b0c59c86304a759055d93d344c01291e31a745ad786eaa557f404748b7c3d99f5b7f246d5adb921843a47e4a89f2fe9f389af65
7
- data.tar.gz: 01633b2daeb2a326869e47c0a512a160119e7c62055958a69dfb915b2fc3ff790114176a15c770bed389c6694c36eb7e7a843647c905fe6c094ccb5e806b648a
6
+ metadata.gz: 8a4c862b06d7613c47a9395737227d0f212f76a7780cba9832060a613e2fc0f0a1ee445e937d08e59921a788c93fc60ff38a3d571a1e8cbc4c46864b1b046215
7
+ data.tar.gz: f0c1496ae0a1b33d8b10a2e8403383e6918f51982bfe946eceac4111aac12ee543454a68d74211102f2193b73043c036425b3b3ac7890d279b0f995097115c4a
@@ -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(/\(|\)|\,|\-|’|\/|“|”|‘|\.|\:|–|\||\+/, "").gsub(/\;/, " Or ").gsub(/\s+/, " ").split(" ").map { |t| t.capitalize }.join("")
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[1]}/*.htm`.split(/\n/)
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("data/codelists/codelist-#{codelist}.yml", 'w') do |fw|
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,20 @@
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
- bench=Benchmark.measure do
9
- msg=ONIX::ONIXMessage.new
9
+ GC.start
10
+ old_memsize = ObjectSpace.count_objects_size[:TOTAL]
11
+ msg = ONIX::ONIXMessage.new
12
+ bench = Benchmark.measure do
10
13
  msg.parse(filename)
11
14
  end
12
- puts bench
15
+ GC.start
16
+ new_memsize = ObjectSpace.count_objects_size[:TOTAL]
17
+ puts "Parsed #{msg.products.length} products in #{bench.real.round(3)} seconds resulting in use of #{new_memsize - old_memsize} bytes of memory"
13
18
  else
14
19
  puts "ImOnix parse benchmark"
15
20
  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
@@ -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
- version=ARGV[1]
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
- if true
11
- msg.products.each do |product|
12
- ONIX::Serializer::Dump::Subset.serialize(STDOUT, "Product", product)
13
- end
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.ONIXMessage {
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
- '12': UpdateSupplydetailOnly
11
- '13': UpdateMarketrepresentationOnly
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': Pdfmerchant
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
- 098: MultipleFormats
51
- 099: Unspecified
50
+ '047': Ebp
51
+ '048': PagePerfect
52
+ '098': MultipleFormats
53
+ '099': Unspecified
@@ -6,3 +6,4 @@
6
6
  '04': GermanTermsCode
7
7
  '05': ProprietaryCommissionCode
8
8
  '06': BicCommissionGroupCode
9
+ '07': IsniBasedDiscountGroupCode
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  :codelist:
3
3
  '01': Proprietary
4
- '02': BicSalesOutletIdCode
5
- '03': OnixSalesOutletIdCode
4
+ '03': OnixRetailSalesOutletIdCode
5
+ '04': RetailSalesOutletGln
6
+ '05': RetailSalesOutletSan
@@ -7,7 +7,7 @@
7
7
  '05': RichTextFormatRtf
8
8
  '06': OpenEbookPublicationStructureOebpsFormatStandard
9
9
  '07': Xml
10
- 08: Sgml
11
- 09: Exe
10
+ '08': Sgml
11
+ '09': Exe
12
12
  '10': Ascii
13
13
  '11': MobipocketFormat
@@ -3,13 +3,18 @@
3
3
  '01': UkOpenMarketEdition
4
4
  '02': AirportEdition
5
5
  '03': Sonderausgabe
6
- '04': PocketPaperback
6
+ '04': PocketBook
7
7
  '05': InternationalEditionUs
8
8
  '06': LibraryAudioEdition
9
9
  '07': UsOpenMarketEdition
10
- 08: LivreScolaireDéclaréParLéditeur
11
- 09: LivreScolaireNonSpécifié
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: Bengali
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: GeorgianMkhedruli
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
- Hang: HangulHangŭlHangeul
53
+ Hanb: HanWithBopomofo
54
+ Hang: HangulHangulHangeul
46
55
  Hani: HanHanziKanjiHanja
47
- Hano: HanunooHanunóo
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: OldHungarian
65
+ Hung: OldHungarianHungarianRunic
55
66
  Inds: IndusHarappan
56
67
  Ital: OldItalicEtruscanOscanEtc
68
+ Jamo: JamoAliasForJamoSubsetOfHangul
57
69
  Java: Javanese
58
- Jpan: JapaneseSyllabariesAliasForHanHiraganaKatakana
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: LannaTaiTham
83
+ Lana: TaiThamLanna
70
84
  Laoo: Lao
71
85
  Latf: LatinFrakturVariant
72
86
  Latg: LatinGaelicVariant
73
87
  Latn: Latin
74
- Lepc: LepchaRóng
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
- Mend: Mende
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
- Nkgb: NakhiGebaNakhi²ggŏ¹bawNaxiGeba
117
+ Newa: NewaNewarNewariNepalaLipi
118
+ Nkgb: NakhiGebaNaKhi2ggo1bawNaxiGeba
97
119
  Nkoo: Nko
98
- Nshu: Nüshu
120
+ Nshu: Nushu
99
121
  Ogam: Ogham
100
122
  Olck: OlChikiOlCemetOlSantali
101
123
  Orkh: OldTurkicOrkhonRunic
102
- Orya: Oriya
124
+ Orya: OriyaOdia
125
+ Osge: Osage
103
126
  Osma: Osmanya
104
127
  Palm: Palmyrene
128
+ Pauc: PauCinHau
105
129
  Perm: OldPermic
106
- Phag: Phagspa
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: SharadaŚāradā
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: TakriṬākrīṬāṅkrī
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: Tiruta
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: CuneiformSumeroakkadian
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