im_onix 1.1.1 → 1.2.2

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.
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